diff --git a/disclaimers.json b/disclaimers.json index 36121d9591b..b2f26c2bc6d 100644 --- a/disclaimers.json +++ b/disclaimers.json @@ -8,24 +8,20 @@ "package": "@google-cloud/access-context-manager" }, { - "api": "advisorynotifications", - "package": "@google-cloud/advisorynotifications" + "api": "addressvalidation", + "package": "@googlemaps/addressvalidation" }, { - "api": "notebooks", - "package": "@google-cloud/notebooks" + "api": "advisorynotifications", + "package": "@google-cloud/advisorynotifications" }, { "api": "alloydb", "package": "@google-cloud/alloydb" }, { - "api": "bigquerydatapolicy", - "package": "@google-cloud/bigquery-data-exchange" - }, - { - "api": "gkemulticloud", - "package": "@google-cloud/gkemulticloud" + "api": "analyticshub", + "package": "@google-cloud/bigquery-analyticshub" }, { "api": "apigateway", @@ -39,6 +35,10 @@ "api": "apigeeconnect", "package": "@google-cloud/apigee-connect" }, + { + "api": "apigeeregistry", + "package": "@google-cloud/apigee-registry" + }, { "api": "appengine", "package": "@google-cloud/appengine-admin" @@ -59,10 +59,6 @@ "api": "automl", "package": "@google-cloud/automl" }, - { - "api": "backupdr", - "package": "@google-cloud/backupdr" - }, { "api": "gkebackup", "package": "@google-cloud/gke-backup" @@ -71,18 +67,50 @@ "api": "baremetalsolution", "package": "@google-cloud/bare-metal-solution" }, + { + "api": "batch", + "package": "@google-cloud/batch" + }, { "api": "beyondcorp", "package": "@google-cloud/appconnections" }, { - "api": "analyticshub", + "api": "beyondcorp", + "package": "@google-cloud/appconnectors" + }, + { + "api": "beyondcorp", + "package": "@google-cloud/appgateways" + }, + { + "api": "beyondcorp", + "package": "@google-cloud/clientconnectorservices" + }, + { + "api": "beyondcorp", "package": "@google-cloud/clientgateways" }, + { + "api": "bigqueryconnection", + "package": "@google-cloud/bigquery-connection" + }, + { + "api": "bigquerydatapolicy", + "package": "@google-cloud/bigquery-datapolicies" + }, + { + "api": "bigquerydatatransfer", + "package": "@google-cloud/bigquery-data-transfer" + }, { "api": "bigquerymigration", "package": "@google-cloud/bigquery-migration" }, + { + "api": "bigqueryreservation", + "package": "@google-cloud/bigquery-reservation" + }, { "api": "cloudbilling", "package": "@google-cloud/billing" @@ -111,29 +139,33 @@ "api": "cloudchannel", "package": "@google-cloud/channel" }, - { - "api": "cloudcommerceconsumerprocurement", - "package": "@google-cloud/procurement" - }, { "api": "composer", "package": "@google-cloud/orchestration-airflow" }, + { + "api": "compute", + "package": "@google-cloud/compute" + }, { "api": "confidentialcomputing", "package": "@google-cloud/confidentialcomputing" }, { - "api": "connectors", - "package": "@google-cloud/connectors" + "api": "connectgateway", + "package": "@google-cloud/gke-connect-gateway" }, { "api": "contactcenterinsights", "package": "@google-cloud/contact-center-insights" }, { - "api": "cloudcontrolspartner", - "package": "@google-cloud/cloudcontrolspartner" + "api": "containeranalysis", + "package": "@google-cloud/containeranalysis" + }, + { + "api": "containeranalysis", + "package": "@google-cloud/grafeas" }, { "api": "datacatalog", @@ -147,14 +179,14 @@ "api": "datalineage", "package": "@google-cloud/lineage" }, - { - "api": "dlp", - "package": "@google-cloud/dlp" - }, { "api": "datamigration", "package": "@google-cloud/dms" }, + { + "api": "dataform", + "package": "@google-cloud/dataform" + }, { "api": "dataplex", "package": "@google-cloud/dataplex" @@ -187,18 +219,6 @@ "api": "discoveryengine", "package": "@google-cloud/discoveryengine" }, - { - "api": "edgecontainer", - "package": "@google-cloud/edgecontainer" - }, - { - "api": "edgenetwork", - "package": "@google-cloud/edgenetwork" - }, - { - "api": "dns", - "package": "@google-cloud/dns" - }, { "api": "documentai", "package": "@google-cloud/documentai" @@ -232,47 +252,27 @@ "package": "@google-cloud/functions" }, { - "api": "gkehub", - "package": "@google-cloud/gke-hub" - }, - { - "api": "bigqueryconnection", - "package": "@google-cloud/bigquery-connection" - }, - { - "api": "bigquerydatatransfer", - "package": "@google-cloud/bigquery-data-transfer" - }, - { - "api": "bigqueryreservation", - "package": "@google-cloud/bigquery-reservation" + "api": "generativelanguage", + "package": "@google-ai/generativelanguage" }, { - "api": "compute", - "package": "@google-cloud/compute" + "api": "gkehub", + "package": "@google-cloud/gke-hub" }, { - "api": "containeranalysis", - "package": "@google-cloud/containeranalysis" + "api": "gkemulticloud", + "package": "@google-cloud/gkemulticloud" }, { "api": "gsuiteaddons", "package": "@google-cloud/gsuiteaddons" }, - { - "api": "containeranalysis", - "package": "@google-cloud/grafeas" - }, - { - "api": "policytroubleshooter", - "package": "@google-cloud/policy-troubleshooter" - }, { "api": "iamcredentials", "package": "@google-cloud/iam-credentials" }, { - "api": "google", + "api": "iam", "package": "@google-cloud/iam" }, { @@ -283,10 +283,6 @@ "api": "ids", "package": "@google-cloud/ids" }, - { - "api": "config", - "package": "@google-cloud/config" - }, { "api": "cloudiot", "package": "@google-cloud/iot" @@ -295,6 +291,10 @@ "api": "cloudkms", "package": "@google-cloud/kms" }, + { + "api": "kmsinventory", + "package": "@google-cloud/kms-inventory" + }, { "api": "container", "package": "@google-cloud/container" @@ -303,78 +303,30 @@ "api": "livestream", "package": "@google-cloud/livestream" }, - { - "api": "logging", - "package": "@google-cloud/logging-winston" - }, { "api": "managedidentities", "package": "@google-cloud/managed-identities" }, { - "api": "mediatranslation", - "package": "@google-cloud/media-translation" + "api": "mapsplatformdatasets", + "package": "@googlemaps/maps-platform-datasets" }, { "api": "memcache", "package": "@google-cloud/memcache" }, { - "api": "merchantapi", - "package": "@google-shopping/accounts" - }, - { - "api": "merchantapi", - "package": "@google-shopping/conversions" - }, - { - "api": "merchantapi", - "package": "@google-shopping/datasources" - }, - { - "api": "merchantapi", - "package": "@google-shopping/inventories" - }, - { - "api": "merchantapi", - "package": "@google-shopping/issueresolution" - }, - { - "api": "merchantapi", - "package": "@google-shopping/lfp" - }, - { - "api": "merchantapi", - "package": "@google-shopping/notifications" - }, - { - "api": "merchantapi", - "package": "@google-shopping/ordertracking" - }, - { - "api": "merchantapi", - "package": "@google-shopping/products" - }, - { - "api": "merchantapi", - "package": "@google-shopping/promotions" - }, - { - "api": "merchantapi", - "package": "@google-shopping/quota" - }, - { - "api": "merchantapi", - "package": "@google-shopping/reports" - }, - { - "api": "vmmigration", - "package": "@google-cloud/vmmigration" + "api": "redis", + "package": "@google-cloud/redis" }, { "api": "migrationcenter", "package": "@google-cloud/migrationcenter" }, + { + "api": "monitoring", + "package": "@google-cloud/monitoring" + }, { "api": "monitoring", "package": "@google-cloud/monitoring-dashboards" @@ -383,10 +335,6 @@ "api": "language", "package": "@google-cloud/language" }, - { - "api": "netapp", - "package": "@google-cloud/netapp" - }, { "api": "networkconnectivity", "package": "@google-cloud/network-connectivity" @@ -400,8 +348,8 @@ "package": "@google-cloud/network-security" }, { - "api": "networkservices", - "package": "@google-cloud/networkservices" + "api": "notebooks", + "package": "@google-cloud/notebooks" }, { "api": "orgpolicy", @@ -416,8 +364,16 @@ "package": "@google-cloud/os-login" }, { - "api": "policysimulator", - "package": "@google-cloud/policysimulator" + "api": "places", + "package": "@googlemaps/places" + }, + { + "api": "policytroubleshooter", + "package": "@google-cloud/policy-troubleshooter" + }, + { + "api": "cloudproductregistry", + "package": "@google-cloud/productregistry" }, { "api": "publicca", @@ -439,17 +395,13 @@ "api": "recommender", "package": "@google-cloud/recommender" }, - { - "api": "redis", - "package": "@google-cloud/redis" - }, { "api": "cloudresourcemanager", "package": "@google-cloud/resource-manager" }, { - "api": "retail", - "package": "@google-cloud/retail" + "api": "routes", + "package": "@googlemaps/routing" }, { "api": "run", @@ -464,16 +416,16 @@ "package": "@google-cloud/secret-manager" }, { - "api": "securesourcemanager", - "package": "@google-cloud/securesourcemanager" + "api": "securitycenter", + "package": "@google-cloud/security-center" }, { - "api": "securitycentermanagement", - "package": "@google-cloud/securitycentermanagement" + "api": "dlp", + "package": "@google-cloud/dlp" }, { - "api": "securitycenter", - "package": "@google-cloud/security-center" + "api": "vpcaccess", + "package": "@google-cloud/vpc-access" }, { "api": "servicecontrol", @@ -483,10 +435,6 @@ "api": "servicedirectory", "package": "@google-cloud/service-directory" }, - { - "api": "servicehealth", - "package": "@google-cloud/servicehealth" - }, { "api": "servicemanagement", "package": "@google-cloud/service-management" @@ -500,20 +448,12 @@ "package": "@google-cloud/shell" }, { - "api": "speech", - "package": "@google-cloud/speech" - }, - { - "api": "sqladmin", - "package": "@google-cloud/sql" - }, - { - "api": "monitoring", - "package": "@google-cloud/monitoring" + "api": "merchantapi", + "package": "@google-shopping/accounts" }, { - "api": "storage", - "package": "@google-cloud/storage-control" + "api": "speech", + "package": "@google-cloud/speech" }, { "api": "storageinsights", @@ -535,10 +475,6 @@ "api": "cloudtasks", "package": "@google-cloud/tasks" }, - { - "api": "telcoautomation", - "package": "@google-cloud/telcoautomation" - }, { "api": "texttospeech", "package": "@google-cloud/text-to-speech" @@ -559,6 +495,10 @@ "api": "aiplatform", "package": "@google-cloud/aiplatform" }, + { + "api": "retail", + "package": "@google-cloud/retail" + }, { "api": "videointelligence", "package": "@google-cloud/video-intelligence" @@ -567,14 +507,14 @@ "api": "videostitcher", "package": "@google-cloud/video-stitcher" }, - { - "api": "vpcaccess", - "package": "@google-cloud/vpc-access" - }, { "api": "vision", "package": "@google-cloud/vision" }, + { + "api": "vmmigration", + "package": "@google-cloud/vmmigration" + }, { "api": "vmwareengine", "package": "@google-cloud/vmwareengine" @@ -588,7 +528,7 @@ "package": "@google-cloud/web-security-scanner" }, { - "api": "workflowexecutions", + "api": "workflows", "package": "@google-cloud/workflows" }, { @@ -596,8 +536,16 @@ "package": "@google-cloud/workstations" }, { - "api": "google", - "package": "@google-cloud/bigquery-datapolicies" + "api": "agentidentity", + "package": "@google-cloud/agentidentity" + }, + { + "api": "agentregistry", + "package": "@google-cloud/agentregistry" + }, + { + "api": "analyticshub", + "package": "@google-cloud/bigquery-data-exchange" }, { "api": "apihub", @@ -607,33 +555,41 @@ "api": "cloudapiregistry", "package": "@google-cloud/apiregistry" }, - { - "api": "apigeeregistry", - "package": "@google-cloud/apigee-registry" - }, { "api": "apphub", "package": "@google-cloud/apphub" }, + { + "api": "saasservicemgmt", + "package": "@google-cloud/saasservicemgmt" + }, + { + "api": "appoptimize", + "package": "@google-cloud/appoptimize" + }, + { + "api": "apptopology", + "package": "@google-cloud/apptopology" + }, { "api": "area120tables", "package": "@google/area120-tables" }, { - "api": "batch", - "package": "@google-cloud/batch" + "api": "auditmanager", + "package": "@google-cloud/auditmanager" }, { - "api": "beyondcorp", - "package": "@google-cloud/appconnectors" + "api": "backupdr", + "package": "@google-cloud/backupdr" }, { - "api": "beyondcorp", - "package": "@google-cloud/appgateways" + "api": "bigquerystorage", + "package": "@google-cloud/bigquery-storage-api" }, { - "api": "beyondcorp", - "package": "@google-cloud/clientconnectorservices" + "api": "bigtable", + "package": "@google-cloud/bigtable-api" }, { "api": "capacityplanner", @@ -647,10 +603,26 @@ "api": "hypercomputecluster", "package": "@google-cloud/hypercomputecluster" }, + { + "api": "cloudcommerceconsumerprocurement", + "package": "@google-cloud/procurement" + }, + { + "api": "commerceproducer", + "package": "@google-cloud/commerceproducer" + }, { "api": "configdelivery", "package": "@google-cloud/configdelivery" }, + { + "api": "connectors", + "package": "@google-cloud/connectors" + }, + { + "api": "cloudcontrolspartner", + "package": "@google-cloud/cloudcontrolspartner" + }, { "api": "css", "package": "@google-shopping/css" @@ -675,26 +647,50 @@ "api": "dataqna", "package": "@google-cloud/data-qna" }, + { + "api": "databasecenter", + "package": "@google-cloud/databasecenter" + }, { "api": "dataflow", "package": "@google-cloud/dataflow" }, { - "api": "dataform", - "package": "@google-cloud/dataform" + "api": "datastore", + "package": "@google-cloud/datastore-api" }, { "api": "developerconnect", "package": "@google-cloud/developerconnect" }, + { + "api": "developerknowledge", + "package": "@google/developer-knowledge" + }, { "api": "devicestreaming", "package": "@google-cloud/devicestreaming" }, + { + "api": "edgecontainer", + "package": "@google-cloud/edgecontainer" + }, + { + "api": "edgenetwork", + "package": "@google-cloud/edgenetwork" + }, { "api": "financialservices", "package": "@google-cloud/financialservices" }, + { + "api": "firestore", + "package": "@google-cloud/firestore-api" + }, + { + "api": "ftp", + "package": "@google-cloud/ftp" + }, { "api": "gdchardwaremanagement", "package": "@google-cloud/gdchardwaremanagement" @@ -704,12 +700,8 @@ "package": "@google-cloud/ces" }, { - "api": "generativelanguage", - "package": "@google-ai/generativelanguage" - }, - { - "api": "connectgateway", - "package": "@google-cloud/gke-connect-gateway" + "api": "geocoding-backend", + "package": "@google-cloud/geocode" }, { "api": "gkerecommender", @@ -732,8 +724,8 @@ "package": "@google-apps/chat" }, { - "api": "routes", - "package": "@googlemaps/routing" + "api": "health", + "package": "@google-cloud/health" }, { "api": "marketingplatformadmin", @@ -747,6 +739,14 @@ "api": "workspaceevents", "package": "@google-cloud/subscriptions" }, + { + "api": "config", + "package": "@google-cloud/config" + }, + { + "api": "isochrones", + "package": "@google-maps/isochrones" + }, { "api": "fleetengine", "package": "@googlemaps/fleetengine-delivery" @@ -767,6 +767,10 @@ "api": "cloudlocationfinder", "package": "@google-cloud/locationfinder" }, + { + "api": "logging", + "package": "@google-cloud/logging-api" + }, { "api": "maintenance", "package": "@google-cloud/maintenance-api" @@ -783,6 +787,14 @@ "api": "managedkafka", "package": "@google-cloud/managedkafka" }, + { + "api": "mapmanagement", + "package": "@google-cloud/mapmanagement" + }, + { + "api": "mediatranslation", + "package": "@google-cloud/media-translation" + }, { "api": "memorystore", "package": "@google-cloud/memorystore" @@ -793,7 +805,7 @@ }, { "api": "merchantapi", - "package": "@google-shopping/reviews" + "package": "@google-shopping/loyaltycustomers" }, { "api": "modelarmor", @@ -803,6 +815,14 @@ "api": "navigationconnect", "package": "@google-cloud/navconnect" }, + { + "api": "netapp", + "package": "@google-cloud/netapp" + }, + { + "api": "networkservices", + "package": "@google-cloud/networkservices" + }, { "api": "oracledatabase", "package": "@google-cloud/oracledatabase" @@ -819,20 +839,20 @@ "api": "phishingprotection", "package": "@google-cloud/phishing-protection" }, - { - "api": "places", - "package": "@googlemaps/places" - }, { "api": "areainsights", "package": "@googlemaps/areainsights" }, + { + "api": "policysimulator", + "package": "@google-cloud/policysimulator" + }, { "api": "policytroubleshooter", "package": "@google-cloud/policy-troubleshooter-iam" }, { - "api": "privatecatalog", + "api": "cloudprivatecatalog", "package": "@google-cloud/private-catalog" }, { @@ -843,26 +863,106 @@ "api": "cloudprofiler", "package": "@google-cloud/cloudprofiler" }, + { + "api": "pubsub", + "package": "@google-cloud/pubsub-api" + }, { "api": "routeoptimization", "package": "@googlemaps/routeoptimization" }, { - "api": "saasservicemgmt", - "package": "@google-cloud/saasservicemgmt" + "api": "securesourcemanager", + "package": "@google-cloud/securesourcemanager" + }, + { + "api": "securitycentermanagement", + "package": "@google-cloud/securitycentermanagement" }, { "api": "cloudsecuritycompliance", "package": "@google-cloud/cloudsecuritycompliance" }, + { + "api": "servicehealth", + "package": "@google-cloud/servicehealth" + }, + { + "api": "merchantapi", + "package": "@google-shopping/conversions" + }, + { + "api": "merchantapi", + "package": "@google-shopping/datasources" + }, + { + "api": "merchantapi", + "package": "@google-shopping/inventories" + }, + { + "api": "merchantapi", + "package": "@google-shopping/issueresolution" + }, + { + "api": "merchantapi", + "package": "@google-shopping/lfp" + }, + { + "api": "merchantapi", + "package": "@google-shopping/notifications" + }, + { + "api": "merchantapi", + "package": "@google-shopping/ordertracking" + }, + { + "api": "merchantapi", + "package": "@google-shopping/products" + }, + { + "api": "merchantapi", + "package": "@google-shopping/promotions" + }, + { + "api": "merchantapi", + "package": "@google-shopping/quota" + }, + { + "api": "merchantapi", + "package": "@google-shopping/reports" + }, + { + "api": "merchantapi", + "package": "@google-shopping/reviews" + }, { "api": "solar", "package": "@googlemaps/solar" }, + { + "api": "spanner", + "package": "@google-cloud/spanner-api" + }, + { + "api": "sqladmin", + "package": "@google-cloud/sql" + }, + { + "api": "storage", + "package": "@google-cloud/storage-control" + }, { "api": "storagebatchoperations", "package": "@google-cloud/storagebatchoperations" }, + { + "api": "streetviewpublish", + "package": "@googlemaps/streetview-publish" + }, + { + "api": "telcoautomation", + "package": "@google-cloud/telcoautomation" + }, { "api": "vectorsearch", "package": "@google-cloud/vectorsearch" @@ -871,6 +971,10 @@ "api": "visionai", "package": "@google-cloud/visionai" }, + { + "api": "workloadidentity", + "package": "@google-cloud/workloadidentity" + }, { "api": "workloadmanager", "package": "@google-cloud/workloadmanager" diff --git a/discovery/accesscontextmanager-v1.json b/discovery/accesscontextmanager-v1.json index 05f3e8973e5..1943f92dc97 100644 --- a/discovery/accesscontextmanager-v1.json +++ b/discovery/accesscontextmanager-v1.json @@ -1000,6 +1000,35 @@ } } }, + "folders": { + "methods": { + "lookupConfiguredServicePerimeter": { + "description": "Looks up the configured service perimeter for a given resource Format: ['projects/{projectNumber}', 'folders/{folderNumber}'].", + "flatPath": "v1/folders/{foldersId}:lookupConfiguredServicePerimeter", + "httpMethod": "GET", + "id": "accesscontextmanager.folders.lookupConfiguredServicePerimeter", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The Resource to resolve (e.g. \"projects/123\", \"folders/456\").", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:lookupConfiguredServicePerimeter", + "response": { + "$ref": "LookupConfiguredServicePerimeterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "cancel": { @@ -1325,6 +1354,35 @@ } } }, + "projects": { + "methods": { + "lookupConfiguredServicePerimeter": { + "description": "Looks up the configured service perimeter for a given resource Format: ['projects/{projectNumber}', 'folders/{folderNumber}'].", + "flatPath": "v1/projects/{projectsId}:lookupConfiguredServicePerimeter", + "httpMethod": "GET", + "id": "accesscontextmanager.projects.lookupConfiguredServicePerimeter", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The Resource to resolve (e.g. \"projects/123\", \"folders/456\").", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:lookupConfiguredServicePerimeter", + "response": { + "$ref": "LookupConfiguredServicePerimeterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "services": { "methods": { "get": { @@ -1381,7 +1439,7 @@ } } }, - "revision": "20260819", + "revision": "20260827", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { "AccessContextManagerOperationMetadata": { @@ -2033,16 +2091,8 @@ "$ref": "Principal", "description": "Optional. Immutable. The principal that is subject to the access policies in this policy binding." }, - "restrictedClientApplications": { - "deprecated": true, - "description": "Optional. Deprecated: Use `scoped_access_settings` instead. A list of applications that are subject to this binding's restrictions. If the list is empty, the binding restrictions will universally apply to all applications.", - "items": { - "$ref": "Application" - }, - "type": "array" - }, "scopedAccessSettings": { - "description": "Optional. A list of scoped access settings that set this binding's restrictions on a subset of applications. This field cannot be set if restricted_client_applications is set.", + "description": "Optional. A list of scoped access settings that set this binding's restrictions on a subset of applications.", "items": { "$ref": "ScopedAccessSettings" }, @@ -2338,6 +2388,29 @@ }, "type": "object" }, + "LookupConfiguredServicePerimeterResponse": { + "description": "A configured service perimeter returned by Access Context Manager.", + "id": "LookupConfiguredServicePerimeterResponse", + "properties": { + "restrictedResource": { + "description": "The resource (e.g. \"projects/123\", \"folders/456\") that directly owns/is restricted by the enforced perimeter.", + "type": "string" + }, + "restrictedResourceDryRun": { + "description": "The resource (e.g. \"projects/123\", \"folders/456\") that directly owns/is restricted by the dry-run perimeter.", + "type": "string" + }, + "servicePerimeter": { + "description": "Fully qualified name of the configured enforced perimeter. Format: `accessPolicies/{policy_id}/servicePerimeters/{perimeter_name}` This field is empty if no enforced perimeter applies.", + "type": "string" + }, + "servicePerimeterDryRun": { + "description": "Fully qualified name of the configured dry-run perimeter. Format: `accessPolicies/{policy_id}/servicePerimeters/{perimeter_name}` This field is empty if no dry-run perimeter configuration applies.", + "type": "string" + } + }, + "type": "object" + }, "MethodSelector": { "description": "An allowed method or permission of a service specified in ApiOperation.", "id": "MethodSelector", diff --git a/discovery/admin-directory_v1.json b/discovery/admin-directory_v1.json index 7b7521b6d9b..709960debd8 100644 --- a/discovery/admin-directory_v1.json +++ b/discovery/admin-directory_v1.json @@ -4729,7 +4729,7 @@ } } }, - "revision": "20260729", + "revision": "20260902", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -6570,6 +6570,18 @@ "properties": {}, "type": "object" }, + "ExpirationDetails": { + "description": "Details regarding the expiration of this role assignment. Used to automatically revoke access when the time limit is reached.", + "id": "ExpirationDetails", + "properties": { + "expireTime": { + "description": "The specific timestamp when the role assignment expires.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "ExternalId": { "description": "External identifier used to link and identify this group across external directory systems.", "id": "ExternalId", @@ -7686,6 +7698,10 @@ "description": "ETag of the resource.", "type": "string" }, + "expirationDetails": { + "$ref": "ExpirationDetails", + "description": "Optional. Details regarding the expiration of this role assignment." + }, "kind": { "default": "admin#directory#roleAssignment", "description": "The type of the API resource. This is always `admin#directory#roleAssignment`.", diff --git a/discovery/agenciesandbrands-v1.json b/discovery/agenciesandbrands-v1.json new file mode 100644 index 00000000000..59d1f57b71d --- /dev/null +++ b/discovery/agenciesandbrands-v1.json @@ -0,0 +1,1318 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/agencies-and-brands": { + "description": "View, create, edit, and delete data entities in your Agency account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://agenciesandbrands.googleapis.com/", + "batchPath": "batch", + "canonicalName": "AgenciesAndBrands", + "description": "Agencies and brands API is an externally available HTTP API for ad agencies and brands to programmatically manage their deals and spending with Google Ad Manager publishers.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/authorized-buyers/agencies-and-brands/get-started/start", + "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": "agenciesandbrands:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://agenciesandbrands.mtls.googleapis.com/", + "name": "agenciesandbrands", + "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": { + "agencies": { + "resources": { + "reports": { + "methods": { + "create": { + "description": "Creates a `Report` object.", + "flatPath": "v1/agencies/{agenciesId}/reports", + "httpMethod": "POST", + "id": "agenciesandbrands.agencies.reports.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this `Report` will be created. Format: `agencies/{account_id}`", + "location": "path", + "pattern": "^agencies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/agencies-and-brands" + ] + }, + "delete": { + "description": "Deletes a `Report` object.", + "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}", + "httpMethod": "DELETE", + "id": "agenciesandbrands.agencies.reports.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the report to delete. Format: `agencies/{account_id}/reports/{report_id}`", + "location": "path", + "pattern": "^agencies/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/agencies-and-brands" + ] + }, + "get": { + "description": "Retrieves a `Report` object.", + "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}", + "httpMethod": "GET", + "id": "agenciesandbrands.agencies.reports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the report. Format: `agencies/{account_id}/reports/{report_id}`", + "location": "path", + "pattern": "^agencies/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/agencies-and-brands" + ] + }, + "list": { + "description": "Lists `Report` objects.", + "flatPath": "v1/agencies/{agenciesId}/reports", + "httpMethod": "GET", + "id": "agenciesandbrands.agencies.reports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Expression to filter the response. See syntax details at https://developers.google.com/ad-manager/api/beta/filters", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Expression to specify sorting order. See syntax details at https://developers.google.com/ad-manager/api/beta/filters#order", + "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 50 `Reports` will be returned. The maximum value is 1000; values greater than 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReports` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of reports. Format: `agencies/{account_id}`", + "location": "path", + "pattern": "^agencies/[^/]+$", + "required": true, + "type": "string" + }, + "skip": { + "description": "Optional. Number of individual resources to skip while paginating.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/{+parent}/reports", + "response": { + "$ref": "ListReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/agencies-and-brands" + ] + }, + "patch": { + "description": "Updates a `Report` object.", + "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}", + "httpMethod": "PATCH", + "id": "agenciesandbrands.agencies.reports.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the report. Report resource name have the form: `agencies/{account_id}/reports/{report_id}`", + "location": "path", + "pattern": "^agencies/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/agencies-and-brands" + ] + }, + "run": { + "description": "Initiates the execution of an existing report asynchronously. Users can get the report by polling this operation using `OperationsService.GetOperation`. Poll every 5 seconds initially, with an exponential backoff. Once a report is complete, the operation will contain a `RunReportResponse` in its response field containing a report_result that can be passed to the `FetchReportResultRows` method to retrieve the report data.", + "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}:run", + "httpMethod": "POST", + "id": "agenciesandbrands.agencies.reports.run", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The report to run. Format: `agencies/{account_id}/reports/{report_id}`", + "location": "path", + "pattern": "^agencies/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:run", + "request": { + "$ref": "RunReportRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/agencies-and-brands" + ] + } + }, + "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/agencies/{agenciesId}/reports/{reportsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "agenciesandbrands.agencies.reports.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^agencies/[^/]+/reports/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/agencies-and-brands" + ] + } + } + }, + "results": { + "methods": { + "fetchRows": { + "description": "Returns the result rows from a completed report. The caller must have previously called `RunReport` and waited for that operation to complete. The rows will be returned according to the order specified by the `sorts` member of the report definition.", + "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}/results/{resultsId}:fetchRows", + "httpMethod": "GET", + "id": "agenciesandbrands.agencies.reports.results.fetchRows", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The report result being fetched. Format: `agencies/{account_id}/reports/{report_id}/results/{report_result_id}`", + "location": "path", + "pattern": "^agencies/[^/]+/reports/[^/]+/results/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 1,000 rows will be returned. The maximum value is 10,000; values greater than 10,000 will be reduced to 10,000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `FetchReportResultRows` call. Provide this to retrieve the second and subsequent batches of rows.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:fetchRows", + "response": { + "$ref": "FetchReportResultRowsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/agencies-and-brands" + ] + } + } + } + } + } + } + } + }, + "revision": "20260901", + "rootUrl": "https://agenciesandbrands.googleapis.com/", + "schemas": { + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateRange": { + "description": "A date range for a report.", + "id": "DateRange", + "properties": { + "fixed": { + "$ref": "FixedDateRange", + "description": "A fixed date range." + }, + "relative": { + "description": "A relative date range.", + "enum": [ + "RELATIVE_DATE_RANGE_UNSPECIFIED", + "TODAY", + "YESTERDAY", + "THIS_WEEK_TO_DATE", + "THIS_WEEK_TO_YESTERDAY", + "THIS_MONTH_TO_DATE", + "THIS_MONTH_TO_YESTERDAY", + "THIS_QUARTER_TO_DATE", + "THIS_QUARTER_TO_YESTERDAY", + "THIS_YEAR_TO_DATE", + "THIS_YEAR_TO_YESTERDAY", + "LAST_WEEK", + "LAST_WEEK_STARTING_SUNDAY", + "LAST_MONTH", + "LAST_QUARTER", + "LAST_YEAR", + "LAST_7_DAYS", + "LAST_30_DAYS", + "LAST_60_DAYS", + "LAST_90_DAYS", + "LAST_93_DAYS", + "LAST_180_DAYS", + "LAST_360_DAYS", + "LAST_365_DAYS", + "LAST_3_MONTHS", + "LAST_6_MONTHS", + "LAST_12_MONTHS", + "ALL_AVAILABLE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The date the report is run.", + "The date a day before the date that the report is run.", + "From the beginning of the calendar week in which the up to and including the day the report is run.", + "From the beginning of the calendar week in which the report is run, up to and including the day before the report is run.", + "From the beginning of the calendar month in which the report is run, to up to and including the day the report is run.", + "From the beginning of the calendar month in which the report is run, up to and including the day before the report is run.", + "From the beginning of the calendar quarter in which the report is run, up to and including the day the report is run.", + "From the beginning of the calendar quarter in which the report is run, up to and including the day before the report is run.", + "From the beginning of the calendar year in which the report is run, to up to and including the day the report is run.", + "From the beginning of the calendar year in which the report is run, to up to and including the day before the report is run.", + "The entire previous calendar week, Monday to Sunday (inclusive), preceding the calendar week the report is run.", + "The entire previous calendar week, Sunday to Saturday (inclusive), preceding the calendar week the report is run.", + "The entire previous calendar month preceding the calendar month the report is run.", + "The entire previous calendar quarter preceding the calendar quarter the report is run.", + "The entire previous calendar year preceding the calendar year the report is run.", + "The 7 days preceding the day the report is run.", + "The 30 days preceding the day the report is run.", + "The 60 days preceding the day the report is run.", + "The 90 days preceding the day the report is run.", + "The 93 days preceding the day the report is run.", + "The 180 days preceding the day the report is run.", + "The 360 days preceding the day the report is run.", + "The 365 days preceding the day the report is run.", + "The entire previous 3 calendar months preceding the calendar month the report is run.", + "The entire previous 6 calendar months preceding the calendar month the report is run.", + "The entire previous 12 calendar months preceding the calendar month the report is run.", + "From 3 years before the report is run, to the day before the report is run, inclusive." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleList": { + "description": "A list of double values.", + "id": "DoubleList", + "properties": { + "values": { + "description": "The values", + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FetchReportResultRowsResponse": { + "description": "The response message for the fetch report result rows endpoint.", + "id": "FetchReportResultRowsResponse", + "properties": { + "dateRanges": { + "description": "The computed fixed date ranges this report includes. Only returned with the first page of results (when page_token is not included in the request).", + "items": { + "$ref": "FixedDateRange" + }, + "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" + }, + "rows": { + "description": "Up to `page_size` rows of report data.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "runTime": { + "description": "The time at which the report was scheduled to run. For non-scheduled reports, this is the time at which the report was requested to be run.", + "format": "google-datetime", + "type": "string" + }, + "totalRowCount": { + "description": "The total number of rows available from this report. Useful for pagination. Only returned with the first page of results (when page_token is not included in the request).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Field": { + "description": "A dimension or a metric in a report.", + "id": "Field", + "properties": { + "dimension": { + "description": "The dimension this field represents.", + "enum": [ + "DIMENSION_UNSPECIFIED", + "ADVERTISER_DOMAIN", + "AGENCY_ACCOUNT_ID", + "AGENCY_ACCOUNT_NAME", + "BID_FILTERING_REASON", + "BID_FILTERING_REASON_NAME", + "BUYER_SDK", + "CAMPAIGN_ID", + "CAMPAIGN_NAME", + "COUNTRY", + "CREATIVE_FORMAT", + "CREATIVE_ID", + "CREATIVE_POLICIES", + "CREATIVE_POLICIES_NAME", + "CREATIVE_SIZE", + "CURATION_DATA_SEGMENT_ID", + "CURATION_PARTNER_NAME", + "CURATOR_FEE_TYPE", + "DATE", + "DEAL_ID", + "DEAL_NAME", + "DETECTED_ADVERTISER_NAME", + "DSP_NAME", + "DSP_SEAT_ID", + "ENVIRONMENT", + "ENVIRONMENT_NAME", + "GMA_SDK", + "HOUR", + "MOBILE_APP_ID", + "MOBILE_APP_NAME", + "MOBILE_OS", + "MONTH", + "PACKAGE_FEE_VISIBILITY", + "PLACEMENT_ID", + "PLATFORM", + "PUBLISHER_DOMAIN", + "PUBLISHER_ID", + "PUBLISHER_NAME", + "PUBLISHER_PROTECTIONS", + "PUBLISHER_PROTECTIONS_NAME", + "SELLER_AUTHORIZATION", + "SELLER_AUTHORIZATION_NAME", + "SUPPLY_PATH_TYPE", + "SUPPLY_PATH_TYPE_NAME", + "TRANSACTION_TYPE", + "VAST_ERROR_CODE", + "WEEK" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The domain of the advertiser.", + "Agency account ID.", + "Agency account name.", + "Reason that a Real-time Bidding bid was filtered from the auction.", + "The short description of the reason that a Real-time Bidding bid was filtered from the auction.", + "A boolean indicating whether the impression was rendered by a buyer SDK. If set to true, the impression was rendered by a buyer SDK.", + "The ID of the agency campaign.", + "The display name of the agency campaign.", + "Display name of a country.", + "Creative format, \"Display\" vs. \"Video\".", + "Creative ID.", + "Applied creative policies.", + "The localized display name of applied creative policies.", + "Creative size.", + "The ID of the data segment created by a curator.", + "The display name of the curation partner.", + "The type of curation service (e.g. packaging or data segment).", + "Date.", + "Deal ID.", + "Deal name.", + "Display name of the detected advertiser.", + "Display name of the DSP.", + "DSP Seat ID.", + "The user device and container environment where the impression originates. Supported values are \"app\" and \"web\".", + "The localized display name of the user device and container environment where the impression originates. Supported values are \"app\" and \"web\".", + "A boolean indicating whether the impression was rendered by the Google Mobile Ads SDK. If set to true, the impression was rendered by the Google Mobile Ads SDK.", + "Hour.", + "Mobile App ID.", + "Mobile App Name.", + "Mobile operating system.", + "Month.", + "The visibility of the package fee (e.g. disclosed or non-disclosed).", + "Placement ID.", + "Platform, e.g. \"desktop\" vs. \"mobile\".", + "Publisher domain.", + "Publisher identifier.", + "Publisher name.", + "Whether publisher protections are applied.", + "The localized display name indicating whether publisher protections are applied.", + "Seller authorization.", + "The localized display name of seller authorization.", + "The supply path type of the deal for Agency Direct.", + "The localized display name of the supply path type of the deal for Agency Direct.", + "The transaction type of the deal.", + "VAST error code.", + "Week." + ], + "type": "string" + }, + "metric": { + "description": "The metric this field represents.", + "enum": [ + "METRIC_UNSPECIFIED", + "ACTIVE_VIEW_MEASURABILITY_RATE", + "ACTIVE_VIEW_MEASURABLE", + "ACTIVE_VIEW_VIEWABILITY_RATE", + "ACTIVE_VIEW_VIEWABLE", + "AUCTIONS_WON", + "BIDS", + "BIDS_IN_AUCTION", + "CLICKS", + "CPC", + "CPM", + "CURATION_PARTNER_FEE", + "DISCOUNT_AMOUNT", + "EFFECTIVE_DISCOUNT_RATE", + "ENGAGED_VIEWS", + "IMPRESSIONS", + "PRE_DISCOUNT_SPEND", + "PRE_DISCOUNT_SPEND_WITHOUT_CURATION_PARTNER_FEE", + "REACHED_QUERIES", + "SPEND", + "SPEND_WITHOUT_CURATION_PARTNER_FEE", + "VAST_ERROR_COUNT", + "VIDEO_COMPLETE", + "VIDEO_FIRST_QUARTILE", + "VIDEO_MIDPOINT", + "VIDEO_START", + "VIDEO_THIRD_QUARTILE", + "VIDEO_VTR" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Active View measurability rate.", + "Active View measurable.", + "Active view viewability rate.", + "Active View viewable imps.", + "Auctions won.", + "Bids.", + "Bids in auction.", + "Clicks.", + "CPC.", + "CPM.", + "Curator fee. This will be redacted to 0.00 if the package's visibility is set to non-disclosed. Use the PACKAGE_FEE_VISIBILITY dimension to check if the package's fee is disclosed.", + "Discount amount in media planner currency.", + "Discount rate in media planner currency.", + "Engaged views.", + "Impressions.", + "Discount spend in media planner currency.", + "Gross media cost in media planner currency.", + "Queries that are reached in the mediation chain.", + "Spend in reporting currency specified in the request. Defaults to USD.", + "Net media cost in media planner currency.", + "Number of video impressions failed to render due to VAST errors.", + "Number of video impressions played to completion.", + "Number of video impressions played to the first quartile.", + "Number of video impressions played to the midpoint.", + "Number of video impressions played.", + "Number of video impressions played to the third quartile.", + "The rate in which video impressions were watched to completion." + ], + "type": "string" + } + }, + "type": "object" + }, + "FieldFilter": { + "description": "A filter on a specific field.", + "id": "FieldFilter", + "properties": { + "field": { + "$ref": "Field", + "description": "Required. The field to filter on." + }, + "operation": { + "description": "Required. The operation of this filter.", + "enum": [ + "IN", + "NOT_IN", + "CONTAINS", + "NOT_CONTAINS", + "LESS_THAN", + "LESS_THAN_EQUALS", + "GREATER_THAN", + "GREATER_THAN_EQUALS", + "BETWEEN", + "MATCHES", + "NOT_MATCHES" + ], + "enumDescriptions": [ + "For scalar operands, checks if the operand is in the set of provided filter values. For list operands, checks if any element in the operand is in the set of provided filter values. Default value.", + "For scalar operands, checks that the operand is not in the set of provided filter values. For list operands, checks that none of the elements in the operand is in the set of provided filter values.", + "For scalar string operands, checks if the operand contains any of the provided filter substrings. For string list operands, checks if any string in the operand contains any of the provided filter substrings.", + "For scalar string operands, checks that the operand contains none of the provided filter substrings. For string list operands, checks that none of the strings in the operand contain none of the provided filter substrings.", + "Operand is less than the provided filter value.", + "Operand is less than or equal to provided filter value.", + "Operand is greater than provided filter value.", + "Operand is greater than or equal to provided filter value.", + "Operand is between provided filter values.", + "Operand matches against a regular expression or set of regular expressions (one must match).", + "Operand negative matches against a regular expression or set of regular expressions (none must match)." + ], + "type": "string" + }, + "values": { + "description": "Required. Values to filter to.", + "items": { + "$ref": "ReportValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "Filter": { + "description": "A filter over one or more fields.", + "id": "Filter", + "properties": { + "andFilter": { + "$ref": "FilterList", + "description": "A list of filters whose results are AND-ed." + }, + "fieldFilter": { + "$ref": "FieldFilter", + "description": "A filter on a single field." + }, + "notFilter": { + "$ref": "Filter", + "description": "A filter whose result is negated." + }, + "orFilter": { + "$ref": "FilterList", + "description": "A list of filters whose results are OR-ed." + } + }, + "type": "object" + }, + "FilterList": { + "description": "A list of filters.", + "id": "FilterList", + "properties": { + "filters": { + "description": "Required. A list of filters.", + "items": { + "$ref": "Filter" + }, + "type": "array" + } + }, + "type": "object" + }, + "FixedDateRange": { + "description": "A date range between two fixed dates (inclusive of end date).", + "id": "FixedDateRange", + "properties": { + "endDate": { + "$ref": "Date", + "description": "Required. The end date (inclusive) of this date range." + }, + "startDate": { + "$ref": "Date", + "description": "Required. The start date of this date range." + } + }, + "type": "object" + }, + "IntList": { + "description": "A list of integer values.", + "id": "IntList", + "properties": { + "values": { + "description": "The values", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListReportsResponse": { + "description": "Response object for `ListReportsResponse` containing matching `Report` objects.", + "id": "ListReportsResponse", + "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" + }, + "reports": { + "description": "The `Report` objects from the specified network.", + "items": { + "$ref": "Report" + }, + "type": "array" + }, + "totalSize": { + "description": "Total number of `Report` objects. If a filter was included in the request, this reflects the total number after the filtering is applied. `total_size` won't be calculated in the response unless it has been included in a response field mask. The response field mask can be provided to the method by using the URL parameter `$fields` or `fields`, or by using the HTTP/gRPC header `X-Goog-FieldMask`. For more information, see https://developers.google.com/ad-manager/api/beta/field-masks", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "MetricValueGroup": { + "description": "Contains all metric values requested for a single date range and set of column dimension values (returned in the columns field of the response). The order of the metrics in each field corresponds to the order of the metrics specified in the request.", + "id": "MetricValueGroup", + "properties": { + "primaryValues": { + "description": "Data for the PRIMARY MetricValueType.", + "items": { + "$ref": "ReportValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Report": { + "description": "The `Report` resource.", + "id": "Report", + "properties": { + "createTime": { + "description": "Output only. The instant this report was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Display name for the report.", + "type": "string" + }, + "locale": { + "description": "Output only. The locale of this report. Locale is set from the user's locale at the time of the request. Locale can't be modified.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the report. Report resource name have the form: `agencies/{account_id}/reports/{report_id}`", + "type": "string" + }, + "reportDefinition": { + "$ref": "ReportDefinition", + "description": "Required. The report definition of the report." + }, + "reportId": { + "description": "Output only. Report ID.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The instant this report was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ReportDefinition": { + "description": "The definition of how a report should be run.", + "id": "ReportDefinition", + "properties": { + "currencyCode": { + "description": "Optional. The ISO 4217 currency code for this report. Defaults to account currency code if not specified.", + "type": "string" + }, + "dateRange": { + "$ref": "DateRange", + "description": "Required. The primary date range of this report." + }, + "dimensions": { + "description": "Required. The list of dimensions to report on. If empty, the report will have no dimensions, and any metrics will be totals.", + "items": { + "enum": [ + "DIMENSION_UNSPECIFIED", + "ADVERTISER_DOMAIN", + "AGENCY_ACCOUNT_ID", + "AGENCY_ACCOUNT_NAME", + "BID_FILTERING_REASON", + "BID_FILTERING_REASON_NAME", + "BUYER_SDK", + "CAMPAIGN_ID", + "CAMPAIGN_NAME", + "COUNTRY", + "CREATIVE_FORMAT", + "CREATIVE_ID", + "CREATIVE_POLICIES", + "CREATIVE_POLICIES_NAME", + "CREATIVE_SIZE", + "CURATION_DATA_SEGMENT_ID", + "CURATION_PARTNER_NAME", + "CURATOR_FEE_TYPE", + "DATE", + "DEAL_ID", + "DEAL_NAME", + "DETECTED_ADVERTISER_NAME", + "DSP_NAME", + "DSP_SEAT_ID", + "ENVIRONMENT", + "ENVIRONMENT_NAME", + "GMA_SDK", + "HOUR", + "MOBILE_APP_ID", + "MOBILE_APP_NAME", + "MOBILE_OS", + "MONTH", + "PACKAGE_FEE_VISIBILITY", + "PLACEMENT_ID", + "PLATFORM", + "PUBLISHER_DOMAIN", + "PUBLISHER_ID", + "PUBLISHER_NAME", + "PUBLISHER_PROTECTIONS", + "PUBLISHER_PROTECTIONS_NAME", + "SELLER_AUTHORIZATION", + "SELLER_AUTHORIZATION_NAME", + "SUPPLY_PATH_TYPE", + "SUPPLY_PATH_TYPE_NAME", + "TRANSACTION_TYPE", + "VAST_ERROR_CODE", + "WEEK" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The domain of the advertiser.", + "Agency account ID.", + "Agency account name.", + "Reason that a Real-time Bidding bid was filtered from the auction.", + "The short description of the reason that a Real-time Bidding bid was filtered from the auction.", + "A boolean indicating whether the impression was rendered by a buyer SDK. If set to true, the impression was rendered by a buyer SDK.", + "The ID of the agency campaign.", + "The display name of the agency campaign.", + "Display name of a country.", + "Creative format, \"Display\" vs. \"Video\".", + "Creative ID.", + "Applied creative policies.", + "The localized display name of applied creative policies.", + "Creative size.", + "The ID of the data segment created by a curator.", + "The display name of the curation partner.", + "The type of curation service (e.g. packaging or data segment).", + "Date.", + "Deal ID.", + "Deal name.", + "Display name of the detected advertiser.", + "Display name of the DSP.", + "DSP Seat ID.", + "The user device and container environment where the impression originates. Supported values are \"app\" and \"web\".", + "The localized display name of the user device and container environment where the impression originates. Supported values are \"app\" and \"web\".", + "A boolean indicating whether the impression was rendered by the Google Mobile Ads SDK. If set to true, the impression was rendered by the Google Mobile Ads SDK.", + "Hour.", + "Mobile App ID.", + "Mobile App Name.", + "Mobile operating system.", + "Month.", + "The visibility of the package fee (e.g. disclosed or non-disclosed).", + "Placement ID.", + "Platform, e.g. \"desktop\" vs. \"mobile\".", + "Publisher domain.", + "Publisher identifier.", + "Publisher name.", + "Whether publisher protections are applied.", + "The localized display name indicating whether publisher protections are applied.", + "Seller authorization.", + "The localized display name of seller authorization.", + "The supply path type of the deal for Agency Direct.", + "The localized display name of the supply path type of the deal for Agency Direct.", + "The transaction type of the deal.", + "VAST error code.", + "Week." + ], + "type": "string" + }, + "type": "array" + }, + "filters": { + "description": "Optional. The filters for this report.", + "items": { + "$ref": "Filter" + }, + "type": "array" + }, + "metrics": { + "description": "Required. The list of metrics to report on. If empty, the report will have no metrics.", + "items": { + "enum": [ + "METRIC_UNSPECIFIED", + "ACTIVE_VIEW_MEASURABILITY_RATE", + "ACTIVE_VIEW_MEASURABLE", + "ACTIVE_VIEW_VIEWABILITY_RATE", + "ACTIVE_VIEW_VIEWABLE", + "AUCTIONS_WON", + "BIDS", + "BIDS_IN_AUCTION", + "CLICKS", + "CPC", + "CPM", + "CURATION_PARTNER_FEE", + "DISCOUNT_AMOUNT", + "EFFECTIVE_DISCOUNT_RATE", + "ENGAGED_VIEWS", + "IMPRESSIONS", + "PRE_DISCOUNT_SPEND", + "PRE_DISCOUNT_SPEND_WITHOUT_CURATION_PARTNER_FEE", + "REACHED_QUERIES", + "SPEND", + "SPEND_WITHOUT_CURATION_PARTNER_FEE", + "VAST_ERROR_COUNT", + "VIDEO_COMPLETE", + "VIDEO_FIRST_QUARTILE", + "VIDEO_MIDPOINT", + "VIDEO_START", + "VIDEO_THIRD_QUARTILE", + "VIDEO_VTR" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Active View measurability rate.", + "Active View measurable.", + "Active view viewability rate.", + "Active View viewable imps.", + "Auctions won.", + "Bids.", + "Bids in auction.", + "Clicks.", + "CPC.", + "CPM.", + "Curator fee. This will be redacted to 0.00 if the package's visibility is set to non-disclosed. Use the PACKAGE_FEE_VISIBILITY dimension to check if the package's fee is disclosed.", + "Discount amount in media planner currency.", + "Discount rate in media planner currency.", + "Engaged views.", + "Impressions.", + "Discount spend in media planner currency.", + "Gross media cost in media planner currency.", + "Queries that are reached in the mediation chain.", + "Spend in reporting currency specified in the request. Defaults to USD.", + "Net media cost in media planner currency.", + "Number of video impressions failed to render due to VAST errors.", + "Number of video impressions played to completion.", + "Number of video impressions played to the first quartile.", + "Number of video impressions played to the midpoint.", + "Number of video impressions played.", + "Number of video impressions played to the third quartile.", + "The rate in which video impressions were watched to completion." + ], + "type": "string" + }, + "type": "array" + }, + "sorts": { + "description": "Optional. Default sorts to apply to this report.", + "items": { + "$ref": "Sort" + }, + "type": "array" + }, + "timeZone": { + "description": "Optional. If time_zone_source is PROVIDED, this is the time zone to use for this report. Leave empty for any other time zone source. Time zone in IANA format. For example, \"America/New_York\".", + "type": "string" + }, + "timeZoneSource": { + "description": "Optional. Where to get the time zone for this report. Defaults to using the Pacific time zone (PT). If source is PROVIDED, the time_zone field in the report definition must also set a time zone.", + "enum": [ + "TIME_ZONE_SOURCE_UNSPECIFIED", + "AD_EXCHANGE", + "UTC", + "PROVIDED", + "AGENCY" + ], + "enumDescriptions": [ + "Unspecified default value.", + "Use the Pacific time zone(PT).", + "Use UTC time zone.", + "Use the time zone provided in the ReportDefinition.time_zone field. Reports may take longer to run since the dates are dynamically calculated at request time.", + "Use the time zone from the agency's account settings." + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportValue": { + "description": "Represents a single value in a report.", + "id": "ReportValue", + "properties": { + "boolValue": { + "description": "For boolean values.", + "type": "boolean" + }, + "bytesValue": { + "description": "For bytes values.", + "format": "byte", + "type": "string" + }, + "doubleListValue": { + "$ref": "DoubleList", + "description": "For lists of double values." + }, + "doubleValue": { + "description": "For double values.", + "format": "double", + "type": "number" + }, + "intListValue": { + "$ref": "IntList", + "description": "For lists of integer values." + }, + "intValue": { + "description": "For integer values.", + "format": "int64", + "type": "string" + }, + "stringListValue": { + "$ref": "StringList", + "description": "For lists of string values." + }, + "stringValue": { + "description": "For string values.", + "type": "string" + } + }, + "type": "object" + }, + "Row": { + "description": "A row of report data.", + "id": "Row", + "properties": { + "dimensionValues": { + "description": "The order of the dimension values is the same as the order of the dimensions specified in the request.", + "items": { + "$ref": "ReportValue" + }, + "type": "array" + }, + "metricValueGroups": { + "description": " The length of the metric_value_groups field will be equal to the length of the date_ranges field in the fetch response. The metric_value_groups field is ordered such that each index corresponds to the date_range at the same index. For example, given date_ranges [x, y], metric_value_groups will have a length of two. The first entry in metric_value_groups represents the metrics for date x and the second entry in metric_value_groups represents the metrics for date y.", + "items": { + "$ref": "MetricValueGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunReportMetadata": { + "description": "`RunReport` operation metadata.", + "id": "RunReportMetadata", + "properties": { + "percentComplete": { + "description": "An estimate of how close this report is to being completed. Will always be 100 for failed and completed reports.", + "format": "int32", + "type": "integer" + }, + "report": { + "description": "The result's parent report.", + "type": "string" + } + }, + "type": "object" + }, + "RunReportRequest": { + "description": "Request message for a running a report.", + "id": "RunReportRequest", + "properties": {}, + "type": "object" + }, + "RunReportResponse": { + "description": "Response message for a completed `RunReport` operation.", + "id": "RunReportResponse", + "properties": { + "reportResult": { + "description": "The unique name of the generated result. Use with `FetchReportResultRows` to retrieve data.", + "type": "string" + } + }, + "type": "object" + }, + "Sort": { + "description": "Represents a sorting in a report.", + "id": "Sort", + "properties": { + "descending": { + "description": "Optional. The sort order. If true the sort will be descending.", + "type": "boolean" + }, + "field": { + "$ref": "Field", + "description": "Required. A field (dimension or metric) to sort by." + } + }, + "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" + }, + "StringList": { + "description": "A list of string values.", + "id": "StringList", + "properties": { + "values": { + "description": "The values", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Agencies and Brands API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/agentregistry-v1alpha.json b/discovery/agentregistry-v1alpha.json index f25db3f6ef5..2bb3fde888e 100644 --- a/discovery/agentregistry-v1alpha.json +++ b/discovery/agentregistry-v1alpha.json @@ -140,8 +140,10 @@ "$ref": "Location" }, "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-only", "https://www.googleapis.com/auth/agentregistry.read-write", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { @@ -188,8 +190,10 @@ "$ref": "ListLocationsResponse" }, "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-only", "https://www.googleapis.com/auth/agentregistry.read-write", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] } }, @@ -306,6 +310,104 @@ } } }, + "aiApplications": { + "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}/aiApplications/{aiApplicationsId}:getIamPolicy", + "httpMethod": "GET", + "id": "agentregistry.projects.locations.aiApplications.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/aiApplications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-only", + "https://www.googleapis.com/auth/agentregistry.read-write", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "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}/aiApplications/{aiApplicationsId}:setIamPolicy", + "httpMethod": "POST", + "id": "agentregistry.projects.locations.aiApplications.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/aiApplications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-write", + "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}/aiApplications/{aiApplicationsId}:testIamPermissions", + "httpMethod": "POST", + "id": "agentregistry.projects.locations.aiApplications.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/aiApplications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-only", + "https://www.googleapis.com/auth/agentregistry.read-write", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, "bindings": { "methods": { "create": { @@ -868,8 +970,10 @@ "$ref": "ListOperationsResponse" }, "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-only", "https://www.googleapis.com/auth/agentregistry.read-write", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] } } @@ -1248,6 +1352,40 @@ "supportsMediaDownload": true, "useMediaDownloadService": true }, + "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}/skills/{skillsId}:getIamPolicy", + "httpMethod": "GET", + "id": "agentregistry.projects.locations.skills.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-only", + "https://www.googleapis.com/auth/agentregistry.read-write", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "list": { "description": "Lists logical Skills available in a project.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/skills", @@ -1402,6 +1540,66 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] + }, + "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}/skills/{skillsId}:setIamPolicy", + "httpMethod": "POST", + "id": "agentregistry.projects.locations.skills.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-write", + "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}/skills/{skillsId}:testIamPermissions", + "httpMethod": "POST", + "id": "agentregistry.projects.locations.skills.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/skills/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/agentregistry.read-only", + "https://www.googleapis.com/auth/agentregistry.read-write", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] } }, "resources": { @@ -1559,7 +1757,7 @@ } } }, - "revision": "20260812", + "revision": "20260904", "rootUrl": "https://agentregistry.googleapis.com/", "schemas": { "A2ASkill": { @@ -1949,6 +2147,29 @@ }, "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" + }, "FetchAvailableBindingsResponse": { "description": "Message for response to fetching available Bindings.", "id": "FetchAvailableBindingsResponse", @@ -2013,6 +2234,151 @@ }, "type": "object" }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Interface": { "description": "Represents the connection details for an Agent or MCP Server.", "id": "Interface", diff --git a/discovery/alloydb-v1.json b/discovery/alloydb-v1.json index 261dd24be0e..19e39bf0230 100644 --- a/discovery/alloydb-v1.json +++ b/discovery/alloydb-v1.json @@ -1879,20 +1879,9 @@ } } }, - "revision": "20260813", + "revision": "20260826", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { - "AlloydbClhErrorsAlloyDbInternalDebugInfo": { - "description": "AlloyDbInternalDebugInfo contains internal debugging information for AlloyDB errors. It is explicitly kept out of the allowlist (errors.yaml) to ensure it is sanitized (stripped) by OnePlatform for all external requests. Used only to carry internal error details to across UPC/FlowLib boundary for ObservabilityInfo.", - "id": "AlloydbClhErrorsAlloyDbInternalDebugInfo", - "properties": { - "originalError": { - "description": "The original error message or details before sanitization, used internally for debugging and logging.", - "type": "string" - } - }, - "type": "object" - }, "AuthorizedNetwork": { "description": "AuthorizedNetwork contains metadata for an authorized network.", "id": "AuthorizedNetwork", @@ -2942,6 +2931,39 @@ }, "type": "object" }, + "DnsAutomationInfo": { + "description": "DnsAutomationInfo contains information about the DNS automation for the instance.", + "id": "DnsAutomationInfo", + "properties": { + "fullyQualifiedDomainName": { + "description": "Output only. The fully qualified domain name of the instance for DNS automation. Example: \"...alloydb.goog.\". Note: The AUDIT directive is intentionally omitted because this field contains sensitive network topology information.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the DNS automation.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING_CREATE", + "ACTIVE", + "PENDING_DELETE", + "CREATE_FAILED", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "DNS record creation is pending.", + "DNS record is active.", + "DNS record deletion is pending.", + "DNS record creation failed.", + "DNS record deletion failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -3378,6 +3400,11 @@ "$ref": "PscInstanceConfig", "description": "Optional. The configuration for Private Service Connect (PSC) for the instance." }, + "pscInstanceInfo": { + "$ref": "PscInstanceInfo", + "description": "Output only. Information about the Private Service Connect (PSC) for the instance.", + "readOnly": true + }, "publicIpAddress": { "description": "Output only. The public IP addresses for the Instance. This is available ONLY when enable_public_ip is set. This is the connection endpoint for an end-user application.", "readOnly": true, @@ -4034,11 +4061,29 @@ "description": "The consumer project to which the PSC service automation endpoint will be created.", "type": "string" }, + "dnsAutomationInfos": { + "description": "Output only. List of DNS automation info for the PSC auto connection.", + "items": { + "$ref": "DnsAutomationInfo" + }, + "readOnly": true, + "type": "array" + }, "ipAddress": { "description": "Output only. The IP address of the PSC service automation endpoint.", "readOnly": true, "type": "string" }, + "serviceConnectionPolicy": { + "description": "Output only. The PSC service connection policy name. The format is \"projects//regions//serviceConnectionPolicies/\"", + "readOnly": true, + "type": "string" + }, + "serviceConnectionPolicyCreationState": { + "description": "Output only. The creation state or result of the connection policy. Possible values include: - `ACTIVE`: The policy was created successfully. - `PERMISSION_DENIED`: Sufficient permissions were not provided. Note that this field is an unstructured output and customers should not rely on the specific string value or error message directly.", + "readOnly": true, + "type": "string" + }, "status": { "description": "Output only. The status of the PSC service automation connection. Possible values: \"STATE_UNSPECIFIED\" - An invalid state as the default case. \"ACTIVE\" - The connection has been created successfully. \"FAILED\" - The connection is not functional since some resources on the connection fail to be created. \"CREATING\" - The connection is being created. \"DELETING\" - The connection is being deleted. \"CREATE_REPAIRING\" - The connection is being repaired to complete creation. \"DELETE_REPAIRING\" - The connection is being repaired to complete deletion.", "readOnly": true, @@ -4075,6 +4120,20 @@ }, "type": "array" }, + "pscAutoConnectionPolicyState": { + "description": "Optional. Configuration for setting up PSC auto connection for the instance.", + "enum": [ + "PSC_AUTO_CONNECTION_POLICY_STATE_UNSPECIFIED", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "The state is unspecified. For old instances, this means the PSC auto connection is disabled. For new instances, this means the PSC auto connection is enabled by default.", + "Enables the PSC auto connection for the instance.", + "Disables the PSC auto connection for the instance." + ], + "type": "string" + }, "pscAutoConnections": { "description": "Optional. Configurations for setting up PSC service automation.", "items": { @@ -4082,6 +4141,20 @@ }, "type": "array" }, + "pscAutoDnsState": { + "description": "Optional. Configuration for setting up PSC auto DNS for the instance.", + "enum": [ + "PSC_AUTO_DNS_STATE_UNSPECIFIED", + "PSC_AUTO_DNS_STATE_ENABLED", + "PSC_AUTO_DNS_STATE_DISABLED" + ], + "enumDescriptions": [ + "The state is unspecified. For old instances, this means the PSC auto DNS is disabled. For new instances, this means the PSC auto DNS is enabled by default. Use `effective_psc_auto_dns_enabled` to check the effective state of the PSC auto DNS.", + "Enables the PSC auto DNS for the instance.", + "Disables the PSC auto DNS for the instance." + ], + "type": "string" + }, "pscDnsName": { "description": "Output only. The DNS name of the instance for PSC connectivity. Name convention: ...alloydb-psc.goog", "readOnly": true, @@ -4102,6 +4175,36 @@ }, "type": "object" }, + "PscInstanceInfo": { + "description": "Information about the Private Service Connect (PSC) for the instance.", + "id": "PscInstanceInfo", + "properties": { + "effectivePscAutoConnectionPolicy": { + "description": "Output only. Indicates if the PSC auto connection policy is enabled for the instance. For older instances, this will be off by default, but for newer instances, this will be auto-enabled.", + "readOnly": true, + "type": "boolean" + }, + "effectivePscAutoDnsEnabled": { + "description": "Output only. The effective state of the PSC auto DNS for the instance.", + "readOnly": true, + "type": "boolean" + }, + "pscAutoDnsNames": { + "description": "Output only. Specifies the auto DNS names for the instance.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "serviceConnectionPolicy": { + "description": "Output only. The PSC service connection policy name. The format is \"projects//regions//serviceConnectionPolicies/\"", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "PscInterfaceConfig": { "description": "Configuration for setting up a PSC interface to enable outbound connectivity.", "id": "PscInterfaceConfig", diff --git a/discovery/alloydb-v1alpha.json b/discovery/alloydb-v1alpha.json index 7fa62862d5e..2942dd474a9 100644 --- a/discovery/alloydb-v1alpha.json +++ b/discovery/alloydb-v1alpha.json @@ -2086,20 +2086,9 @@ } } }, - "revision": "20260813", + "revision": "20260826", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { - "AlloydbClhErrorsAlloyDbInternalDebugInfo": { - "description": "AlloyDbInternalDebugInfo contains internal debugging information for AlloyDB errors. It is explicitly kept out of the allowlist (errors.yaml) to ensure it is sanitized (stripped) by OnePlatform for all external requests. Used only to carry internal error details to across UPC/FlowLib boundary for ObservabilityInfo.", - "id": "AlloydbClhErrorsAlloyDbInternalDebugInfo", - "properties": { - "originalError": { - "description": "The original error message or details before sanitization, used internally for debugging and logging.", - "type": "string" - } - }, - "type": "object" - }, "AuthorizedNetwork": { "description": "AuthorizedNetwork contains metadata for an authorized network.", "id": "AuthorizedNetwork", @@ -3240,6 +3229,39 @@ }, "type": "object" }, + "DnsAutomationInfo": { + "description": "DnsAutomationInfo contains information about the DNS automation for the instance.", + "id": "DnsAutomationInfo", + "properties": { + "fullyQualifiedDomainName": { + "description": "Output only. The fully qualified domain name of the instance for DNS automation. Example: \"...alloydb.goog.\". Note: The AUDIT directive is intentionally omitted because this field contains sensitive network topology information.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the DNS automation.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING_CREATE", + "ACTIVE", + "PENDING_DELETE", + "CREATE_FAILED", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "DNS record creation is pending.", + "DNS record is active.", + "DNS record deletion is pending.", + "DNS record creation failed.", + "DNS record deletion failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -4553,11 +4575,29 @@ "description": "The consumer project to which the PSC service automation endpoint will be created.", "type": "string" }, + "dnsAutomationInfos": { + "description": "Output only. List of DNS automation info for the PSC auto connection.", + "items": { + "$ref": "DnsAutomationInfo" + }, + "readOnly": true, + "type": "array" + }, "ipAddress": { "description": "Output only. The IP address of the PSC service automation endpoint.", "readOnly": true, "type": "string" }, + "serviceConnectionPolicy": { + "description": "Output only. The PSC service connection policy name. The format is \"projects//regions//serviceConnectionPolicies/\"", + "readOnly": true, + "type": "string" + }, + "serviceConnectionPolicyCreationState": { + "description": "Output only. The creation state or result of the connection policy. Possible values include: - `ACTIVE`: The policy was created successfully. - `PERMISSION_DENIED`: Sufficient permissions were not provided. Note that this field is an unstructured output and customers should not rely on the specific string value or error message directly.", + "readOnly": true, + "type": "string" + }, "status": { "description": "Output only. The status of the PSC service automation connection. Possible values: \"STATE_UNSPECIFIED\" - An invalid state as the default case. \"ACTIVE\" - The connection has been created successfully. \"FAILED\" - The connection is not functional since some resources on the connection fail to be created. \"CREATING\" - The connection is being created. \"DELETING\" - The connection is being deleted. \"CREATE_REPAIRING\" - The connection is being repaired to complete creation. \"DELETE_REPAIRING\" - The connection is being repaired to complete deletion.", "readOnly": true, diff --git a/discovery/alloydb-v1beta.json b/discovery/alloydb-v1beta.json index 79bbbe2ef2a..db6605b7804 100644 --- a/discovery/alloydb-v1beta.json +++ b/discovery/alloydb-v1beta.json @@ -2083,20 +2083,9 @@ } } }, - "revision": "20260813", + "revision": "20260826", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { - "AlloydbClhErrorsAlloyDbInternalDebugInfo": { - "description": "AlloyDbInternalDebugInfo contains internal debugging information for AlloyDB errors. It is explicitly kept out of the allowlist (errors.yaml) to ensure it is sanitized (stripped) by OnePlatform for all external requests. Used only to carry internal error details to across UPC/FlowLib boundary for ObservabilityInfo.", - "id": "AlloydbClhErrorsAlloyDbInternalDebugInfo", - "properties": { - "originalError": { - "description": "The original error message or details before sanitization, used internally for debugging and logging.", - "type": "string" - } - }, - "type": "object" - }, "AuthorizedNetwork": { "description": "AuthorizedNetwork contains metadata for an authorized network.", "id": "AuthorizedNetwork", @@ -3221,6 +3210,39 @@ }, "type": "object" }, + "DnsAutomationInfo": { + "description": "DnsAutomationInfo contains information about the DNS automation for the instance.", + "id": "DnsAutomationInfo", + "properties": { + "fullyQualifiedDomainName": { + "description": "Output only. The fully qualified domain name of the instance for DNS automation. Example: \"...alloydb.goog.\". Note: The AUDIT directive is intentionally omitted because this field contains sensitive network topology information.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the DNS automation.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING_CREATE", + "ACTIVE", + "PENDING_DELETE", + "CREATE_FAILED", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "DNS record creation is pending.", + "DNS record is active.", + "DNS record deletion is pending.", + "DNS record creation failed.", + "DNS record deletion failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -4529,11 +4551,29 @@ "description": "The consumer project to which the PSC service automation endpoint will be created.", "type": "string" }, + "dnsAutomationInfos": { + "description": "Output only. List of DNS automation info for the PSC auto connection.", + "items": { + "$ref": "DnsAutomationInfo" + }, + "readOnly": true, + "type": "array" + }, "ipAddress": { "description": "Output only. The IP address of the PSC service automation endpoint.", "readOnly": true, "type": "string" }, + "serviceConnectionPolicy": { + "description": "Output only. The PSC service connection policy name. The format is \"projects//regions//serviceConnectionPolicies/\"", + "readOnly": true, + "type": "string" + }, + "serviceConnectionPolicyCreationState": { + "description": "Output only. The creation state or result of the connection policy. Possible values include: - `ACTIVE`: The policy was created successfully. - `PERMISSION_DENIED`: Sufficient permissions were not provided. Note that this field is an unstructured output and customers should not rely on the specific string value or error message directly.", + "readOnly": true, + "type": "string" + }, "status": { "description": "Output only. The status of the PSC service automation connection. Possible values: \"STATE_UNSPECIFIED\" - An invalid state as the default case. \"ACTIVE\" - The connection has been created successfully. \"FAILED\" - The connection is not functional since some resources on the connection fail to be created. \"CREATING\" - The connection is being created. \"DELETING\" - The connection is being deleted. \"CREATE_REPAIRING\" - The connection is being repaired to complete creation. \"DELETE_REPAIRING\" - The connection is being repaired to complete deletion.", "readOnly": true, diff --git a/discovery/androidpublisher-v3.json b/discovery/androidpublisher-v3.json index f6dd3e63c1d..a3d3a7c66d4 100644 --- a/discovery/androidpublisher-v3.json +++ b/discovery/androidpublisher-v3.json @@ -5970,7 +5970,7 @@ } } }, - "revision": "20260825", + "revision": "20260908", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -6488,7 +6488,7 @@ "type": "object" }, "AppStoreAppActiveApkSet": { - "description": "An installable set of active APKs. A set of APKs might only contain 1 APK if the app in question publishes using APKs. If the app uses app bundles (or a similar technology), this set should contain all APKs (even optional ones) that might be installed for this app. A set of APKs should be installable together. If certain APKs are exclusive to one another and cannot be installed together, then a separate AppStoreAppActiveApkSet should be created.", + "description": "An installable set of active APKs. All APKs in this set should belong to the same version of the app. A set of APKs might only contain 1 APK if the app in question publishes using APKs. If the app uses app bundles (or a similar technology), this set should contain all APKs (even optional ones) that might be installed for this app. A set of APKs should be installable together. If certain APKs are exclusive to one another and cannot be installed together, then a separate AppStoreAppActiveApkSet should be created.", "id": "AppStoreAppActiveApkSet", "properties": { "baseApkId": { @@ -8857,6 +8857,45 @@ }, "type": "object" }, + "ExternalContentLinkDetails": { + "description": "Reporting details unique to the external content link program.", + "id": "ExternalContentLinkDetails", + "properties": { + "externalAppCategory": { + "description": "Optional. The category of the downlaoded app. This must match the category provided in Play Console during the external app verification process. Only required for app installs.", + "enum": [ + "EXTERNAL_CONTENT_APP_CATEGORY_UNSPECIFIED", + "APP", + "GAME" + ], + "enumDescriptions": [ + "Unspecified, do not use.", + "The app is classified under the app category.", + "The app is classified under the game category." + ], + "type": "string" + }, + "installedAppPackage": { + "description": "Optional. The package name of the app downloaded through this transaction. Only required for app installs.", + "type": "string" + }, + "linkType": { + "description": "Required. The type content being reported by this transaction.", + "enum": [ + "EXTERNAL_CONTENT_LINK_TYPE_UNSPECIFIED", + "LINK_TO_DIGITAL_CONTENT_OFFER", + "LINK_TO_APP_DOWNLOAD" + ], + "enumDescriptions": [ + "Unspecified, do not use.", + "An offer to purchase digital content.", + "An app install." + ], + "type": "string" + } + }, + "type": "object" + }, "ExternalOfferDetails": { "description": "Reporting details unique to the external offers program.", "id": "ExternalOfferDetails", @@ -8941,6 +8980,10 @@ "description": "Output only. The current tax amount. This represents the current tax amount including any refunds that may have been applied to this transaction.", "readOnly": true }, + "externalContentLinkDetails": { + "$ref": "ExternalContentLinkDetails", + "description": "Optional. Details necessary to accurately report external content link transactions." + }, "externalOfferDetails": { "$ref": "ExternalOfferDetails", "description": "Optional. Details necessary to accurately report external offers transactions." @@ -10792,6 +10835,18 @@ }, "type": "object" }, + "OneTimeProductGameRewardOffer": { + "description": "Configuration specific to game reward offers.", + "id": "OneTimeProductGameRewardOffer", + "properties": { + "redemptionLimit": { + "description": "Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "OneTimeProductListing": { "description": "Regional store listing for a one-time product.", "id": "OneTimeProductListing", @@ -10819,6 +10874,10 @@ "$ref": "OneTimeProductDiscountedOffer", "description": "A discounted offer." }, + "gameRewardOffer": { + "$ref": "OneTimeProductGameRewardOffer", + "description": "A game reward offer." + }, "offerId": { "description": "Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.", "type": "string" diff --git a/discovery/apigateway-v1.json b/discovery/apigateway-v1.json index 8c603caeb8f..9ad405996c8 100644 --- a/discovery/apigateway-v1.json +++ b/discovery/apigateway-v1.json @@ -1094,7 +1094,7 @@ } } }, - "revision": "20260422", + "revision": "20260902", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1412,6 +1412,21 @@ "description": "Optional. Display name.", "type": "string" }, + "effectiveStreamingMode": { + "description": "Output only. The streaming mode this gateway is actually served with, which the service resolves at creation from `streaming_mode`, the referenced API Config, and the platform default at the time. Read this rather than `streaming_mode` to determine whether a gateway supports response streaming.", + "enum": [ + "EFFECTIVE_STREAMING_MODE_UNSPECIFIED", + "EFFECTIVE_STREAMING_MODE_DISABLED", + "EFFECTIVE_STREAMING_MODE_ENABLED" + ], + "enumDescriptions": [ + "The service has not resolved a mode. Every gateway returned by `GetGateway` and `ListGateways` carries a resolved mode, so this value should not be returned under normal circumstances.", + "The gateway does not support response streaming.", + "The gateway supports response streaming." + ], + "readOnly": true, + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -1445,6 +1460,18 @@ "readOnly": true, "type": "string" }, + "streamingMode": { + "description": "Optional. Immutable. Requests response streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with.", + "enum": [ + "STREAMING_MODE_UNSPECIFIED", + "STREAMING_MODE_ENABLED" + ], + "enumDescriptions": [ + "The service selects the streaming mode.", + "Streaming is enabled. The gateway supports response streaming: server-sent events, HTTP chunked transfer, WebSockets, and gRPC/HTTP2 bidirectional streaming." + ], + "type": "string" + }, "updateTime": { "description": "Output only. Updated time.", "format": "google-datetime", diff --git a/discovery/apigateway-v1beta.json b/discovery/apigateway-v1beta.json index 473ad50dbad..cfaca626016 100644 --- a/discovery/apigateway-v1beta.json +++ b/discovery/apigateway-v1beta.json @@ -1094,7 +1094,7 @@ } } }, - "revision": "20260422", + "revision": "20260902", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1428,6 +1428,21 @@ "description": "Optional. Display name.", "type": "string" }, + "effectiveStreamingMode": { + "description": "Output only. The streaming mode this gateway is actually served with, which the service resolves at creation from `streaming_mode`, the referenced API Config, and the platform default at the time. Read this rather than `streaming_mode` to determine whether a gateway supports response streaming.", + "enum": [ + "EFFECTIVE_STREAMING_MODE_UNSPECIFIED", + "EFFECTIVE_STREAMING_MODE_DISABLED", + "EFFECTIVE_STREAMING_MODE_ENABLED" + ], + "enumDescriptions": [ + "The service has not resolved a mode. Every gateway returned by `GetGateway` and `ListGateways` carries a resolved mode, so this value should not be returned under normal circumstances.", + "The gateway does not support response streaming.", + "The gateway supports response streaming." + ], + "readOnly": true, + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -1461,6 +1476,18 @@ "readOnly": true, "type": "string" }, + "streamingMode": { + "description": "Optional. Immutable. Requests response streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with.", + "enum": [ + "STREAMING_MODE_UNSPECIFIED", + "STREAMING_MODE_ENABLED" + ], + "enumDescriptions": [ + "The service selects the streaming mode.", + "Streaming is enabled. The gateway supports response streaming: server-sent events, HTTP chunked transfer, WebSockets, and gRPC/HTTP2 bidirectional streaming." + ], + "type": "string" + }, "updateTime": { "description": "Output only. Updated time.", "format": "google-datetime", diff --git a/discovery/apihub-v1.json b/discovery/apihub-v1.json index 6a17255d3ab..ef06d10ce41 100644 --- a/discovery/apihub-v1.json +++ b/discovery/apihub-v1.json @@ -47,11 +47,21 @@ "endpointUrl": "https://apihub.europe-west1.rep.googleapis.com/", "location": "europe-west1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://apihub.europe-west9.rep.googleapis.com/", "location": "europe-west9" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://apihub.us-central1.rep.googleapis.com/", @@ -66,6 +76,11 @@ "description": "Regional Endpoint", "endpointUrl": "https://apihub.us-west1.rep.googleapis.com/", "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apihub.us-west2.rep.googleapis.com/", + "location": "us-west2" } ], "fullyEncodeReservedExpansion": true, @@ -3435,7 +3450,7 @@ } } }, - "revision": "20260819", + "revision": "20260831", "rootUrl": "https://apihub.googleapis.com/", "schemas": { "Empty": { @@ -3535,6 +3550,11 @@ "description": "Addon resource.", "id": "GoogleCloudApihubV1Addon", "properties": { + "boostSpecGeminiRegionId": { + "description": "Output only. The Vertex AI region where the BoostSpec Gemini model calls run for this API Hub instance. Populated only for the SpecGen addon (`system-spec-generation`); other addons leave this field empty. `gemini-2.5-flash` is not available in every API Hub region, so the effective region may differ from the API Hub instance's own region. The value follows these semantics: - `\"\"`: BoostSpec is disabled in this region (the addon is not SpecGen, or the API Hub instance region has no configured Gemini endpoint or fallback). - Equal to the API Hub instance region: BoostSpec calls run in-region. - Differs from the API Hub instance region: BoostSpec calls run in the specified fallback region. Callers rendering this field can derive the three display states from this single field combined with the API Hub instance region.", + "readOnly": true, + "type": "string" + }, "config": { "$ref": "GoogleCloudApihubV1AddonConfig", "description": "Required. The configuration of the addon." diff --git a/discovery/artifactregistry-v1.json b/discovery/artifactregistry-v1.json index db6bdefa1fe..3dfe1a9a15e 100644 --- a/discovery/artifactregistry-v1.json +++ b/discovery/artifactregistry-v1.json @@ -2714,7 +2714,7 @@ } } }, - "revision": "20260702", + "revision": "20260822", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -4716,7 +4716,8 @@ "KFP", "GO", "GENERIC", - "RUBY" + "RUBY", + "CONDA" ], "enumDescriptions": [ "Unspecified package format.", @@ -4730,7 +4731,8 @@ "Kubeflow Pipelines package format.", "Go package format.", "Generic package format.", - "Ruby package format." + "Ruby package format.", + "Conda package format." ], "type": "string" }, @@ -4955,6 +4957,18 @@ "fileId": { "description": "Optional. The ID of the file. If left empty will default to sha256 digest of the content uploaded.", "type": "string" + }, + "fileType": { + "description": "Optional. The type of the file to upload. Defaulting to ATTACHMENT if not specified.", + "enum": [ + "ATTACHMENT", + "ARTIFACT" + ], + "enumDescriptions": [ + "Attachment file. Default value.", + "Facade specific artifact file." + ], + "type": "string" } }, "type": "object" @@ -4988,6 +5002,13 @@ "description": "The ID of the package of the generic artifact. If the package does not exist, a new package will be created. The `package_id` should start and end with a letter or number, only contain letters, numbers, hyphens, underscores, and periods, and not exceed 256 characters.", "type": "string" }, + "versionAnnotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Client specified annotations to attach to the version upon creation. This field is only applied if the Version is created during this upload. If the Version already exists and this field is set, the request will fail.", + "type": "object" + }, "versionId": { "description": "The ID of the version of the generic artifact. If the version does not exist, a new version will be created. The version_id must start and end with a letter or number, can only contain lowercase letters, numbers, the following characters [-.+~:], i.e.[a-z0-9-.+~:] and cannot exceed a total of 128 characters. Creating a version called `latest` is not allowed.", "type": "string" @@ -5273,16 +5294,16 @@ "id": "VulnerabilityScanningConfig", "properties": { "enablementConfig": { - "description": "Optional. Config for whether this repository has vulnerability scanning disabled.", + "description": "Optional. Config for whether this repository has vulnerability scanning disabled. When unset (ENABLEMENT_CONFIG_UNSPECIFIED), this is treated as INHERITED for Docker repositories and DISABLED for non-Docker repositories.", "enum": [ "ENABLEMENT_CONFIG_UNSPECIFIED", "INHERITED", "DISABLED" ], "enumDescriptions": [ - "Not set. This will be treated as INHERITED for Docker repositories and DISABLED for non-Docker repositories.", - "Scanning is Enabled, but dependent on API enablement.", - "No automatic vulnerability scanning will be performed for this repository." + "Unspecified enablement configuration.", + "Enables the feature, but is dependent on parent API enablement.", + "Disables the feature for this repository." ], "type": "string" }, diff --git a/discovery/auditmanager-v1.json b/discovery/auditmanager-v1.json new file mode 100644 index 00000000000..186e609d0a5 --- /dev/null +++ b/discovery/auditmanager-v1.json @@ -0,0 +1,2221 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-auditmanager": { + "description": "See, edit, configure, and delete your Google Cloud Auditmanager data and see the email address for your Google Account" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://auditmanager.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Audit Manager", + "description": "The Audit Manager API allows customers to manage compliance audits.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/assured-workloads/docs/audit-manager", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://auditmanager.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://auditmanager.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://auditmanager.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + } + ], + "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": "auditmanager:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://auditmanager.mtls.googleapis.com/", + "name": "auditmanager", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "folders": { + "resources": { + "locations": { + "methods": { + "enrollResource": { + "description": "Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}:enrollResource", + "httpMethod": "POST", + "id": "auditmanager.folders.locations.enrollResource", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}:enrollResource", + "request": { + "$ref": "EnrollResourceRequest" + }, + "response": { + "$ref": "Enrollment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "auditReports": { + "methods": { + "generate": { + "description": "Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditReports:generate", + "httpMethod": "POST", + "id": "auditmanager.folders.locations.auditReports.generate", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}/auditReports:generate", + "request": { + "$ref": "GenerateAuditReportRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the full metadata and findings for an audit report.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditReports/{auditReportsId}", + "httpMethod": "GET", + "id": "auditmanager.folders.locations.auditReports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the audit report, in one of the following formats: * `projects/{project}/locations/{location}/auditReports/{audit_report}` * `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `organizations/{organization}/locations/{location}/auditReports/{audit_report}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/auditReports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AuditReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the audit reports for the organization, folder, or project that you specify as the parent scope.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditReports", + "httpMethod": "GET", + "id": "auditmanager.folders.locations.auditReports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call, to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/auditReports", + "response": { + "$ref": "ListAuditReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "auditScopeReports": { + "methods": { + "generate": { + "description": "Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditScopeReports:generate", + "httpMethod": "POST", + "id": "auditmanager.folders.locations.auditScopeReports.generate", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}/auditScopeReports:generate", + "request": { + "$ref": "GenerateAuditScopeReportRequest" + }, + "response": { + "$ref": "AuditScopeReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operationDetails": { + "methods": { + "get": { + "description": "Gets details about the long-running operation to generate audit reports.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/operationDetails/{operationDetailsId}", + "httpMethod": "GET", + "id": "auditmanager.folders.locations.operationDetails.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/operationDetails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operationIds": { + "methods": { + "get": { + "description": "Gets details about the long-running operation to generate audit reports.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/operationIds/{operationIdsId}", + "httpMethod": "GET", + "id": "auditmanager.folders.locations.operationIds.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/operationIds/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "resourceEnrollmentStatuses": { + "methods": { + "get": { + "description": "Gets a resource and its enrollment status.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/resourceEnrollmentStatuses/{resourceEnrollmentStatusesId}", + "httpMethod": "GET", + "id": "auditmanager.folders.locations.resourceEnrollmentStatuses.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/resourceEnrollmentStatuses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ResourceEnrollmentStatus" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the folders and projects in an organization or folder, along with their enrollments.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/resourceEnrollmentStatuses", + "httpMethod": "GET", + "id": "auditmanager.folders.locations.resourceEnrollmentStatuses.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call, to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent organization or folder to list enrollment statuses for, in one of the following formats: * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourceEnrollmentStatuses", + "response": { + "$ref": "ListResourceEnrollmentStatusesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "standards": { + "resources": { + "controls": { + "methods": { + "list": { + "description": "Lists the controls that you must implement to become compliant to a regulatory standard.", + "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/standards/{standardsId}/controls", + "httpMethod": "GET", + "id": "auditmanager.folders.locations.standards.controls.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call, to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Standard to list controls for, in one of the following formats: * `projects/{project}/locations/{location}/standards/{standard}` * `folders/{folder}/locations/{location}/standards/{standard}` * `organizations/{organization}/locations/{location}/standards/{standard}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/standards/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/controls", + "response": { + "$ref": "ListControlsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, + "organizations": { + "resources": { + "locations": { + "methods": { + "enrollResource": { + "description": "Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}:enrollResource", + "httpMethod": "POST", + "id": "auditmanager.organizations.locations.enrollResource", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}:enrollResource", + "request": { + "$ref": "EnrollResourceRequest" + }, + "response": { + "$ref": "Enrollment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "auditReports": { + "methods": { + "generate": { + "description": "Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditReports:generate", + "httpMethod": "POST", + "id": "auditmanager.organizations.locations.auditReports.generate", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}/auditReports:generate", + "request": { + "$ref": "GenerateAuditReportRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the full metadata and findings for an audit report.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditReports/{auditReportsId}", + "httpMethod": "GET", + "id": "auditmanager.organizations.locations.auditReports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the audit report, in one of the following formats: * `projects/{project}/locations/{location}/auditReports/{audit_report}` * `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `organizations/{organization}/locations/{location}/auditReports/{audit_report}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/auditReports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AuditReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the audit reports for the organization, folder, or project that you specify as the parent scope.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditReports", + "httpMethod": "GET", + "id": "auditmanager.organizations.locations.auditReports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call, to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/auditReports", + "response": { + "$ref": "ListAuditReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "auditScopeReports": { + "methods": { + "generate": { + "description": "Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditScopeReports:generate", + "httpMethod": "POST", + "id": "auditmanager.organizations.locations.auditScopeReports.generate", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}/auditScopeReports:generate", + "request": { + "$ref": "GenerateAuditScopeReportRequest" + }, + "response": { + "$ref": "AuditScopeReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operationDetails": { + "methods": { + "get": { + "description": "Gets details about the long-running operation to generate audit reports.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operationDetails/{operationDetailsId}", + "httpMethod": "GET", + "id": "auditmanager.organizations.locations.operationDetails.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operationDetails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operationIds": { + "methods": { + "get": { + "description": "Gets details about the long-running operation to generate audit reports.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operationIds/{operationIdsId}", + "httpMethod": "GET", + "id": "auditmanager.organizations.locations.operationIds.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operationIds/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "auditmanager.organizations.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "auditmanager.organizations.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "auditmanager.organizations.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "auditmanager.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" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "resourceEnrollmentStatuses": { + "methods": { + "get": { + "description": "Gets a resource and its enrollment status.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/resourceEnrollmentStatuses/{resourceEnrollmentStatusesId}", + "httpMethod": "GET", + "id": "auditmanager.organizations.locations.resourceEnrollmentStatuses.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/resourceEnrollmentStatuses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ResourceEnrollmentStatus" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the folders and projects in an organization or folder, along with their enrollments.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/resourceEnrollmentStatuses", + "httpMethod": "GET", + "id": "auditmanager.organizations.locations.resourceEnrollmentStatuses.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call, to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent organization or folder to list enrollment statuses for, in one of the following formats: * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourceEnrollmentStatuses", + "response": { + "$ref": "ListResourceEnrollmentStatusesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "standards": { + "resources": { + "controls": { + "methods": { + "list": { + "description": "Lists the controls that you must implement to become compliant to a regulatory standard.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/standards/{standardsId}/controls", + "httpMethod": "GET", + "id": "auditmanager.organizations.locations.standards.controls.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call, to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Standard to list controls for, in one of the following formats: * `projects/{project}/locations/{location}/standards/{standard}` * `folders/{folder}/locations/{location}/standards/{standard}` * `organizations/{organization}/locations/{location}/standards/{standard}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/standards/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/controls", + "response": { + "$ref": "ListControlsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, + "projects": { + "resources": { + "locations": { + "methods": { + "enrollResource": { + "description": "Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:enrollResource", + "httpMethod": "POST", + "id": "auditmanager.projects.locations.enrollResource", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}:enrollResource", + "request": { + "$ref": "EnrollResourceRequest" + }, + "response": { + "$ref": "Enrollment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "auditmanager.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-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "auditmanager.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "extraLocationTypes": { + "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", + "location": "query", + "repeated": true, + "type": "string" + }, + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "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-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "auditReports": { + "methods": { + "generate": { + "description": "Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditReports:generate", + "httpMethod": "POST", + "id": "auditmanager.projects.locations.auditReports.generate", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}/auditReports:generate", + "request": { + "$ref": "GenerateAuditReportRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the full metadata and findings for an audit report.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditReports/{auditReportsId}", + "httpMethod": "GET", + "id": "auditmanager.projects.locations.auditReports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the audit report, in one of the following formats: * `projects/{project}/locations/{location}/auditReports/{audit_report}` * `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `organizations/{organization}/locations/{location}/auditReports/{audit_report}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/auditReports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AuditReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the audit reports for the organization, folder, or project that you specify as the parent scope.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditReports", + "httpMethod": "GET", + "id": "auditmanager.projects.locations.auditReports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call, to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/auditReports", + "response": { + "$ref": "ListAuditReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "auditScopeReports": { + "methods": { + "generate": { + "description": "Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditScopeReports:generate", + "httpMethod": "POST", + "id": "auditmanager.projects.locations.auditScopeReports.generate", + "parameterOrder": [ + "scope" + ], + "parameters": { + "scope": { + "description": "Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}/auditScopeReports:generate", + "request": { + "$ref": "GenerateAuditScopeReportRequest" + }, + "response": { + "$ref": "AuditScopeReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operationDetails": { + "methods": { + "get": { + "description": "Gets details about the long-running operation to generate audit reports.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operationDetails/{operationDetailsId}", + "httpMethod": "GET", + "id": "auditmanager.projects.locations.operationDetails.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operationDetails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operationIds": { + "methods": { + "get": { + "description": "Gets details about the long-running operation to generate audit reports.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operationIds/{operationIdsId}", + "httpMethod": "GET", + "id": "auditmanager.projects.locations.operationIds.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operationIds/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "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": "auditmanager.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-auditmanager", + "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": "auditmanager.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-auditmanager", + "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": "auditmanager.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-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "auditmanager.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" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "resourceEnrollmentStatuses": { + "methods": { + "get": { + "description": "Gets a resource and its enrollment status.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/resourceEnrollmentStatuses/{resourceEnrollmentStatusesId}", + "httpMethod": "GET", + "id": "auditmanager.projects.locations.resourceEnrollmentStatuses.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/resourceEnrollmentStatuses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ResourceEnrollmentStatus" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "standards": { + "resources": { + "controls": { + "methods": { + "list": { + "description": "Lists the controls that you must implement to become compliant to a regulatory standard.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/standards/{standardsId}/controls", + "httpMethod": "GET", + "id": "auditmanager.projects.locations.standards.controls.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call, to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Standard to list controls for, in one of the following formats: * `projects/{project}/locations/{location}/standards/{standard}` * `folders/{folder}/locations/{location}/standards/{standard}` * `organizations/{organization}/locations/{location}/standards/{standard}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/standards/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/controls", + "response": { + "$ref": "ListControlsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-auditmanager", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20260826", + "rootUrl": "https://auditmanager.googleapis.com/", + "schemas": { + "AuditReport": { + "description": "An audit report.", + "id": "AuditReport", + "properties": { + "complianceFramework": { + "description": "Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`.", + "readOnly": true, + "type": "string" + }, + "complianceStandard": { + "deprecated": true, + "description": "Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead.", + "readOnly": true, + "type": "string" + }, + "controlDetails": { + "description": "Output only. Overall status of the controls.", + "items": { + "$ref": "ControlDetails" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. Creation time of the audit report.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "destinationDetails": { + "$ref": "DestinationDetails", + "description": "Output only. Cloud Storage bucket where the audit report is uploaded to.", + "readOnly": true + }, + "name": { + "description": "Identifier. Name of the audit report, in one of the following formats: * `projects/{project}/locations/{location}/auditReports/{audit_report}` * `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `organizations/{organization}/locations/{location}/auditReports/{audit_report}`", + "type": "string" + }, + "operationId": { + "description": "Output only. Client operation ID for the audit report.", + "readOnly": true, + "type": "string" + }, + "reportGenerationState": { + "description": "Output only. State of audit report generation.", + "enum": [ + "REPORT_GENERATION_STATE_UNSPECIFIED", + "IN_PROGRESS", + "COMPLETED", + "FAILED", + "SUMMARY_UNKNOWN" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The process is in progress. The operation can have any state except for `OPERATION_STATE_DONE` or `OPERATION_STATE_FAILED`.", + "The process is completed. The operation state is `OPERATION_STATE_DONE`.", + "The process has failed. The operation state is `OPERATION_STATE_FAILED`.", + "The process completed, but the report summary's status is unknown. This state isn't used for new reports." + ], + "readOnly": true, + "type": "string" + }, + "reportSummary": { + "$ref": "ReportSummary", + "description": "Output only. Report summary that includes information about compliance and violation counts.", + "readOnly": true + }, + "scope": { + "description": "Output only. Organization, folder, or project that the report is generated for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`", + "readOnly": true, + "type": "string" + }, + "scopeId": { + "description": "Output only. Project number, folder ID, or organization ID that the audit report was generated for.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AuditScopeReport": { + "description": "Audit scope report.", + "id": "AuditScopeReport", + "properties": { + "name": { + "description": "Identifier. Name for the audit scope report, in one of the following formats: * `projects/{project}/locations/{location}/auditScopeReports/{audit_scope_report}` * `folders/{folder}/locations/{location}/auditScopeReports/{audit_scope_report}` * `organizations/{organization}/locations/{location}/auditScopeReports/{audit_scope_report}`", + "type": "string" + }, + "scopeReportContents": { + "description": "Audit scope report content in byte format.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Control": { + "description": "A control.", + "id": "Control", + "properties": { + "controlFamily": { + "$ref": "ControlFamily", + "description": "Output only. Regulatory family of the control.", + "readOnly": true + }, + "customerResponsibilityDescription": { + "description": "Output only. A description of your responsibility for this control.", + "readOnly": true, + "type": "string" + }, + "customerResponsibilityImplementation": { + "description": "Output only. A description of how you can implement your responsibility for this control.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. Description of the control.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name of the control.", + "readOnly": true, + "type": "string" + }, + "family": { + "description": "Output only. Category that the control belongs to.", + "enum": [ + "FAMILY_UNSPECIFIED", + "AC", + "AT", + "AU", + "CA", + "CM", + "CP", + "IA", + "IR", + "MA", + "MP", + "PE", + "PL", + "PS", + "RA", + "SA", + "SC", + "SI", + "SR" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Access control.", + "Awareness and training.", + "Audit and accountability.", + "Certification, accreditation and security assessments.", + "Configuration management and change control.", + "Contingency planning and disaster recovery.", + "Identification and authentication.", + "Incident response.", + "Maintenance.", + "Media protection.", + "Physical and environmental protection.", + "Security planning.", + "Personnel security.", + "Risk assessment.", + "System services and acquisition.", + "System and communications protection.", + "System and information integrity.", + "Supply chain risk management." + ], + "readOnly": true, + "type": "string" + }, + "googleResponsibilityDescription": { + "description": "Output only. A description of Google's responsibility for this control.", + "readOnly": true, + "type": "string" + }, + "googleResponsibilityImplementation": { + "description": "Output only. A description of how Google implements its responsibility for this control.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. Control identifier that's used to fetch the findings. The identifier is the same as the control report name.", + "readOnly": true, + "type": "string" + }, + "responsibilityType": { + "description": "Output only. Who is responsible for implementing this control. Set to one of the following values: `GOOGLE`, `CUSTOMER`, or `SHARED`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ControlDetails": { + "description": "Evaluation details for a control.", + "id": "ControlDetails", + "properties": { + "complianceState": { + "description": "Output only. Overall status of the findings for the control.", + "enum": [ + "COMPLIANCE_STATE_UNSPECIFIED", + "COMPLIANT", + "VIOLATION", + "MANUAL_REVIEW_NEEDED", + "ERROR", + "AUDIT_NOT_SUPPORTED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The resource is compliant.", + "The resource isn't compliant.", + "You must complete a manual review.", + "An error was encountered during the evaluation or evidence gathering process.", + "The resource can't be audited." + ], + "readOnly": true, + "type": "string" + }, + "control": { + "$ref": "Control", + "description": "Control that the findings are being reported for." + }, + "controlReportSummary": { + "$ref": "ReportSummary", + "description": "A control report summary that provides a high-level overview of the compliance controls and the assessment status." + } + }, + "type": "object" + }, + "ControlFamily": { + "description": "Regulatory family of the control.", + "id": "ControlFamily", + "properties": { + "displayName": { + "description": "Display name of the regulatory control family.", + "type": "string" + }, + "familyId": { + "description": "ID of the regulatory control family. To find the list of supported control families, use the ListControls method and review the `control_family` field in the response.", + "type": "string" + } + }, + "type": "object" + }, + "DestinationDetails": { + "description": "Cloud Storage bucket where the audit report is uploaded to.", + "id": "DestinationDetails", + "properties": { + "gcsBucketUri": { + "description": "URI for the Cloud Storage bucket, in the format `gs://{bucket_name}`.", + "type": "string" + } + }, + "type": "object" + }, + "EligibleDestination": { + "description": "Details about the bucket where you want to upload the audit report.", + "id": "EligibleDestination", + "properties": { + "eligibleGcsBucket": { + "description": "The location of the Cloud Storage bucket where you want to upload the audit report and evidence during the GenerateAuditReport API call.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EnrollResourceRequest": { + "description": "Request message for EnrollResource.", + "id": "EnrollResourceRequest", + "properties": { + "destinations": { + "description": "Required. Cloud Storage buckets that you can upload your audit reports to during the audit process. When you enroll an organization or folder, you can choose a Cloud Storage bucket from any project in the organization or folder. If you run an audit at the project level using the service agent at the organization or folder level, all the buckets that are associated with the service agent are available.", + "items": { + "$ref": "EligibleDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "Enrollment": { + "description": "Organization, folder, or project to enroll for audit reports.", + "id": "Enrollment", + "properties": { + "destinationDetails": { + "description": "Output only. Cloud Storage buckets where you want to upload the audit reports.", + "items": { + "$ref": "DestinationDetails" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Identifier. Name of the enrollment, in one of the following formats: * `projects/{project}/locations/{location}/enrollments/{enrollment}` * `folders/{folder}/locations/{location}/enrollments/{enrollment}` * `organizations/{organization}/locations/{location}/enrollments/{enrollment}`", + "type": "string" + } + }, + "type": "object" + }, + "GenerateAuditReportRequest": { + "description": "Request message for GenerateAuditReport.", + "id": "GenerateAuditReportRequest", + "properties": { + "complianceFramework": { + "description": "Required. The framework that's used for the audit report. For example, `NIST_800_53`.", + "type": "string" + }, + "complianceStandard": { + "deprecated": true, + "description": "Optional. Deprecated. Compliance standard for the audit report. Use the `compliance_framework` field instead.", + "type": "string" + }, + "gcsUri": { + "description": "URL for the Cloud Storage bucket where the report and evidence is uploaded. You must select a bucket that was provided during the enrollment process.", + "type": "string" + }, + "reportFormat": { + "description": "Required. Format for the audit report.", + "enum": [ + "AUDIT_REPORT_FORMAT_UNSPECIFIED", + "AUDIT_REPORT_FORMAT_ODF" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Open Document format." + ], + "type": "string" + }, + "validateOnly": { + "description": "Optional. If `true`, only validates the request and does not generate the audit report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without triggering expensive Long-Running Operations (LROs) or consuming resource quotas.", + "type": "boolean" + } + }, + "type": "object" + }, + "GenerateAuditScopeReportRequest": { + "description": "Request message for GenerateAuditScopeReport.", + "id": "GenerateAuditScopeReportRequest", + "properties": { + "complianceFramework": { + "description": "Required. Framework (set of controls) that the audit scope report is generated against. For example, `NIST_800_53`.", + "type": "string" + }, + "complianceStandard": { + "deprecated": true, + "description": "Optional. Deprecated. The standard (industry or regulatory requirements) that the audit scope report is run against. Use the `compliance_framework` field instead.", + "type": "string" + }, + "reportFormat": { + "description": "Required. Format for the audit scope report.", + "enum": [ + "AUDIT_SCOPE_REPORT_FORMAT_UNSPECIFIED", + "AUDIT_SCOPE_REPORT_FORMAT_ODF" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Open Document format." + ], + "type": "string" + }, + "validateOnly": { + "description": "Optional. If `true`, only validates the request and does not generate the audit scope report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.", + "type": "boolean" + } + }, + "type": "object" + }, + "ListAuditReportsResponse": { + "description": "Response message for ListAuditReports.", + "id": "ListAuditReportsResponse", + "properties": { + "auditReports": { + "description": "Output only. Audit reports.", + "items": { + "$ref": "AuditReport" + }, + "readOnly": true, + "type": "array" + }, + "nextPageToken": { + "description": "Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListControlsResponse": { + "description": "Response message for ListControls.", + "id": "ListControlsResponse", + "properties": { + "controls": { + "description": "Output only. Controls for a given regulatory standard.", + "items": { + "$ref": "Control" + }, + "readOnly": true, + "type": "array" + }, + "nextPageToken": { + "description": "Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "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" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListResourceEnrollmentStatusesResponse": { + "description": "Response message for ListResourceEnrollmentStatuses.", + "id": "ListResourceEnrollmentStatusesResponse", + "properties": { + "nextPageToken": { + "description": "Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages.", + "readOnly": true, + "type": "string" + }, + "resourceEnrollmentStatuses": { + "description": "Resources with their enrollment status.", + "items": { + "$ref": "ResourceEnrollmentStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata for the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. The API version used to start the operation. For example, `v1`.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Time that the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. Time that the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Whether you requested that the operation be cancelled. Operations that were cancelled successfully have an Operation.error value with a status code Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. A human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. A server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. The name of the verb that was executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ReportGenerationProgress": { + "description": "Details about the current status of the report-generation process.", + "id": "ReportGenerationProgress", + "properties": { + "auditReport": { + "description": "Output only. Name of the audit report.", + "readOnly": true, + "type": "string" + }, + "destinationGcsBucket": { + "description": "Output only. Cloud Storage bucket where the audit report is uploaded to after the evaluation process is completed.", + "readOnly": true, + "type": "string" + }, + "evaluationPercentComplete": { + "description": "Progress of the evaluation process. The progress is defined in terms of percentage complete.", + "format": "double", + "type": "number" + }, + "failureReason": { + "description": "Output only. Reason for failure during the audit report generation process. This field is set only if the `OperationState` attribute is `OPERATION_STATE_FAILED`.", + "readOnly": true, + "type": "string" + }, + "reportGenerationPercentComplete": { + "description": "Report generation progress, defined in terms of percentage complete. Until evaluation is complete, this value is always `0`.", + "format": "double", + "type": "number" + }, + "reportUploadingPercentComplete": { + "description": "Report uploading progress, defined in terms of percentage complete. Until evaluation and report generation are complete, this value is always `0`.", + "format": "double", + "type": "number" + }, + "state": { + "description": "Output only. Current state of execution for report generation.", + "enum": [ + "OPERATION_STATE_UNSPECIFIED", + "OPERATION_STATE_NOT_STARTED", + "OPERATION_STATE_EVALUATION_IN_PROGRESS", + "OPERATION_STATE_EVALUATION_DONE", + "OPERATION_STATE_EVIDENCE_REPORT_GENERATION_IN_PROGRESS", + "OPERATION_STATE_EVIDENCE_REPORT_GENERATION_DONE", + "OPERATION_STATE_EVIDENCE_UPLOAD_IN_PROGRESS", + "OPERATION_STATE_DONE", + "OPERATION_STATE_FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Audit generation process hasn't started.", + "Evaluation process is in progress.", + "Evaluation process is completed.", + "Report generation process is in progress.", + "Report generation process is completed.", + "The audit report and evidence are being uploaded to your bucket.", + "The audit report and evidence are uploaded to your bucket.", + "Audit report generation process failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ReportSummary": { + "description": "Additional information about the number of checks that were made during an audit operation.", + "id": "ReportSummary", + "properties": { + "compliantCount": { + "description": "Number of compliant checks.", + "format": "int32", + "type": "integer" + }, + "errorCount": { + "description": "Number of checks that can't be performed due to errors.", + "format": "int32", + "type": "integer" + }, + "manualReviewNeededCount": { + "description": "Number of checks that require a manual review.", + "format": "int32", + "type": "integer" + }, + "totalCount": { + "description": "Total number of evaluated checks.", + "format": "int32", + "type": "integer" + }, + "violationCount": { + "description": "Number of checks with violations.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ResourceEnrollmentStatus": { + "description": "An organization, folder, or project with its enrollment status.", + "id": "ResourceEnrollmentStatus", + "properties": { + "displayName": { + "description": "Output only. Display name for the organization, folder, or project.", + "readOnly": true, + "type": "string" + }, + "enrolled": { + "deprecated": true, + "description": "Output only. Deprecated. Whether the organization, folder, or project is enrolled. Use `enrollment_state` instead.", + "readOnly": true, + "type": "boolean" + }, + "enrollment": { + "$ref": "Enrollment", + "description": "Output only. Enrolled destination details for the organization, folder, or project.", + "readOnly": true + }, + "enrollmentState": { + "description": "Output only. Enrollment state of the organization, folder, or project.", + "enum": [ + "RESOURCE_ENROLLMENT_STATE_UNSPECIFIED", + "NOT_ENROLLED", + "INHERITED", + "ENROLLED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The resource isn't enrolled.", + "The resource isn't enrolled but the parent is enrolled.", + "The resource is enrolled." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Name of the resource enrollment status, in one of the following formats: * `folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`", + "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": "Audit Manager API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/authorizedbuyersmarketplace-v1alpha.json b/discovery/authorizedbuyersmarketplace-v1alpha.json index 018843b4a88..15fbc7cbb31 100644 --- a/discovery/authorizedbuyersmarketplace-v1alpha.json +++ b/discovery/authorizedbuyersmarketplace-v1alpha.json @@ -1806,7 +1806,7 @@ } } }, - "revision": "20260723", + "revision": "20260828", "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", "schemas": { "AcceptProposalRequest": { @@ -2375,6 +2375,10 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "userListId": { + "description": "Optional. Immutable. The ID of the User List wrapped by this Data Segment. Curators with a linked Data Partner account can create a data segment that wraps a user list owned by the linked Data Partner account. User lists can be uploaded and managed using the [Data Manager API](https://developers.google.com/data-manager/api/data-partners/audiences). Linking a user list to a data segment lets you define a segment of inventory that is based on an audience you create.", + "type": "string" } }, "type": "object" diff --git a/discovery/authorizedbuyersmarketplace-v1beta.json b/discovery/authorizedbuyersmarketplace-v1beta.json index 34670678925..f8a8fdef65b 100644 --- a/discovery/authorizedbuyersmarketplace-v1beta.json +++ b/discovery/authorizedbuyersmarketplace-v1beta.json @@ -517,7 +517,7 @@ } } }, - "revision": "20260723", + "revision": "20260828", "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", "schemas": { "AccessControlSettings": { @@ -730,6 +730,10 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "userListId": { + "description": "Optional. Immutable. The ID of the User List wrapped by this Data Segment. Curators with a linked Data Partner account can create a data segment that wraps a user list owned by the linked Data Partner account. User lists can be uploaded and managed using the [Data Manager API](https://developers.google.com/data-manager/api/data-partners/audiences). Linking a user list to a data segment lets you define a segment of inventory that is based on an audience you create.", + "type": "string" } }, "type": "object" diff --git a/discovery/backupdr-v1beta.json b/discovery/backupdr-v1beta.json new file mode 100644 index 00000000000..e4612ef7e83 --- /dev/null +++ b/discovery/backupdr-v1beta.json @@ -0,0 +1,8329 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-backupdr": { + "description": "See, edit, configure, and delete your Google Cloud Backup and DR data and see the email address for your Google Account" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://backupdr.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Backupdr", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/backup-disaster-recovery", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us-west8.rep.googleapis.com/", + "location": "us-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://backupdr.eu.rep.googleapis.com/", + "location": "eu" + } + ], + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "backupdr:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://backupdr.mtls.googleapis.com/", + "name": "backupdr", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "folders": { + "resources": { + "locations": { + "resources": { + "resourceBackupConfigs": { + "methods": { + "fetch": { + "description": "Fetches ResourceBackupConfigs.", + "flatPath": "v1beta/folders/{foldersId}/locations/{locationsId}/resourceBackupConfigs:fetch", + "httpMethod": "GET", + "id": "backupdr.folders.locations.resourceBackupConfigs.fetch", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id}/locations/{location}', 'folders/{folder_id}/locations/{location}', or 'organizations/{organization_id}/locations/{location}'.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/resourceBackupConfigs:fetch", + "response": { + "$ref": "FetchResourceBackupConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "organizations": { + "resources": { + "locations": { + "resources": { + "resourceBackupConfigs": { + "methods": { + "fetch": { + "description": "Fetches ResourceBackupConfigs.", + "flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/resourceBackupConfigs:fetch", + "httpMethod": "GET", + "id": "backupdr.organizations.locations.resourceBackupConfigs.fetch", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id}/locations/{location}', 'folders/{folder_id}/locations/{location}', or 'organizations/{organization_id}/locations/{location}'.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/resourceBackupConfigs:fetch", + "response": { + "$ref": "FetchResourceBackupConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getTrial": { + "description": "Gets the Trial state for a given project", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/trial", + "httpMethod": "GET", + "id": "backupdr.projects.locations.getTrial", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The project for which trial details need to be retrieved. Format: projects/{project}/locations/{location} Supported Locations are - us, eu and asia.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/trial$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Trial" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", + "flatPath": "v1beta/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "backupdr.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "extraLocationTypes": { + "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", + "location": "query", + "repeated": true, + "type": "string" + }, + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "appliedAutoProtectionPolicies": { + "methods": { + "list": { + "description": "Lists AppliedAutoProtectionPolicies in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/appliedAutoProtectionPolicies", + "httpMethod": "GET", + "id": "backupdr.projects.locations.appliedAutoProtectionPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters resources listed in the response.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. An expression that sorts the results in the response.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of applied policies to return in a single page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListAppliedAutoProtectionPolicies` call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve the list of applied policies. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/appliedAutoProtectionPolicies", + "response": { + "$ref": "ListAppliedAutoProtectionPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "autoProtectionPolicies": { + "methods": { + "create": { + "description": "Creates a new AutoProtectionPolicy in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies", + "httpMethod": "POST", + "id": "backupdr.projects.locations.autoProtectionPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "autoProtectionPolicyId": { + "description": "Required. The ID to use for the policy. This will become the final component of the policy's resource name.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this policy will be created. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/autoProtectionPolicies", + "request": { + "$ref": "AutoProtectionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single AutoProtectionPolicy.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}", + "httpMethod": "DELETE", + "id": "backupdr.projects.locations.autoProtectionPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "The current etag of the AutoProtectionPolicy. If an etag is provided and does not match the current etag of the connection, the request will be rejected with an ABORTED error.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the policy to delete. Format: projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single AutoProtectionPolicy.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.autoProtectionPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the policy to retrieve. Format: projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "AutoProtectionPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists AutoProtectionPolicies for a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies", + "httpMethod": "GET", + "id": "backupdr.projects.locations.autoProtectionPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters resources listed in the response. The following fields are filterable:", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. An expression that sorts the results in the response. The following fields are sortable:", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of policies to return in a single page. If unspecified, a server-default value will be used.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve the list of policies. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/autoProtectionPolicies", + "response": { + "$ref": "ListAutoProtectionPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single AutoProtectionPolicy.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}", + "httpMethod": "PATCH", + "id": "backupdr.projects.locations.autoProtectionPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the AutoProtectionPolicy 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": "v1beta/{+name}", + "request": { + "$ref": "AutoProtectionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "bindings": { + "methods": { + "create": { + "description": "Creates a new AutoProtectionPolicyBinding in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}/bindings", + "httpMethod": "POST", + "id": "backupdr.projects.locations.autoProtectionPolicies.bindings.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "autoProtectionPolicyBindingId": { + "description": "Required. The ID to use for the binding. This will become the final component of the binding's resource name.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this binding will be created. Format: projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/bindings", + "request": { + "$ref": "AutoProtectionPolicyBinding" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the auto protection policy binding read from the CCFE tables.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}/bindings/{bindingsId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.autoProtectionPolicies.bindings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the binding to retrieve. Format: projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+/bindings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "AutoProtectionPolicyBinding" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "initiateDelete": { + "description": "InitiateDeleteAutoProtectionPolicyBinding initiates delete for AutoProtectionPolicy Binding", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}/bindings/{bindingsId}:initiateDelete", + "httpMethod": "POST", + "id": "backupdr.projects.locations.autoProtectionPolicies.bindings.initiateDelete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the binding to delete. Format: projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+/bindings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:initiateDelete", + "request": { + "$ref": "InitiateDeleteAutoProtectionPolicyBindingRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns the auto protection policy bindings read from the CCFE tables.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}/bindings", + "httpMethod": "GET", + "id": "backupdr.projects.locations.autoProtectionPolicies.bindings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters resources listed in the response. The following fields are filterable:", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. An expression that sorts the results in the response. The following fields are sortable:", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of policies to return in a single page. If unspecified, a server-default value will be used.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve the list of policies. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/bindings", + "response": { + "$ref": "ListAutoProtectionPolicyBindingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "matchingResources": { + "methods": { + "get": { + "description": "Gets details of a single Binding Matching Resource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}/bindings/{bindingsId}/matchingResources/{matchingResourcesId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.autoProtectionPolicies.bindings.matchingResources.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the matching resource to retrieve. Format: projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}/matchingResources/{matching_resource}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+/bindings/[^/]+/matchingResources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "BindingMatchingResource" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Binding Matching Resources for a given AutoProtectionPolicyBinding.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/autoProtectionPolicies/{autoProtectionPoliciesId}/bindings/{bindingsId}/matchingResources", + "httpMethod": "GET", + "id": "backupdr.projects.locations.autoProtectionPolicies.bindings.matchingResources.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Field match expression used to filter the results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of `BindingMatchingResources` to return in a single response. The default page size is 100 and maximum page size is 200. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The value of next_page_token received from a previous `ListBindingMatchingResources` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBindingMatchingResources` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project, location, auto protection policy and binding for which to retrieve `BindingMatchingResources` information. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/autoProtectionPolicies/[^/]+/bindings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/matchingResources", + "response": { + "$ref": "ListBindingMatchingResourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "backupPlanAssociations": { + "methods": { + "create": { + "description": "Create a BackupPlanAssociation", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupPlanAssociations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupPlanAssociationId": { + "description": "Required. The name of the backup plan association to create. The name must be unique for the specified project and location.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The backup plan association project and location in the format `projects/{project_id}/locations/{location}`. In Backup and DR locations map to Google Cloud regions, for example **us-central1**.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and 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": "v1beta/{+parent}/backupPlanAssociations", + "request": { + "$ref": "BackupPlanAssociation" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single BackupPlanAssociation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations/{backupPlanAssociationsId}", + "httpMethod": "DELETE", + "id": "backupdr.projects.locations.backupPlanAssociations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "autoProtectionPolicyBinding": { + "description": "Optional. This field is exclusively used by Backup and DR's auto-protection feature. The resource name of the `AutoProtectionPolicyBinding` that triggered the deletion of this association. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the backup plan association resource, in the format `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlanAssociations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchForResourceType": { + "description": "List BackupPlanAssociations for a given resource type.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations:fetchForResourceType", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupPlanAssociations.fetchForResourceType", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * resource * backup_plan * state * data_source * cloud_sql_instance_backup_plan_association_properties.instance_create_time", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * name", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of BackupPlanAssociations to return. The service may return fewer than this value. If unspecified, at most 50 BackupPlanAssociations will be returned. The maximum value is 100; values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call of `FetchBackupPlanAssociationsForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchBackupPlanAssociationsForResourceType` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "resourceType": { + "description": "Required. The type of the Google Cloud resource. Ex: sql.googleapis.com/Instance", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/backupPlanAssociations:fetchForResourceType", + "response": { + "$ref": "FetchBackupPlanAssociationsForResourceTypeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single BackupPlanAssociation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations/{backupPlanAssociationsId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupPlanAssociations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the backup plan association resource, in the format `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlanAssociations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "BackupPlanAssociation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists BackupPlanAssociations in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupPlanAssociations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve backup Plan Associations information, in the format `projects/{project_id}/locations/{location}`. In Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backup plan associations for all locations, use \"-\" for the `{location}` value.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/backupPlanAssociations", + "response": { + "$ref": "ListBackupPlanAssociationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a BackupPlanAssociation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations/{backupPlanAssociationsId}", + "httpMethod": "PATCH", + "id": "backupdr.projects.locations.backupPlanAssociations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlanAssociations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes 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. The list of fields to update. Field mask is used to specify the fields to be overwritten in the BackupPlanAssociation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. Currently backup_plan_association.backup_plan is the only supported field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "BackupPlanAssociation" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "triggerBackup": { + "description": "Triggers a new Backup.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations/{backupPlanAssociationsId}:triggerBackup", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupPlanAssociations.triggerBackup", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the backup plan association resource, in the format `projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlanAssociations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:triggerBackup", + "request": { + "$ref": "TriggerBackupRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupPlans": { + "methods": { + "create": { + "description": "Create a BackupPlan", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlans", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupPlans.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupPlanId": { + "description": "Required. The name of the `BackupPlan` to create. The name must be unique for the specified project and location.The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `BackupPlan` project and location in the format `projects/{project}/locations/{location}`. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and 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": "v1beta/{+parent}/backupPlans", + "request": { + "$ref": "BackupPlan" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single BackupPlan.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlans/{backupPlansId}", + "httpMethod": "DELETE", + "id": "backupdr.projects.locations.backupPlans.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the `BackupPlan` to delete. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlans/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single BackupPlan.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlans/{backupPlansId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupPlans.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the `BackupPlan` to retrieve. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlans/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "BackupPlan" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists BackupPlans in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlans", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupPlans.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Field match expression used to filter the results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve `BackupPlans` information. Format: `projects/{project}/locations/{location}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for e.g. **us-central1**. To retrieve backup plans for all locations, use \"-\" for the `{location}` value.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/backupPlans", + "response": { + "$ref": "ListBackupPlansResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a BackupPlan.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlans/{backupPlansId}", + "httpMethod": "PATCH", + "id": "backupdr.projects.locations.backupPlans.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlans/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes 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. The list of fields to update. Field mask is used to specify the fields to be overwritten in the BackupPlan resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. Currently, these fields are supported in update: description, schedules, retention period, adding and removing Backup Rules.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "BackupPlan" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "revisions": { + "methods": { + "get": { + "description": "Gets details of a single BackupPlanRevision.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlans/{backupPlansId}/revisions/{revisionsId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupPlans.revisions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the `BackupPlanRevision` to retrieve. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlans/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "BackupPlanRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists BackupPlanRevisions in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupPlans/{backupPlansId}/revisions", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupPlans.revisions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve `BackupPlanRevisions` information. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for e.g. **us-central1**.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPlans/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/revisions", + "response": { + "$ref": "ListBackupPlanRevisionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "backupVaults": { + "methods": { + "create": { + "description": "Creates a new BackupVault in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupVaultId": { + "description": "Required. ID of the requesting object If auto-generating ID server-side, remove this field and backup_vault_id from the method_signature of Create RPC", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. Only validate the request, but do not perform mutations. The default is 'false'.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+parent}/backupVaults", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a BackupVault.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "DELETE", + "id": "backupdr.projects.locations.backupVaults.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If true and the BackupVault is not found, the request will succeed but no action will be taken.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "The current etag of the backup vault. If an etag is provided and does not match the current etag of the connection, deletion will be blocked.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. If set to true, any data source from this backup vault will also be deleted.", + "location": "query", + "type": "boolean" + }, + "ignoreBackupPlanReferences": { + "description": "Optional. If set to true, backupvault deletion will proceed even if there are backup plans referencing the backupvault. The default is 'false'.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. Only validate the request, but do not perform mutations. The default is 'false'.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchUsable": { + "description": "FetchUsableBackupVaults lists usable BackupVaults in a given project and location. Usable BackupVault are the ones that user has backupdr.backupVaults.get permission.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults:fetchUsable", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupVaults.fetchUsable", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve backupvault stores information, in the format 'projects/{project_id}/locations/{location}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backupvault stores for all locations, use \"-\" for the '{location}' value.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/backupVaults:fetchUsable", + "response": { + "$ref": "FetchUsableBackupVaultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a BackupVault.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupVaults.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the backupvault store resource name, in the format 'projects/{project_id}/locations/{location}/backupVaults/{resource_name}'", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Optional. Reserved for future use to provide a BASIC & FULL view of Backup Vault", + "enum": [ + "BACKUP_VAULT_VIEW_UNSPECIFIED", + "BACKUP_VAULT_VIEW_BASIC", + "BACKUP_VAULT_VIEW_FULL" + ], + "enumDescriptions": [ + "If the value is not set, the default 'FULL' view is used.", + "Includes basic data about the Backup Vault, but not the full contents.", + "Includes all data about the Backup Vault. This is the default value (for both ListBackupVaults and GetBackupVault)." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "BackupVault" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists BackupVaults in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupVaults.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve backupvault stores information, in the format 'projects/{project_id}/locations/{location}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backupvault stores for all locations, use \"-\" for the '{location}' value.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Optional. Reserved for future use to provide a BASIC & FULL view of Backup Vault.", + "enum": [ + "BACKUP_VAULT_VIEW_UNSPECIFIED", + "BACKUP_VAULT_VIEW_BASIC", + "BACKUP_VAULT_VIEW_FULL" + ], + "enumDescriptions": [ + "If the value is not set, the default 'FULL' view is used.", + "Includes basic data about the Backup Vault, but not the full contents.", + "Includes all data about the Backup Vault. This is the default value (for both ListBackupVaults and GetBackupVault)." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/backupVaults", + "response": { + "$ref": "ListBackupVaultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a BackupVault.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "PATCH", + "id": "backupdr.projects.locations.backupVaults.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Optional. If set to true, will not check plan duration against backup vault enforcement duration.", + "location": "query", + "type": "boolean" + }, + "forceUpdateAccessRestriction": { + "description": "Optional. If set to true, we will force update access restriction even if some non compliant data sources are present. The default is 'false'.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. Identifier. Name of the backup vault to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}\"`. `{backupvault}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the BackupVault resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. Only validate the request, but do not perform mutations. The default is 'false'.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns the caller's permissions on a BackupVault resource. A caller is not required to have Google IAM permission to make this request.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}:testIamPermissions", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "dataSources": { + "methods": { + "abandonBackup": { + "description": "Internal only. Abandons a backup.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:abandonBackup", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.dataSources.abandonBackup", + "parameterOrder": [ + "dataSource" + ], + "parameters": { + "dataSource": { + "description": "Required. The resource name of the instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+dataSource}:abandonBackup", + "request": { + "$ref": "AbandonBackupRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchAccessToken": { + "description": "Internal only. Fetch access token for a given data source.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:fetchAccessToken", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.dataSources.fetchAccessToken", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name for the location for which static IPs should be returned. Must be in the format 'projects/*/locations/*/backupVaults/*/dataSources'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:fetchAccessToken", + "request": { + "$ref": "FetchAccessTokenRequest" + }, + "response": { + "$ref": "FetchAccessTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "finalizeBackup": { + "description": "Internal only. Finalize a backup that was started by a call to InitiateBackup.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:finalizeBackup", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.dataSources.finalizeBackup", + "parameterOrder": [ + "dataSource" + ], + "parameters": { + "dataSource": { + "description": "Required. The resource name of the instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+dataSource}:finalizeBackup", + "request": { + "$ref": "FinalizeBackupRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a DataSource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupVaults.dataSources.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the data source resource name, in the format 'projects/{project_id}/locations/{location}/backupVaults/{resource_name}/dataSource/{resource_name}'", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "DataSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "initiateBackup": { + "description": "Internal only. Initiates a backup.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:initiateBackup", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.dataSources.initiateBackup", + "parameterOrder": [ + "dataSource" + ], + "parameters": { + "dataSource": { + "description": "Required. The resource name of the instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+dataSource}:initiateBackup", + "request": { + "$ref": "InitiateBackupRequest" + }, + "response": { + "$ref": "InitiateBackupResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists DataSources in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupVaults.dataSources.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve data sources information, in the format 'projects/{project_id}/locations/{location}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve data sources for all locations, use \"-\" for the '{location}' value.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/dataSources", + "response": { + "$ref": "ListDataSourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a DataSource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}", + "httpMethod": "PATCH", + "id": "backupdr.projects.locations.backupVaults.dataSources.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. Enable upsert.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. Identifier. Name of the datasource to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}\"`. `{datasource}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the DataSource resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "DataSource" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "remove": { + "description": "Deletes a DataSource. This is a custom method instead of a standard delete method because external clients will not delete DataSources except for BackupDR backup appliances.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:remove", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.dataSources.remove", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:remove", + "request": { + "$ref": "RemoveDataSourceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setInternalStatus": { + "description": "Sets the internal status of a DataSource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}:setInternalStatus", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.dataSources.setInternalStatus", + "parameterOrder": [ + "dataSource" + ], + "parameters": { + "dataSource": { + "description": "Required. The resource name of the instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+dataSource}:setInternalStatus", + "request": { + "$ref": "SetInternalStatusRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "delete": { + "description": "Deletes a Backup.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "backupdr.projects.locations.backupVaults.dataSources.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchForResourceType": { + "description": "Fetch Backups for a given resource type.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups:fetchForResourceType", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupVaults.dataSources.backups.fetchForResourceType", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * name * state * backup_type * create_time * expire_time * enforced_retention_end_time * gcp_backup_plan_info.backup_plan * cloud_sql_instance_backup_properties.instance_tier * cloud_sql_instance_backup_properties.database_installed_version", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * name", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of Backups to return. The service may return fewer than this value. If unspecified, at most 50 Backups will be returned. The maximum value is 100; values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call of `FetchBackupsForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchBackupsForResourceType` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Datasources are the parent resource for the backups. Format: projects/{project}/locations/{location}/backupVaults/{backupVaultId}/dataSources/{datasourceId}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + }, + "resourceType": { + "description": "Required. The type of the GCP resource. Ex: sqladmin.googleapis.com/Instance", + "location": "query", + "type": "string" + }, + "view": { + "description": "Optional. This parameter is used to specify the view of the backup. If not specified, the default view is BASIC.", + "enum": [ + "BACKUP_VIEW_UNSPECIFIED", + "BACKUP_VIEW_BASIC", + "BACKUP_VIEW_FULL" + ], + "enumDescriptions": [ + "If the value is not set, the default 'FULL' view is used.", + "Includes basic data about the Backup, but not the full contents.", + "Includes all data about the Backup. This is the default value (for both ListBackups and GetBackup)." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/backups:fetchForResourceType", + "response": { + "$ref": "FetchBackupsForResourceTypeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a Backup.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupVaults.dataSources.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the data source resource name, in the format 'projects/{project_id}/locations/{location}/backupVaults/{backupVault}/dataSources/{datasource}/backups/{backup}'", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Optional. Reserved for future use to provide a BASIC & FULL view of Backup resource.", + "enum": [ + "BACKUP_VIEW_UNSPECIFIED", + "BACKUP_VIEW_BASIC", + "BACKUP_VIEW_FULL" + ], + "enumDescriptions": [ + "If the value is not set, the default 'FULL' view is used.", + "Includes basic data about the Backup, but not the full contents.", + "Includes all data about the Backup. This is the default value (for both ListBackups and GetBackup)." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Backups in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups", + "httpMethod": "GET", + "id": "backupdr.projects.locations.backupVaults.dataSources.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve backup information, in the format 'projects/{project_id}/locations/{location}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve data sources for all locations, use \"-\" for the '{location}' value.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Optional. Reserved for future use to provide a BASIC & FULL view of Backup resource.", + "enum": [ + "BACKUP_VIEW_UNSPECIFIED", + "BACKUP_VIEW_BASIC", + "BACKUP_VIEW_FULL" + ], + "enumDescriptions": [ + "If the value is not set, the default 'FULL' view is used.", + "Includes basic data about the Backup, but not the full contents.", + "Includes all data about the Backup. This is the default value (for both ListBackups and GetBackup)." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a Backup.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "backupdr.projects.locations.backupVaults.dataSources.backups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Identifier. Name of the backup to create. It must have the format`\"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}\"`. `{backup}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restore": { + "description": "Restore from a Backup", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/dataSources/{dataSourcesId}/backups/{backupsId}:restore", + "httpMethod": "POST", + "id": "backupdr.projects.locations.backupVaults.dataSources.backups.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Backup instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/*/backups/'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/dataSources/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:restore", + "request": { + "$ref": "RestoreBackupRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "dataSourceReferences": { + "methods": { + "fetchForResourceType": { + "description": "Fetch DataSourceReferences for a given project, location and resource type.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataSourceReferences:fetchForResourceType", + "httpMethod": "GET", + "id": "backupdr.projects.locations.dataSourceReferences.fetchForResourceType", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * data_source * data_source_gcp_resource_info.gcp_resourcename * data_source_backup_config_state * data_source_backup_count * data_source_backup_config_info.last_backup_state * data_source_gcp_resource_info.gcp_resourcename * data_source_gcp_resource_info.type * data_source_gcp_resource_info.location * data_source_gcp_resource_info.cloud_sql_instance_properties.instance_create_time", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * name", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of DataSourceReferences to return. The service may return fewer than this value. If unspecified, at most 50 DataSourceReferences will be returned. The maximum value is 100; values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous call of `FetchDataSourceReferencesForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchDataSourceReferencesForResourceType` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "resourceType": { + "description": "Required. The type of the Google Cloud resource. Ex: sql.googleapis.com/Instance", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/dataSourceReferences:fetchForResourceType", + "response": { + "$ref": "FetchDataSourceReferencesForResourceTypeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single DataSourceReference.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataSourceReferences/{dataSourceReferencesId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.dataSourceReferences.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DataSourceReference to retrieve. Format: projects/{project}/locations/{location}/dataSourceReferences/{data_source_reference}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataSourceReferences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "DataSourceReference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists DataSourceReferences for a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataSourceReferences", + "httpMethod": "GET", + "id": "backupdr.projects.locations.dataSourceReferences.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters the results listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The following field and operator combinations are supported: * data_source_gcp_resource_info.gcp_resourcename with `=`, `!=` * data_source_gcp_resource_info.type with `=`, `!=`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * data_source * data_source_gcp_resource_info.gcp_resourcename", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of DataSourceReferences to return. The service may return fewer than this value. If unspecified, at most 50 DataSourceReferences will be returned. The maximum value is 100; values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListDataSourceReferences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataSourceReferences` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/dataSourceReferences", + "response": { + "$ref": "ListDataSourceReferencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "managementServers": { + "methods": { + "create": { + "description": "Creates a new ManagementServer in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/managementServers", + "httpMethod": "POST", + "id": "backupdr.projects.locations.managementServers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "managementServerId": { + "description": "Required. The name of the management server to create. The name must be unique for the specified project and location.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The management server project and location in the format 'projects/{project_id}/locations/{location}'. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/managementServers", + "request": { + "$ref": "ManagementServer" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single ManagementServer.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/managementServers/{managementServersId}", + "httpMethod": "DELETE", + "id": "backupdr.projects.locations.managementServers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/managementServers/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single ManagementServer.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/managementServers/{managementServersId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.managementServers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the management server resource name, in the format 'projects/{project_id}/locations/{location}/managementServers/{resource_name}'", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/managementServers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "ManagementServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "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}/managementServers/{managementServersId}:getIamPolicy", + "httpMethod": "GET", + "id": "backupdr.projects.locations.managementServers.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/managementServers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ManagementServers in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/managementServers", + "httpMethod": "GET", + "id": "backupdr.projects.locations.managementServers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve management servers information, in the format 'projects/{project_id}/locations/{location}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve management servers for all locations, use \"-\" for the '{location}' value.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/managementServers", + "response": { + "$ref": "ListManagementServersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "msComplianceMetadata": { + "description": "Returns the Assured Workloads compliance metadata for a given project.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/managementServers:msComplianceMetadata", + "httpMethod": "POST", + "id": "backupdr.projects.locations.managementServers.msComplianceMetadata", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project and location to be used to check CSS metadata for target project information, in the format 'projects/{project_id}/locations/{location}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/managementServers$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}:msComplianceMetadata", + "request": { + "$ref": "FetchMsComplianceMetadataRequest" + }, + "response": { + "$ref": "FetchMsComplianceMetadataResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "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}/managementServers/{managementServersId}:setIamPolicy", + "httpMethod": "POST", + "id": "backupdr.projects.locations.managementServers.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/managementServers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "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}/managementServers/{managementServersId}:testIamPermissions", + "httpMethod": "POST", + "id": "backupdr.projects.locations.managementServers.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/managementServers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "backupdr.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "backupdr.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "backupdr.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "backupdr.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "resourceBackupConfigs": { + "methods": { + "fetch": { + "description": "Fetches ResourceBackupConfigs.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/resourceBackupConfigs:fetch", + "httpMethod": "GET", + "id": "backupdr.projects.locations.resourceBackupConfigs.fetch", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id}/locations/{location}', 'folders/{folder_id}/locations/{location}', or 'organizations/{organization_id}/locations/{location}'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/resourceBackupConfigs:fetch", + "response": { + "$ref": "FetchResourceBackupConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ResourceBackupConfigs.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/resourceBackupConfigs", + "httpMethod": "GET", + "id": "backupdr.projects.locations.resourceBackupConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve resource backup configs. Format: 'projects/{project_id}/locations/{location}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/resourceBackupConfigs", + "response": { + "$ref": "ListResourceBackupConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "serviceConfig": { + "methods": { + "initialize": { + "description": "Initializes the service related config for a project.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/serviceConfig:initialize", + "httpMethod": "POST", + "id": "backupdr.projects.locations.serviceConfig.initialize", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the serviceConfig used to initialize the service. The location must be the location of the BackupVault. Format: `projects/{project_id}/locations/{location}/serviceConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serviceConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:initialize", + "request": { + "$ref": "InitializeServiceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "trial": { + "methods": { + "end": { + "description": "Ends the trial for a project", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/trial:end", + "httpMethod": "POST", + "id": "backupdr.projects.locations.trial.end", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where the trial has been created. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/trial:end", + "request": { + "$ref": "EndTrialRequest" + }, + "response": { + "$ref": "Trial" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "subscribe": { + "description": "Subscribes to a trial for a project", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/trial:subscribe", + "httpMethod": "POST", + "id": "backupdr.projects.locations.trial.subscribe", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project where this trial will be created. Format: projects/{project}/locations/{location} Supported Locations are - us, eu and asia.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/trial:subscribe", + "request": { + "$ref": "SubscribeTrialRequest" + }, + "response": { + "$ref": "Trial" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-backupdr", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20260826", + "rootUrl": "https://backupdr.googleapis.com/", + "schemas": { + "AbandonBackupRequest": { + "description": "request message for AbandonBackup.", + "id": "AbandonBackupRequest", + "properties": { + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, + "AcceleratorConfig": { + "description": "A specification of the type and number of accelerator cards attached to the instance.", + "id": "AcceleratorConfig", + "properties": { + "acceleratorCount": { + "description": "Optional. The number of the guest accelerator cards exposed to this instance.", + "format": "int32", + "type": "integer" + }, + "acceleratorType": { + "description": "Optional. Full or partial URL of the accelerator type resource to attach to this instance.", + "type": "string" + } + }, + "type": "object" + }, + "AccessConfig": { + "description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", + "id": "AccessConfig", + "properties": { + "externalIpv6": { + "description": "Optional. The external IPv6 address of this access configuration.", + "type": "string" + }, + "externalIpv6PrefixLength": { + "description": "Optional. The prefix length of the external IPv6 range.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Optional. The name of this access configuration.", + "type": "string" + }, + "natIP": { + "description": "Optional. The external IP address of this access configuration.", + "type": "string" + }, + "networkTier": { + "description": "Optional. This signifies the networking tier used for configuring this access", + "enum": [ + "NETWORK_TIER_UNSPECIFIED", + "PREMIUM", + "STANDARD" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "High quality, Google-grade network tier, support for all networking products.", + "Public internet quality, only limited support for other networking products." + ], + "type": "string" + }, + "publicPtrDomainName": { + "description": "Optional. The DNS domain name for the public PTR record.", + "type": "string" + }, + "setPublicPtr": { + "description": "Optional. Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name.", + "type": "boolean" + }, + "type": { + "description": "Optional. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", + "enum": [ + "ACCESS_TYPE_UNSPECIFIED", + "ONE_TO_ONE_NAT", + "DIRECT_IPV6" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "ONE_TO_ONE_NAT", + "Direct IPv6 access." + ], + "type": "string" + } + }, + "type": "object" + }, + "AdvancedMachineFeatures": { + "description": "Specifies options for controlling advanced machine features.", + "id": "AdvancedMachineFeatures", + "properties": { + "enableNestedVirtualization": { + "description": "Optional. Whether to enable nested virtualization or not (default is false).", + "type": "boolean" + }, + "enableUefiNetworking": { + "description": "Optional. Whether to enable UEFI networking for instance creation.", + "type": "boolean" + }, + "threadsPerCore": { + "description": "Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", + "format": "int32", + "type": "integer" + }, + "visibleCoreCount": { + "description": "Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AliasIpRange": { + "description": "An alias IP range attached to an instance's network interface.", + "id": "AliasIpRange", + "properties": { + "ipCidrRange": { + "description": "Optional. The IP alias ranges to allocate for this interface.", + "type": "string" + }, + "subnetworkRangeName": { + "description": "Optional. The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", + "type": "string" + } + }, + "type": "object" + }, + "AllocationAffinity": { + "description": "Specifies the reservations that this instance can consume from.", + "id": "AllocationAffinity", + "properties": { + "consumeReservationType": { + "description": "Optional. Specifies the type of reservation from which this instance can consume", + "enum": [ + "TYPE_UNSPECIFIED", + "NO_RESERVATION", + "ANY_RESERVATION", + "SPECIFIC_RESERVATION" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Do not consume from any allocated capacity.", + "Consume any allocation available.", + "Must consume from a specific reservation. Must specify key value fields for specifying the reservations." + ], + "type": "string" + }, + "key": { + "description": "Optional. Corresponds to the label key of a reservation resource.", + "type": "string" + }, + "values": { + "description": "Optional. Corresponds to the label values of a reservation resource.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlloyDBClusterBackupPlanAssociationProperties": { + "description": "Properties for an AlloyDB cluster backup plan association.", + "id": "AlloyDBClusterBackupPlanAssociationProperties", + "properties": { + "clusterUid": { + "description": "Output only. The cluster UID of the AlloyDB cluster.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AlloyDBClusterDataSourceProperties": { + "description": "AlloyDBClusterDataSourceProperties represents the properties of a AlloyDB cluster resource that are stored in the DataSource. .", + "id": "AlloyDBClusterDataSourceProperties", + "properties": { + "clusterUid": { + "description": "Output only. The cluster UID of the AlloyDB cluster backed up by the datasource.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the AlloyDB cluster backed up by the datasource.", + "readOnly": true, + "type": "string" + }, + "pitrWindows": { + "description": "Output only. Point in time recovery windows. The order is guaranteed to be ascending by start time.", + "items": { + "$ref": "AlloyDbPitrWindow" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "AlloyDBClusterDataSourceReferenceProperties": { + "description": "AlloyDBClusterDataSourceReferenceProperties represents the properties of an AlloyDB cluster that are stored in the DataSourceReference.", + "id": "AlloyDBClusterDataSourceReferenceProperties", + "properties": { + "name": { + "description": "Output only. Name of the AlloyDB cluster backed up by the datasource. Format: projects/{project}/locations/{location}/clusters/{cluster}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AlloyDbClusterBackupProperties": { + "description": "AlloyDbClusterBackupProperties represents AlloyDB cluster backup properties. .", + "id": "AlloyDbClusterBackupProperties", + "properties": { + "chainId": { + "description": "Output only. The chain id of this backup. Backups belonging to the same chain are sharing the same chain id. This property is calculated and maintained by BackupDR.", + "readOnly": true, + "type": "string" + }, + "databaseVersion": { + "description": "Output only. The PostgreSQL major version of the AlloyDB cluster when the backup was taken.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "An optional text description for the backup.", + "type": "string" + }, + "storedBytes": { + "description": "Output only. Storage usage of this particular backup", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AlloyDbPitrWindow": { + "description": "Point in time recovery window for an AlloyDB cluster.", + "id": "AlloyDbPitrWindow", + "properties": { + "endTime": { + "description": "Output only. The end time of the PITR window. It is not set if the corresponding Backup Plan Association is active.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "logRetentionDays": { + "description": "Output only. Log retention days for the PITR window.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of the PITR window.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AppliedAutoProtectionPolicy": { + "description": "AppliedAutoProtectionPolicy is a read-only view of AutoProtectionPolicy and AutoProtectionPolicyBinding resources that apply to a given workload project.", + "id": "AppliedAutoProtectionPolicy", + "properties": { + "backupPlanDetails": { + "description": "Output only. The set of backup plan configurations, mirroring the backup_plan_details from the source AutoProtectionPolicy. Each element specifies a backup plan for a given resource type.", + "items": { + "$ref": "BackupPlanDetail" + }, + "readOnly": true, + "type": "array" + }, + "bindingEvaluationSummary": { + "$ref": "BindingEvaluationSummary", + "description": "Output only. The summary of the last policy application when the job has run.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp indicating when the binding was last created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "criteria": { + "$ref": "Criteria", + "description": "Output only. The criteria resources must meet for this rule to apply. From AutoProtectionPolicy.criteria.", + "readOnly": true + }, + "name": { + "description": "Identifier. Canonical resource name. Format: projects/{workload-project-number}/locations/{location}/appliedAutoProtectionPolicies/{id}.", + "type": "string" + }, + "sourceBinding": { + "description": "Output only. The full resource name of the AutoProtectionPolicyBinding that applies the source policy to a scope including this workload project. e.g., projects/{admin-project}/locations/{location}/autoProtectionPolicies/{policy_id}/autoProtectionPolicyBindings/{binding_id}.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of the applied auto protection policy.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETION_INITIATED" + ], + "enumDescriptions": [ + "State is not specified.", + "The policy is in the process of being applied.", + "The policy has been applied and is active.", + "The policy is in the process of being removed." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp indicating when the binding was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AttachedDisk": { + "description": "An instance-attached disk resource.", + "id": "AttachedDisk", + "properties": { + "autoDelete": { + "description": "Optional. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", + "type": "boolean" + }, + "boot": { + "description": "Optional. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", + "type": "boolean" + }, + "deviceName": { + "description": "Optional. This is used as an identifier for the disks. This is the unique name has to provided to modify disk parameters like disk_name and replica_zones (in case of RePDs)", + "type": "string" + }, + "diskEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Optional. Encrypts or decrypts a disk using a customer-supplied encryption key." + }, + "diskInterface": { + "description": "Optional. Specifies the disk interface to use for attaching this disk.", + "enum": [ + "DISK_INTERFACE_UNSPECIFIED", + "SCSI", + "NVME", + "NVDIMM", + "ISCSI" + ], + "enumDescriptions": [ + "Default value, which is unused.", + "SCSI Disk Interface.", + "NVME Disk Interface.", + "NVDIMM Disk Interface.", + "ISCSI Disk Interface." + ], + "type": "string" + }, + "diskSizeGb": { + "description": "Optional. The size of the disk in GB.", + "format": "int64", + "type": "string" + }, + "diskType": { + "description": "Optional. Output only. The URI of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", + "readOnly": true, + "type": "string" + }, + "diskTypeDeprecated": { + "deprecated": true, + "description": "Specifies the type of the disk.", + "enum": [ + "DISK_TYPE_UNSPECIFIED", + "SCRATCH", + "PERSISTENT" + ], + "enumDescriptions": [ + "Default value, which is unused.", + "A scratch disk type.", + "A persistent disk type." + ], + "type": "string" + }, + "guestOsFeature": { + "description": "Optional. A list of features to enable on the guest operating system. Applicable only for bootable images.", + "items": { + "$ref": "GuestOsFeature" + }, + "type": "array" + }, + "index": { + "description": "Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.", + "format": "int64", + "type": "string" + }, + "initializeParams": { + "$ref": "InitializeParams", + "description": "Optional. Specifies the parameters to initialize this disk." + }, + "kind": { + "description": "Optional. Type of the resource.", + "type": "string" + }, + "license": { + "description": "Optional. Any valid publicly visible licenses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mode": { + "description": "Optional. The mode in which to attach this disk.", + "enum": [ + "DISK_MODE_UNSPECIFIED", + "READ_WRITE", + "READ_ONLY", + "LOCKED" + ], + "enumDescriptions": [ + "Default value, which is unused.", + "Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode.", + "Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", + "The disk is locked for administrative reasons. Nobody else can use the disk. This mode is used (for example) when taking a snapshot of a disk to prevent mounting the disk while it is being snapshotted." + ], + "type": "string" + }, + "savedState": { + "description": "Optional. Output only. The state of the disk.", + "enum": [ + "DISK_SAVED_STATE_UNSPECIFIED", + "PRESERVED" + ], + "enumDescriptions": [ + "Default Disk state has not been preserved.", + "Disk state has been preserved." + ], + "readOnly": true, + "type": "string" + }, + "source": { + "description": "Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.", + "type": "string" + }, + "type": { + "description": "Optional. Specifies the type of the disk.", + "enum": [ + "DISK_TYPE_UNSPECIFIED", + "SCRATCH", + "PERSISTENT" + ], + "enumDescriptions": [ + "Default value, which is unused.", + "A scratch disk type.", + "A persistent disk type." + ], + "type": "string" + } + }, + "type": "object" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "AutoProtectionDetails": { + "description": "AutoProtectionDetails contains the protection details of a resource from the current binding's perspective.", + "id": "AutoProtectionDetails", + "properties": { + "backupPlanAssociation": { + "description": "Output only. Resource name of backup plan association linked to the resource, if any. Format: projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", + "readOnly": true, + "type": "string" + }, + "dataSource": { + "description": "Output only. Resource name of the datasource linked to the resource, if any. Format: projects/{project}/locations/{location}/backupVaults/{backupVaultId}/dataSources/{dataSourceId}", + "readOnly": true, + "type": "string" + }, + "error": { + "$ref": "Status", + "description": "Output only. Error during last sync for protection/unprotection, if any.", + "readOnly": true + }, + "state": { + "description": "Output only. Protection state of the resource from the current binding's perspective. Output only.", + "enum": [ + "STATE_UNSPECIFIED", + "PROTECTED", + "PROTECTION_FAILED", + "UNPROTECTING", + "UNPROTECTION_FAILED" + ], + "enumDescriptions": [ + "State unspecified.", + "Resource is protected.", + "Resource protection failed.", + "Resource is being unprotected.", + "Resource unprotection failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AutoProtectionPolicy": { + "description": "An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.", + "id": "AutoProtectionPolicy", + "properties": { + "backupPlanDetails": { + "description": "Required. The backup plan details for matching resources.", + "items": { + "$ref": "BackupPlanDetail" + }, + "type": "array" + }, + "bindingSummary": { + "$ref": "BindingSummary", + "description": "Output only. Summary of total count of different containers covered through this policy.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The timestamp when the policy was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "criteria": { + "$ref": "Criteria", + "description": "Required. The criteria for matching resources." + }, + "description": { + "description": "Optional. A description of the policy.", + "type": "string" + }, + "etag": { + "description": "Output only. The etag for the policy. If this is provided on update, it must match the server's etag, otherwise the request will be rejected with an ABORTED error.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`", + "type": "string" + }, + "policyEvaluationSummary": { + "$ref": "PolicyEvaluationSummary", + "description": "Output only. Summary of last policy application when job was run per workload type.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of the AutoprotectionPolicy.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING" + ], + "enumDescriptions": [ + "The state of the policy is unspecified.", + "The policy is being created.", + "The policy is active and protecting matching resources.", + "The policy is being updated.", + "The policy is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the policy was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AutoProtectionPolicyBinding": { + "description": "An AutoprotectionPolicyBinding (APPA) acts as the bridge between an AutoprotectionPolicy and the scope (Project, Folder, or Organization) where the policy should be applied.", + "id": "AutoProtectionPolicyBinding", + "properties": { + "bindingEvaluationSummary": { + "$ref": "BindingEvaluationSummary", + "description": "Output only. Summaries of the last policy application when the job has run, with one entry per resource type specified in the AutoProtectionPolicy.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The timestamp when the binding was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A description of the binding.", + "type": "string" + }, + "etag": { + "description": "Optional. Output only. The etag for the binding. If this is provided on update, it must match the server's etag.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the AutoProtectionPolicyBinding. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}`", + "type": "string" + }, + "scope": { + "description": "Required. Immutable. Resource Id of target container on which policy will be applied. Format: projects/{project_id}", + "type": "string" + }, + "state": { + "description": "Output only. The current state of the AutoProtectionPolicyBinding.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETION_INITIATED" + ], + "enumDescriptions": [ + "The state of the binding is unspecified.", + "The binding is being created.", + "The binding is active.", + "The binding deletion is initiated." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the binding was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Backup": { + "description": "Message describing a Backup object.", + "id": "Backup", + "properties": { + "alloyDbBackupProperties": { + "$ref": "AlloyDbClusterBackupProperties", + "description": "Output only. AlloyDB specific backup properties.", + "readOnly": true + }, + "backupApplianceBackupProperties": { + "$ref": "BackupApplianceBackupProperties", + "description": "Output only. Backup Appliance specific backup properties.", + "readOnly": true + }, + "backupApplianceLocks": { + "description": "Optional. The list of BackupLocks taken by the accessor Backup Appliance.", + "items": { + "$ref": "BackupLock" + }, + "type": "array" + }, + "backupRetentionInheritance": { + "description": "Output only. Setting for how the enforced retention end time is inherited. This value is copied from this backup's BackupVault.", + "enum": [ + "BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", + "INHERIT_VAULT_RETENTION", + "MATCH_BACKUP_EXPIRE_TIME" + ], + "enumDescriptions": [ + "Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", + "The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", + "The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." + ], + "readOnly": true, + "type": "string" + }, + "backupType": { + "description": "Output only. Type of the backup, unspecified, scheduled or ondemand.", + "enum": [ + "BACKUP_TYPE_UNSPECIFIED", + "SCHEDULED", + "ON_DEMAND", + "ON_DEMAND_OPERATIONAL" + ], + "enumDescriptions": [ + "Backup type is unspecified.", + "Scheduled backup.", + "On demand backup.", + "Operational backup." + ], + "readOnly": true, + "type": "string" + }, + "cloudSqlInstanceBackupProperties": { + "$ref": "CloudSqlInstanceBackupProperties", + "description": "Output only. Cloud SQL specific backup properties.", + "readOnly": true + }, + "computeInstanceBackupProperties": { + "$ref": "ComputeInstanceBackupProperties", + "description": "Output only. Compute Engine specific backup properties.", + "readOnly": true + }, + "consistencyTime": { + "description": "Output only. The point in time when this backup was captured from the source.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. The description of the Backup instance (2048 characters or less).", + "readOnly": true, + "type": "string" + }, + "diskBackupProperties": { + "$ref": "DiskBackupProperties", + "description": "Output only. Disk specific backup properties.", + "readOnly": true + }, + "enforcedRetentionEndTime": { + "description": "Optional. The backup can not be deleted before this time.", + "format": "google-datetime", + "type": "string" + }, + "etag": { + "description": "Optional. Server specified ETag to prevent updates from overwriting each other.", + "type": "string" + }, + "expireTime": { + "description": "Optional. When this backup is automatically expired.", + "format": "google-datetime", + "type": "string" + }, + "filestoreInstanceBackupProperties": { + "$ref": "FilestoreInstanceBackupProperties", + "description": "Output only. Filestore specific backup properties.", + "readOnly": true + }, + "gcpBackupPlanInfo": { + "$ref": "GCPBackupPlanInfo", + "description": "Output only. Configuration for a Google Cloud resource.", + "readOnly": true + }, + "gcpResource": { + "$ref": "BackupGcpResource", + "description": "Output only. Unique identifier of the GCP resource that is being backed up.", + "readOnly": true + }, + "kmsKeyVersions": { + "description": "Optional. Output only. The list of KMS key versions used to encrypt the backup.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata. No labels currently defined.", + "type": "object" + }, + "name": { + "description": "Output only. Identifier. Name of the backup to create. It must have the format`\"projects//locations//backupVaults//dataSources/{datasource}/backups/{backup}\"`. `{backup}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource.", + "readOnly": true, + "type": "string" + }, + "resourceSizeBytes": { + "description": "Output only. source resource size in bytes at the time of the backup.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "satisfiesPzi": { + "description": "Optional. Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Optional. Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "serviceLocks": { + "description": "Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup.", + "items": { + "$ref": "BackupLock" + }, + "readOnly": true, + "type": "array" + }, + "state": { + "description": "Output only. The Backup resource instance state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "ERROR", + "UPLOADING" + ], + "enumDescriptions": [ + "State not set.", + "The backup is being created.", + "The backup has been created and is fully usable.", + "The backup is being deleted.", + "The backup is experiencing an issue and might be unusable.", + "The backup is being uploaded." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the instance was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupApplianceBackupConfig": { + "description": "BackupApplianceBackupConfig captures the backup configuration for applications that are protected by Backup Appliances.", + "id": "BackupApplianceBackupConfig", + "properties": { + "applicationName": { + "description": "The name of the application.", + "type": "string" + }, + "backupApplianceId": { + "description": "The ID of the backup appliance.", + "format": "int64", + "type": "string" + }, + "backupApplianceName": { + "description": "The name of the backup appliance.", + "type": "string" + }, + "hostName": { + "description": "The name of the host where the application is running.", + "type": "string" + }, + "slaId": { + "description": "The ID of the SLA of this application.", + "format": "int64", + "type": "string" + }, + "slpName": { + "description": "The name of the SLP associated with the application.", + "type": "string" + }, + "sltName": { + "description": "The name of the SLT associated with the application.", + "type": "string" + } + }, + "type": "object" + }, + "BackupApplianceBackupProperties": { + "description": "BackupApplianceBackupProperties represents BackupDR backup appliance's properties.", + "id": "BackupApplianceBackupProperties", + "properties": { + "finalizeTime": { + "description": "Output only. The time when this backup object was finalized (if none, backup is not finalized).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "generationId": { + "description": "Output only. The numeric generation ID of the backup (monotonically increasing).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "recoveryRangeEndTime": { + "description": "Optional. The latest timestamp of data available in this Backup.", + "format": "google-datetime", + "type": "string" + }, + "recoveryRangeStartTime": { + "description": "Optional. The earliest timestamp of data available in this Backup.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "BackupApplianceLockInfo": { + "description": "BackupApplianceLockInfo contains metadata about the backupappliance that created the lock.", + "id": "BackupApplianceLockInfo", + "properties": { + "backupApplianceId": { + "description": "Required. The ID of the backup/recovery appliance that created this lock.", + "format": "int64", + "type": "string" + }, + "backupApplianceName": { + "description": "Required. The name of the backup/recovery appliance that created this lock.", + "type": "string" + }, + "backupImage": { + "description": "The image name that depends on this Backup.", + "type": "string" + }, + "jobName": { + "description": "The job name on the backup/recovery appliance that created this lock.", + "type": "string" + }, + "lockReason": { + "description": "Required. The reason for the lock: e.g. MOUNT/RESTORE/BACKUP/etc. The value of this string is only meaningful to the client and it is not interpreted by the BackupVault service.", + "type": "string" + }, + "slaId": { + "description": "The SLA on the backup/recovery appliance that owns the lock.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BackupConfigDetails": { + "description": "BackupConfigDetails has information about how the resource is configured for backups and about the most recent backup taken for this configuration.", + "id": "BackupConfigDetails", + "properties": { + "applicableResource": { + "description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource that is applicable for the backup configuration. Example: \"//compute.googleapis.com/projects/{project}/zones/{zone}/instances/{instance}\"", + "readOnly": true, + "type": "string" + }, + "backupConfigSource": { + "description": "Output only. The full resource name of the backup config source resource. For example, \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupPlans/{backupplanId}\" or \"//compute.googleapis.com/projects/{project}/locations/{region}/resourcePolicies/{resourcePolicyId}\".", + "readOnly": true, + "type": "string" + }, + "backupConfigSourceDisplayName": { + "description": "Output only. The display name of the backup config source resource.", + "readOnly": true, + "type": "string" + }, + "backupDrPlanConfig": { + "$ref": "BackupDrPlanConfig", + "description": "Google Cloud Backup and DR's Backup Plan specific data." + }, + "backupDrTemplateConfig": { + "$ref": "BackupDrTemplateConfig", + "description": "Google Cloud Backup and DR's Template specific data." + }, + "backupLocations": { + "description": "The locations where the backups are to be stored.", + "items": { + "$ref": "BackupLocation" + }, + "type": "array" + }, + "backupVault": { + "description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the backup vault that will store the backups generated through this backup configuration. Example: \"//backupdr.googleapis.com/v1/projects/{project}/locations/{region}/backupVaults/{backupvaultId}\"", + "readOnly": true, + "type": "string" + }, + "latestSuccessfulBackupTime": { + "description": "Output only. Timestamp of the latest successful backup created via this backup configuration.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "pitrSettings": { + "$ref": "PitrSettings", + "description": "Output only. Point in time recovery settings of the backup configuration resource.", + "readOnly": true + }, + "state": { + "description": "Output only. The state of the backup config resource.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE", + "ERROR" + ], + "enumDescriptions": [ + "Backup config state not set.", + "The config is in an active state protecting the resource", + "The config is currently not protecting the resource. Either because it is disabled or the owning project has been deleted without cleanup of the actual resource.", + "The config still exists but because of some error state it is not protecting the resource. Like the source project is deleted. For eg. PlanAssociation, BackupPlan is deleted." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the backup config resource.", + "enum": [ + "TYPE_UNSPECIFIED", + "CLOUD_SQL_INSTANCE_BACKUP_CONFIG", + "COMPUTE_ENGINE_RESOURCE_POLICY", + "BACKUPDR_BACKUP_PLAN", + "BACKUPDR_TEMPLATE" + ], + "enumDescriptions": [ + "Backup config type is unspecified.", + "Backup config is Cloud SQL instance's automated backup config.", + "Backup config is Compute Engine Resource Policy.", + "Backup config is Google Cloud Backup and DR's Backup Plan.", + "Backup config is Google Cloud Backup and DR's Template." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupConfigInfo": { + "description": "BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault.", + "id": "BackupConfigInfo", + "properties": { + "backupApplianceBackupConfig": { + "$ref": "BackupApplianceBackupConfig", + "description": "Configuration for an application backed up by a Backup Appliance." + }, + "gcpBackupConfig": { + "$ref": "GcpBackupConfig", + "description": "Configuration for a Google Cloud resource." + }, + "lastBackupError": { + "$ref": "Status", + "description": "Output only. If the last backup failed, this field has the error message.", + "readOnly": true + }, + "lastBackupState": { + "description": "Output only. The status of the last backup to this BackupVault", + "enum": [ + "LAST_BACKUP_STATE_UNSPECIFIED", + "FIRST_BACKUP_PENDING", + "SUCCEEDED", + "FAILED", + "PERMISSION_DENIED" + ], + "enumDescriptions": [ + "Status not set.", + "The first backup has not yet completed", + "The most recent backup was successful", + "The most recent backup failed", + "The most recent backup could not be run/failed because of the lack of permissions" + ], + "readOnly": true, + "type": "string" + }, + "lastSuccessfulBackupConsistencyTime": { + "description": "Output only. If the last backup were successful, this field has the consistency date.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupDrPlanConfig": { + "description": "BackupDrPlanConfig has additional information about Google Cloud Backup and DR's Plan backup configuration.", + "id": "BackupDrPlanConfig", + "properties": { + "backupDrPlanRules": { + "description": "Backup rules of the backup plan resource.", + "items": { + "$ref": "BackupDrPlanRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "BackupDrPlanRule": { + "description": "BackupDrPlanRule has rule specific information of the backup plan resource.", + "id": "BackupDrPlanRule", + "properties": { + "lastSuccessfulBackupTime": { + "description": "Output only. Timestamp of the latest successful backup created via this backup rule.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "ruleId": { + "description": "Output only. Unique Id of the backup rule.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupDrTemplateConfig": { + "description": "Provides additional information about Google Cloud Backup and DR's Template backup configuration.", + "id": "BackupDrTemplateConfig", + "properties": { + "firstPartyManagementUri": { + "description": "Output only. The URI of the BackupDr template resource for the first party identity users.", + "readOnly": true, + "type": "string" + }, + "thirdPartyManagementUri": { + "description": "Output only. The URI of the BackupDr template resource for the third party identity users.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupGcpResource": { + "description": "Minimum details to identify a Google Cloud resource for a backup.", + "id": "BackupGcpResource", + "properties": { + "gcpResourcename": { + "description": "Name of the Google Cloud resource.", + "type": "string" + }, + "location": { + "description": "Location of the resource: //\"global\"/\"unspecified\".", + "type": "string" + }, + "type": { + "description": "Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", + "type": "string" + } + }, + "type": "object" + }, + "BackupLocation": { + "description": "BackupLocation represents a cloud location where a backup can be stored.", + "id": "BackupLocation", + "properties": { + "locationId": { + "description": "Output only. The id of the cloud location. Example: \"us-central1\"", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the location.", + "enum": [ + "TYPE_UNSPECIFIED", + "ZONAL", + "REGIONAL", + "MULTI_REGIONAL" + ], + "enumDescriptions": [ + "Location type is unspecified.", + "Location type is zonal.", + "Location type is regional.", + "Location type is multi regional." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupLock": { + "description": "BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted.", + "id": "BackupLock", + "properties": { + "backupApplianceLockInfo": { + "$ref": "BackupApplianceLockInfo", + "description": "If the client is a backup and recovery appliance, this contains metadata about why the lock exists." + }, + "lockUntilTime": { + "description": "Required. The time after which this lock is not considered valid and will no longer protect the Backup from deletion.", + "format": "google-datetime", + "type": "string" + }, + "serviceLockInfo": { + "$ref": "ServiceLockInfo", + "description": "Output only. Contains metadata about the lock exist for Google Cloud native backups.", + "readOnly": true + } + }, + "type": "object" + }, + "BackupPlan": { + "description": "A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads.", + "id": "BackupPlan", + "properties": { + "backupRules": { + "description": "Optional. The backup rules for this `BackupPlan`.", + "items": { + "$ref": "BackupRule" + }, + "type": "array" + }, + "backupVault": { + "description": "Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}", + "type": "string" + }, + "backupVaultServiceAccount": { + "description": "Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.", + "readOnly": true, + "type": "string" + }, + "computeInstanceBackupPlanProperties": { + "$ref": "ComputeInstanceBackupPlanProperties", + "description": "Optional. Defines optional properties specific to backups of compute instance based resources, such as Compute Engine Instances. This includes settings like whether to perform a guest flush." + }, + "createTime": { + "description": "Output only. When the `BackupPlan` was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: \"This is a backup plan that performs a daily backup at 6pm and retains data for 3 months\". The description must be at most 2048 characters.", + "type": "string" + }, + "diskBackupPlanProperties": { + "$ref": "DiskBackupPlanProperties", + "description": "Optional. Defines optional properties specific to backups of disk-based resources, such as Compute Engine Persistent Disks. This includes settings like whether to perform a guest flush." + }, + "etag": { + "description": "Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {\"tag\": \"Weekly\"}.", + "type": "object" + }, + "logRetentionDays": { + "description": "Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.", + "format": "int64", + "type": "string" + }, + "maxCustomOnDemandRetentionDays": { + "description": "Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`", + "readOnly": true, + "type": "string" + }, + "resourceType": { + "description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\", \"sqladmin.googleapis.com/Instance\", \"alloydb.googleapis.com/Cluster\", \"compute.googleapis.com/Disk\".", + "type": "string" + }, + "revisionId": { + "description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", + "readOnly": true, + "type": "string" + }, + "revisionName": { + "description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The `State` for the `BackupPlan`.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "INACTIVE", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "The resource is being created.", + "The resource has been created and is fully usable.", + "The resource is being deleted.", + "The resource has been created but is not usable.", + "The resource is being updated." + ], + "readOnly": true, + "type": "string" + }, + "supportedResourceTypes": { + "description": "Output only. All resource types to which backupPlan can be applied.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "updateTime": { + "description": "Output only. When the `BackupPlan` was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupPlanAssociation": { + "description": "A BackupPlanAssociation represents a single BackupPlanAssociation which contains details like workload, backup plan etc", + "id": "BackupPlanAssociation", + "properties": { + "alloydbClusterBackupPlanAssociationProperties": { + "$ref": "AlloyDBClusterBackupPlanAssociationProperties", + "description": "Output only. AlloyDB cluster's backup plan association properties.", + "readOnly": true + }, + "autoProtectionPolicyBinding": { + "description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this association, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", + "readOnly": true, + "type": "string" + }, + "backupPlan": { + "description": "Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", + "type": "string" + }, + "backupPlanRevisionId": { + "description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", + "readOnly": true, + "type": "string" + }, + "backupPlanRevisionName": { + "description": "Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`", + "readOnly": true, + "type": "string" + }, + "cloudSqlInstanceBackupPlanAssociationProperties": { + "$ref": "CloudSqlInstanceBackupPlanAssociationProperties", + "description": "Output only. Cloud SQL instance's backup plan association properties.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataSource": { + "description": "Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}", + "readOnly": true, + "type": "string" + }, + "filestoreInstanceBackupPlanAssociationProperties": { + "$ref": "FilestoreInstanceBackupPlanAssociationProperties", + "description": "Output only. Filestore instance's backup plan association properties.", + "readOnly": true + }, + "name": { + "description": "Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId}", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "Required. Immutable. Resource name of workload on which the backup plan is applied. The format can either be the resource name (e.g., \"projects/my-project/zones/us-central1-a/instances/my-instance\") or the full resource URI (e.g., \"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance\").", + "type": "string" + }, + "resourceType": { + "description": "Required. Immutable. Resource type of workload on which backupplan is applied", + "type": "string" + }, + "rulesConfigInfo": { + "description": "Output only. The config info related to backup rules.", + "items": { + "$ref": "RuleConfigInfo" + }, + "readOnly": true, + "type": "array" + }, + "state": { + "description": "Output only. The BackupPlanAssociation resource state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "INACTIVE", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "The resource is being created.", + "The resource has been created and is fully usable.", + "The resource is being deleted.", + "The resource has been created but is not usable.", + "The resource is being updated." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the instance was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupPlanDetail": { + "description": "BackupPlanDetail defines configuration of protection.", + "id": "BackupPlanDetail", + "properties": { + "backupPlan": { + "description": "Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", + "type": "string" + }, + "resourceType": { + "description": "Required. The type of resource that this policy will automatically protect. For MVP, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.", + "type": "string" + } + }, + "type": "object" + }, + "BackupPlanRevision": { + "description": "`BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time.", + "id": "BackupPlanRevision", + "properties": { + "backupPlanSnapshot": { + "$ref": "BackupPlan", + "description": "The Backup Plan being encompassed by this revision." + }, + "createTime": { + "description": "Output only. The timestamp that the revision was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}`", + "readOnly": true, + "type": "string" + }, + "revisionId": { + "description": "Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. Resource State", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "INACTIVE" + ], + "enumDescriptions": [ + "State not set.", + "The resource is being created.", + "The resource has been created and is fully usable.", + "The resource is being deleted.", + "The resource has been created but is not usable." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupRule": { + "description": "`BackupRule` binds the backup schedule to a retention policy.", + "id": "BackupRule", + "properties": { + "backupRetentionDays": { + "description": "Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", + "format": "int32", + "type": "integer" + }, + "ruleId": { + "description": "Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.", + "type": "string" + }, + "standardSchedule": { + "$ref": "StandardSchedule", + "description": "Optional. Defines a schedule that runs within the confines of a defined window of time." + } + }, + "type": "object" + }, + "BackupVault": { + "description": "Message describing a BackupVault object.", + "id": "BackupVault", + "properties": { + "accessRestriction": { + "description": "Optional. Restricts access to certain sources and destinations for data being sent into, or restored from, the backup vault. Defaults to WITHIN_ORGANIZATION if not provided during creation.", + "enum": [ + "ACCESS_RESTRICTION_UNSPECIFIED", + "WITHIN_PROJECT", + "WITHIN_ORGANIZATION", + "UNRESTRICTED", + "WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA" + ], + "enumDescriptions": [ + "Access restriction not set. If user does not provide any value or pass this value, it will be changed to WITHIN_ORGANIZATION.", + "Access to or from resources outside your current project will be denied.", + "Access to or from resources outside your current organization will be denied.", + "No access restriction.", + "Access to or from resources outside your current organization will be denied except for backup appliance." + ], + "type": "string" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data.", + "type": "object" + }, + "backupCount": { + "description": "Output only. The number of backups in this backup vault.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "backupMinimumEnforcedRetentionDuration": { + "description": "Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended. Note: Longer minimum enforced retention period impacts potential storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.", + "format": "google-duration", + "type": "string" + }, + "backupRetentionInheritance": { + "description": "Optional. Setting for how a backup's enforced retention end time is inherited.", + "enum": [ + "BACKUP_RETENTION_INHERITANCE_UNSPECIFIED", + "INHERIT_VAULT_RETENTION", + "MATCH_BACKUP_EXPIRE_TIME" + ], + "enumDescriptions": [ + "Inheritance behavior not set. This will default to `INHERIT_VAULT_RETENTION`.", + "The enforced retention end time of a backup will be inherited from the backup vault's `backup_minimum_enforced_retention_duration` field. This is the default behavior.", + "The enforced retention end time of a backup will always match the expire time of the backup. If this is set, the backup's enforced retention end time will be set to match the expire time during creation of the backup. When updating, the ERET and expire time must be updated together and have the same value. Invalid update requests will be rejected by the server." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deletable": { + "description": "Output only. Set to true when there are no backups nested under this resource.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "Optional. The description of the BackupVault instance (2048 characters or less).", + "type": "string" + }, + "effectiveTime": { + "description": "Optional. Time after which the BackupVault resource is locked.", + "format": "google-datetime", + "type": "string" + }, + "encryptionConfig": { + "$ref": "EncryptionConfig", + "description": "Optional. The encryption config of the backup vault." + }, + "etag": { + "description": "Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", + "type": "object" + }, + "name": { + "description": "Output only. Identifier. Name of the backup vault to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}\"`. `{backupvault}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location.", + "readOnly": true, + "type": "string" + }, + "serviceAccount": { + "description": "Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The BackupVault resource instance state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "The backup vault is being created.", + "The backup vault has been created and is fully usable.", + "The backup vault is being deleted.", + "The backup vault is experiencing an issue and might be unusable.", + "The backup vault is being updated." + ], + "readOnly": true, + "type": "string" + }, + "totalStoredBytes": { + "description": "Output only. Total size of the storage used by all backup resources.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. Immutable after resource creation until resource deletion.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the instance was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupWindow": { + "description": "`BackupWindow` defines a window of the day during which backup jobs will run.", + "id": "BackupWindow", + "properties": { + "endHourOfDay": { + "description": "Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.", + "format": "int32", + "type": "integer" + }, + "startHourOfDay": { + "description": "Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + } + }, + "type": "object" + }, + "BindingEvaluationSummary": { + "description": "BindingEvaluationSummary contains the summary of the last run of job that applies policy to matching resources for a given binding.", + "id": "BindingEvaluationSummary", + "properties": { + "failedResourceCount": { + "description": "Output only. The number of matching resources whose protection failed during job run.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "matchingResourceCount": { + "description": "Output only. The number of resources that currently match the policy's criteria.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "protectedResourceCount": { + "description": "Output only. The number of matching resources that are successfully protected.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BindingMatchingResource": { + "description": "BindingMatchingResource contains the details of a resource that matches the criteria of a binding.", + "id": "BindingMatchingResource", + "properties": { + "autoProtectionDetails": { + "$ref": "AutoProtectionDetails", + "description": "Output only. The auto protection details of the resource from the current binding's perspective.", + "readOnly": true + }, + "lastEvaluationTime": { + "description": "Output only. The timestamp when the resource was last evaluated for protection.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the `BindingMatchingResource`. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}/bindings/{binding}/matchingResources/{matching_resource}`", + "type": "string" + }, + "resource": { + "description": "Required. Immutable. Resource name of the workload that matches the criteria of the binding. The format can be either a relative resource name (e.g., `projects/my-project/zones/us-central1-a/instances/my-instance`) or a schemeless full resource name (e.g., `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`).", + "type": "string" + } + }, + "type": "object" + }, + "BindingSummary": { + "description": "BindingSummary contains count of different containers covered through this policy.", + "id": "BindingSummary", + "properties": { + "projectCount": { + "description": "Output only. Total count of Projects protected with this policy.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CloudSqlInstanceBackupPlanAssociationProperties": { + "description": "Cloud SQL instance's BPA properties.", + "id": "CloudSqlInstanceBackupPlanAssociationProperties", + "properties": { + "instanceCreateTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudSqlInstanceBackupProperties": { + "description": "CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties.", + "id": "CloudSqlInstanceBackupProperties", + "properties": { + "databaseInstalledVersion": { + "description": "Output only. The installed database version of the Cloud SQL instance when the backup was taken.", + "readOnly": true, + "type": "string" + }, + "finalBackup": { + "description": "Output only. Whether the backup is a final backup.", + "readOnly": true, + "type": "boolean" + }, + "instanceCreateTime": { + "description": "Output only. The instance creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "instanceDeleteTime": { + "description": "Output only. The instance delete timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "instanceTier": { + "description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", + "readOnly": true, + "type": "string" + }, + "sourceInstance": { + "description": "Output only. The source instance of the backup. Format: projects/{project}/instances/{instance}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudSqlInstanceDataSourceProperties": { + "description": "CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource.", + "id": "CloudSqlInstanceDataSourceProperties", + "properties": { + "databaseInstalledVersion": { + "description": "Output only. The installed database version of the Cloud SQL instance.", + "readOnly": true, + "type": "string" + }, + "instanceCreateTime": { + "description": "Output only. The instance creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "instanceTier": { + "description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudSqlInstanceDataSourceReferenceProperties": { + "description": "CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference.", + "id": "CloudSqlInstanceDataSourceReferenceProperties", + "properties": { + "databaseInstalledVersion": { + "description": "Output only. The installed database version of the Cloud SQL instance.", + "readOnly": true, + "type": "string" + }, + "instanceCreateTime": { + "description": "Output only. The instance creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "instanceTier": { + "description": "Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840`", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project}/instances/{instance}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudSqlInstanceInitializationConfig": { + "description": "CloudSqlInstanceInitializationConfig contains the configuration for initializing a Cloud SQL instance.", + "id": "CloudSqlInstanceInitializationConfig", + "properties": { + "edition": { + "description": "Required. The edition of the Cloud SQL instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "ENTERPRISE", + "ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "Unspecified edition.", + "Enterprise edition.", + "Enterprise Plus edition." + ], + "type": "string" + } + }, + "type": "object" + }, + "ComputeInstanceBackupPlanProperties": { + "description": "Properties for a compute instance backup plan.", + "id": "ComputeInstanceBackupPlanProperties", + "properties": { + "guestFlush": { + "description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "ComputeInstanceBackupProperties": { + "description": "ComputeInstanceBackupProperties represents Compute Engine instance backup properties.", + "id": "ComputeInstanceBackupProperties", + "properties": { + "canIpForward": { + "description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify `true`. If unsure, leave this set to `false`. See the https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information.", + "type": "boolean" + }, + "description": { + "description": "An optional text description for the instances that are created from these properties.", + "type": "string" + }, + "disk": { + "description": "An array of disks that are associated with the instances that are created from these properties.", + "items": { + "$ref": "AttachedDisk" + }, + "type": "array" + }, + "guestAccelerator": { + "description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "guestFlush": { + "description": "Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.", + "type": "boolean" + }, + "keyRevocationActionType": { + "description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", + "enum": [ + "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", + "NONE", + "STOP" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Indicates user chose no operation.", + "Indicates user chose to opt for VM shutdown on key revocation." + ], + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to apply to instances that are created from these properties.", + "type": "object" + }, + "machineType": { + "description": "The machine type to use for instances that are created from these properties.", + "type": "string" + }, + "metadata": { + "$ref": "Metadata", + "description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See https://cloud.google.com/compute/docs/metadata/overview for more information." + }, + "minCpuPlatform": { + "description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information, read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.", + "type": "string" + }, + "networkInterface": { + "description": "An array of network access configurations for this interface.", + "items": { + "$ref": "NetworkInterface" + }, + "type": "array" + }, + "scheduling": { + "$ref": "Scheduling", + "description": "Specifies the scheduling options for the instances that are created from these properties." + }, + "serviceAccount": { + "description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", + "items": { + "$ref": "ServiceAccount" + }, + "type": "array" + }, + "sourceInstance": { + "description": "The source instance used to create this backup. This can be a partial or full URL to the resource. For example, the following are valid values: -https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance -projects/project/zones/zone/instances/instance", + "type": "string" + }, + "tags": { + "$ref": "Tags", + "description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt)." + } + }, + "type": "object" + }, + "ComputeInstanceDataSourceProperties": { + "description": "ComputeInstanceDataSourceProperties represents the properties of a ComputeEngine resource that are stored in the DataSource.", + "id": "ComputeInstanceDataSourceProperties", + "properties": { + "description": { + "description": "The description of the Compute Engine instance.", + "type": "string" + }, + "machineType": { + "description": "The machine type of the instance.", + "type": "string" + }, + "name": { + "description": "Name of the compute instance backed up by the datasource.", + "type": "string" + }, + "totalDiskCount": { + "description": "The total number of disks attached to the Instance.", + "format": "int64", + "type": "string" + }, + "totalDiskSizeGb": { + "description": "The sum of all the disk sizes.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ComputeInstanceRestoreProperties": { + "description": "ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore.", + "id": "ComputeInstanceRestoreProperties", + "properties": { + "advancedMachineFeatures": { + "$ref": "AdvancedMachineFeatures", + "description": "Optional. Controls for advanced machine-related behavior features." + }, + "canIpForward": { + "description": "Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.", + "type": "boolean" + }, + "confidentialInstanceConfig": { + "$ref": "ConfidentialInstanceConfig", + "description": "Optional. Controls Confidential compute options on the instance" + }, + "deletionProtection": { + "description": "Optional. Whether the resource should be protected against deletion.", + "type": "boolean" + }, + "description": { + "description": "Optional. An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "disks": { + "description": "Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them. Source regional persistent disks will be restored with default replica zones if not specified.", + "items": { + "$ref": "AttachedDisk" + }, + "type": "array" + }, + "displayDevice": { + "$ref": "DisplayDevice", + "description": "Optional. Enables display device for the instance." + }, + "guestAccelerators": { + "description": "Optional. A list of the type and count of accelerator cards attached to the instance.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "hostname": { + "description": "Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", + "type": "string" + }, + "instanceEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Optional. Encrypts suspended data for an instance with a customer-managed encryption key." + }, + "keyRevocationActionType": { + "description": "Optional. KeyRevocationActionType of the instance.", + "enum": [ + "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", + "NONE", + "STOP" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Indicates user chose no operation.", + "Indicates user chose to opt for VM shutdown on key revocation." + ], + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels to apply to this instance.", + "type": "object" + }, + "machineType": { + "description": "Optional. Full or partial URL of the machine type resource to use for this instance.", + "type": "string" + }, + "metadata": { + "$ref": "Metadata", + "description": "Optional. This includes custom metadata and predefined keys." + }, + "minCpuPlatform": { + "description": "Optional. Minimum CPU platform to use for this instance.", + "type": "string" + }, + "name": { + "description": "Required. Name of the compute instance.", + "type": "string" + }, + "networkInterfaces": { + "description": "Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. Required to restore in different project or region.", + "items": { + "$ref": "NetworkInterface" + }, + "type": "array" + }, + "networkPerformanceConfig": { + "$ref": "NetworkPerformanceConfig", + "description": "Optional. Configure network performance such as egress bandwidth tier." + }, + "params": { + "$ref": "InstanceParams", + "description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." + }, + "privateIpv6GoogleAccess": { + "description": "Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", + "enum": [ + "INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", + "INHERIT_FROM_SUBNETWORK", + "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", + "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.", + "Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", + "Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before." + ], + "type": "string" + }, + "reservationAffinity": { + "$ref": "AllocationAffinity", + "description": "Optional. Specifies the reservations that this instance can consume from." + }, + "resourcePolicies": { + "description": "Optional. Resource policies applied to this instance. By default, no resource policies will be applied.", + "items": { + "type": "string" + }, + "type": "array" + }, + "scheduling": { + "$ref": "Scheduling", + "description": "Optional. Sets the scheduling options for this instance." + }, + "serviceAccounts": { + "description": "Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported.", + "items": { + "$ref": "ServiceAccount" + }, + "type": "array" + }, + "tags": { + "$ref": "Tags", + "description": "Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation." + } + }, + "type": "object" + }, + "ComputeInstanceTargetEnvironment": { + "description": "ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore.", + "id": "ComputeInstanceTargetEnvironment", + "properties": { + "project": { + "description": "Required. Target project for the Compute Engine instance.", + "type": "string" + }, + "useProjectServiceAccount": { + "description": "Optional. Whether to use the project service account for the Compute Engine instance restore.", + "type": "boolean" + }, + "zone": { + "description": "Required. The zone of the Compute Engine instance.", + "type": "string" + } + }, + "type": "object" + }, + "ConfidentialInstanceConfig": { + "description": "A set of Confidential Instance options.", + "id": "ConfidentialInstanceConfig", + "properties": { + "enableConfidentialCompute": { + "description": "Optional. Defines whether the instance should have confidential compute enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "Criteria": { + "description": "Criteria specifies a set of criteria for matching resources.", + "id": "Criteria", + "properties": { + "matchingConditions": { + "description": "Required. A list of matching conditions that a resource must meet to be protected by the policy.", + "items": { + "$ref": "MatchingCondition" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomerEncryptionKey": { + "description": "A customer-supplied encryption key.", + "id": "CustomerEncryptionKey", + "properties": { + "kmsKeyName": { + "description": "Optional. The name of the encryption key that is stored in Google Cloud KMS.", + "type": "string" + }, + "kmsKeyServiceAccount": { + "description": "Optional. The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.", + "type": "string" + }, + "rawKey": { + "description": "Optional. Specifies a 256-bit customer-supplied encryption key.", + "type": "string" + }, + "rsaEncryptedKey": { + "description": "Optional. RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource.", + "type": "string" + } + }, + "type": "object" + }, + "DataSource": { + "description": "Message describing a DataSource object. Datasource object used to represent Datasource details for both admin and basic view.", + "id": "DataSource", + "properties": { + "backupBlockedByVaultAccessRestriction": { + "description": "Output only. This field is set to true if the backup is blocked by vault access restriction.", + "readOnly": true, + "type": "boolean" + }, + "backupConfigInfo": { + "$ref": "BackupConfigInfo", + "description": "Output only. Details of how the resource is configured for backup.", + "readOnly": true + }, + "backupCount": { + "description": "Number of backups in the data source.", + "format": "int64", + "type": "string" + }, + "configState": { + "description": "Output only. The backup configuration state.", + "enum": [ + "BACKUP_CONFIG_STATE_UNSPECIFIED", + "ACTIVE", + "PASSIVE" + ], + "enumDescriptions": [ + "The possible states of backup configuration. Status not set.", + "The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", + "The data source is no longer protected (but may have backups under it)" + ], + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataSourceBackupApplianceApplication": { + "$ref": "DataSourceBackupApplianceApplication", + "description": "The backed up resource is a backup appliance application." + }, + "dataSourceGcpResource": { + "$ref": "DataSourceGcpResource", + "description": "The backed up resource is a Google Cloud resource. The word 'DataSource' was included in the names to indicate that this is the representation of the Google Cloud resource used within the DataSource object." + }, + "etag": { + "description": "Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata. No labels currently defined:", + "type": "object" + }, + "name": { + "description": "Output only. Identifier. Name of the datasource to create. It must have the format`\"projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}\"`. `{datasource}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The DataSource resource instance state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "State not set.", + "The data source is being created.", + "The data source has been created and is fully usable.", + "The data source is being deleted.", + "The data source is experiencing an issue and might be unusable." + ], + "readOnly": true, + "type": "string" + }, + "totalStoredBytes": { + "description": "The number of bytes (metadata and data) stored in this datasource.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the instance was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataSourceBackupApplianceApplication": { + "description": "BackupApplianceApplication describes a Source Resource when it is an application backed up by a BackupAppliance.", + "id": "DataSourceBackupApplianceApplication", + "properties": { + "applianceId": { + "description": "Appliance Id of the Backup Appliance.", + "format": "int64", + "type": "string" + }, + "applicationId": { + "description": "The appid field of the application within the Backup Appliance.", + "format": "int64", + "type": "string" + }, + "applicationName": { + "description": "The name of the Application as known to the Backup Appliance.", + "type": "string" + }, + "backupAppliance": { + "description": "Appliance name.", + "type": "string" + }, + "hostId": { + "description": "Hostid of the application host.", + "format": "int64", + "type": "string" + }, + "hostname": { + "description": "Hostname of the host where the application is running.", + "type": "string" + }, + "type": { + "description": "The type of the application. e.g. VMBackup", + "type": "string" + } + }, + "type": "object" + }, + "DataSourceBackupConfigInfo": { + "description": "Information of backup configuration on the DataSource.", + "id": "DataSourceBackupConfigInfo", + "properties": { + "lastBackupState": { + "description": "Output only. The status of the last backup in this DataSource", + "enum": [ + "LAST_BACKUP_STATE_UNSPECIFIED", + "FIRST_BACKUP_PENDING", + "SUCCEEDED", + "FAILED", + "PERMISSION_DENIED" + ], + "enumDescriptions": [ + "Status not set.", + "The first backup has not yet completed", + "The most recent backup was successful", + "The most recent backup failed", + "The most recent backup could not be run/failed because of the lack of permissions" + ], + "readOnly": true, + "type": "string" + }, + "lastSuccessfulBackupConsistencyTime": { + "description": "Output only. Timestamp of the last successful backup to this DataSource.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataSourceGcpResource": { + "description": "DataSourceGcpResource is used for protected resources that are Google Cloud Resources. This name is easeier to understand than GcpResourceDataSource or GcpDataSourceResource", + "id": "DataSourceGcpResource", + "properties": { + "alloyDbClusterDatasourceProperties": { + "$ref": "AlloyDBClusterDataSourceProperties", + "description": "Output only. AlloyDBClusterDataSourceProperties has a subset of AlloyDB cluster properties that are useful at the Datasource level. Currently none of its child properties are auditable. If new auditable properties are added, the AUDIT annotation should be added.", + "readOnly": true + }, + "cloudSqlInstanceDatasourceProperties": { + "$ref": "CloudSqlInstanceDataSourceProperties", + "description": "Output only. CloudSqlInstanceDataSourceProperties has a subset of Cloud SQL Instance properties that are useful at the Datasource level.", + "readOnly": true + }, + "computeInstanceDatasourceProperties": { + "$ref": "ComputeInstanceDataSourceProperties", + "description": "ComputeInstanceDataSourceProperties has a subset of Compute Instance properties that are useful at the Datasource level." + }, + "diskDatasourceProperties": { + "$ref": "DiskDataSourceProperties", + "description": "DiskDataSourceProperties has a subset of Disk properties that are useful at the Datasource level." + }, + "filestoreInstanceDatasourceProperties": { + "$ref": "FilestoreInstanceDataSourceProperties", + "description": "Output only. FilestoreInstanceDataSourceProperties has a subset of FileStore instance properties that are useful at the Datasource level.", + "readOnly": true + }, + "gcpResourcename": { + "description": "Output only. Full resource pathname URL of the source Google Cloud resource.", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "Location of the resource: //\"global\"/\"unspecified\".", + "type": "string" + }, + "type": { + "description": "The type of the Google Cloud resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance.", + "type": "string" + } + }, + "type": "object" + }, + "DataSourceGcpResourceInfo": { + "description": "The Google Cloud resource that the DataSource is associated with.", + "id": "DataSourceGcpResourceInfo", + "properties": { + "alloyDbClusterProperties": { + "$ref": "AlloyDBClusterDataSourceReferenceProperties", + "description": "Output only. The properties of the AlloyDB cluster.", + "readOnly": true + }, + "cloudSqlInstanceProperties": { + "$ref": "CloudSqlInstanceDataSourceReferenceProperties", + "description": "Output only. The properties of the Cloud SQL instance.", + "readOnly": true + }, + "filestoreInstanceProperties": { + "$ref": "FilestoreInstanceDataSourceReferenceProperties", + "description": "Output only. The properties of the Filestore instance.", + "readOnly": true + }, + "gcpResourcename": { + "description": "Output only. The resource name of the Google Cloud resource. Ex: projects/{project}/zones/{zone}/instances/{instance}", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "Output only. The location of the Google Cloud resource. Ex: //\"global\"/\"unspecified\"", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the Google Cloud resource. Ex: compute.googleapis.com/Instance", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataSourceReference": { + "description": "DataSourceReference is a reference to a DataSource resource.", + "id": "DataSourceReference", + "properties": { + "createTime": { + "description": "Output only. The time when the DataSourceReference was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataSource": { + "description": "Output only. The resource name of the DataSource. Format: projects/{project}/locations/{location}/backupVaults/{backupVault}/dataSources/{dataSource}", + "readOnly": true, + "type": "string" + }, + "dataSourceBackupConfigInfo": { + "$ref": "DataSourceBackupConfigInfo", + "description": "Output only. Information of backup configuration on the DataSource.", + "readOnly": true + }, + "dataSourceBackupConfigState": { + "description": "Output only. The backup configuration state of the DataSource.", + "enum": [ + "BACKUP_CONFIG_STATE_UNSPECIFIED", + "ACTIVE", + "PASSIVE" + ], + "enumDescriptions": [ + "The possible states of backup configuration. Status not set.", + "The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", + "The data source is no longer protected (but may have backups under it)" + ], + "readOnly": true, + "type": "string" + }, + "dataSourceBackupCount": { + "description": "Output only. Number of backups in the DataSource.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "dataSourceGcpResourceInfo": { + "$ref": "DataSourceGcpResourceInfo", + "description": "Output only. The Google Cloud resource that the DataSource is associated with.", + "readOnly": true + }, + "name": { + "description": "Identifier. The resource name of the DataSourceReference. Format: projects/{project}/locations/{location}/dataSourceReferences/{data_source_reference}", + "type": "string" + }, + "totalStoredBytes": { + "description": "Output only. Total size of the storage used by all backup resources for the referenced datasource.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DiskBackupPlanProperties": { + "description": "Properties for a disk backup plan.", + "id": "DiskBackupPlanProperties", + "properties": { + "guestFlush": { + "description": "Optional. Indicates whether to perform a guest flush operation before taking a disk backup. When set to false, the system will create crash-consistent backups. Default value is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "DiskBackupProperties": { + "description": "DiskBackupProperties represents the properties of a Disk backup.", + "id": "DiskBackupProperties", + "properties": { + "accessMode": { + "description": "The access mode of the source disk.", + "type": "string" + }, + "architecture": { + "description": "The architecture of the source disk. Valid values are ARM64 or X86_64.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "X86_64", + "ARM64" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Disks with architecture X86_64", + "Disks with architecture ARM64" + ], + "type": "string" + }, + "description": { + "description": "A description of the source disk.", + "type": "string" + }, + "enableConfidentialCompute": { + "description": "Indicates whether the source disk is using confidential compute mode.", + "type": "boolean" + }, + "guestFlush": { + "description": "Optional. Defines if the guest flush is enabled for the source disk. Default value is false.", + "type": "boolean" + }, + "guestOsFeature": { + "description": "A list of guest OS features that are applicable to this backup.", + "items": { + "$ref": "GuestOsFeature" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels of the source disk.", + "type": "object" + }, + "licenses": { + "description": "A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image.", + "items": { + "type": "string" + }, + "type": "array" + }, + "physicalBlockSizeBytes": { + "description": "The physical block size of the source disk.", + "format": "int64", + "type": "string" + }, + "provisionedIops": { + "description": "The number of IOPS provisioned for the source disk.", + "format": "int64", + "type": "string" + }, + "provisionedThroughput": { + "description": "The number of throughput provisioned for the source disk.", + "format": "int64", + "type": "string" + }, + "region": { + "description": "Region and zone are mutually exclusive fields. The URL of the region of the source disk.", + "type": "string" + }, + "replicaZones": { + "description": "The URL of the Zones where the source disk should be replicated.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sizeGb": { + "description": "Size(in GB) of the source disk.", + "format": "int64", + "type": "string" + }, + "sourceDisk": { + "description": "The source disk used to create this backup.", + "type": "string" + }, + "storagePool": { + "description": "The storage pool of the source disk.", + "type": "string" + }, + "type": { + "description": "The URL of the type of the disk.", + "type": "string" + }, + "zone": { + "description": "The URL of the Zone where the source disk.", + "type": "string" + } + }, + "type": "object" + }, + "DiskDataSourceProperties": { + "description": "DiskDataSourceProperties represents the properties of a Disk resource that are stored in the DataSource. .", + "id": "DiskDataSourceProperties", + "properties": { + "description": { + "description": "The description of the disk.", + "type": "string" + }, + "name": { + "description": "Name of the disk backed up by the datasource.", + "type": "string" + }, + "sizeGb": { + "description": "The size of the disk in GB.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "The type of the disk.", + "type": "string" + } + }, + "type": "object" + }, + "DiskRestoreProperties": { + "description": "DiskRestoreProperties represents the properties of a Disk restore.", + "id": "DiskRestoreProperties", + "properties": { + "accessMode": { + "description": "Optional. The access mode of the disk.", + "enum": [ + "READ_WRITE_SINGLE", + "READ_WRITE_MANY", + "READ_ONLY_MANY" + ], + "enumDescriptions": [ + "The default AccessMode, means the disk can be attached to single instance in RW mode.", + "The AccessMode means the disk can be attached to multiple instances in RW mode.", + "The AccessMode means the disk can be attached to multiple instances in RO mode." + ], + "type": "string" + }, + "architecture": { + "description": "Optional. The architecture of the source disk. Valid values are ARM64 or X86_64.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "X86_64", + "ARM64" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Disks with architecture X86_64", + "Disks with architecture ARM64" + ], + "type": "string" + }, + "description": { + "description": "Optional. An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "diskEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Optional. Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key." + }, + "enableConfidentialCompute": { + "description": "Optional. Indicates whether this disk is using confidential compute mode. Encryption with a Cloud KMS key is required to enable this option.", + "type": "boolean" + }, + "guestOsFeature": { + "description": "Optional. A list of features to enable in the guest operating system. This is applicable only for bootable images.", + "items": { + "$ref": "GuestOsFeature" + }, + "type": "array" + }, + "instanceBackupSource": { + "$ref": "RestoreDiskFromInstanceOptions", + "description": "Options for creating a disk from a source Compute Instance backup." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels to apply to this disk. These can be modified later using setLabels method. Label values can be empty.", + "type": "object" + }, + "licenses": { + "description": "Optional. A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. Name of the disk.", + "type": "string" + }, + "physicalBlockSizeBytes": { + "description": "Optional. Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently, the supported size is 4096.", + "format": "int64", + "type": "string" + }, + "provisionedIops": { + "description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.", + "format": "int64", + "type": "string" + }, + "provisionedThroughput": { + "description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput MB per second that the disk can handle.", + "format": "int64", + "type": "string" + }, + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource manager tags to be bound to the disk.", + "type": "object" + }, + "resourcePolicy": { + "description": "Optional. Resource policies applied to this disk.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sizeGb": { + "description": "Required. The size of the disk in GB.", + "format": "int64", + "type": "string" + }, + "storagePool": { + "description": "Optional. The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource.", + "type": "string" + }, + "type": { + "description": "Required. URL of the disk type resource describing which disk type to use to create the disk.", + "type": "string" + } + }, + "type": "object" + }, + "DiskTargetEnvironment": { + "description": "DiskTargetEnvironment represents the target environment for the disk.", + "id": "DiskTargetEnvironment", + "properties": { + "project": { + "description": "Required. Target project for the disk.", + "type": "string" + }, + "useProjectServiceAccount": { + "description": "Optional. Whether to use the project service account for the disk restore.", + "type": "boolean" + }, + "zone": { + "description": "Required. Target zone for the disk.", + "type": "string" + } + }, + "type": "object" + }, + "DisplayDevice": { + "description": "A set of Display Device options", + "id": "DisplayDevice", + "properties": { + "enableDisplay": { + "description": "Optional. Enables display for the Compute Engine VM", + "type": "boolean" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EncryptionConfig": { + "description": "Message describing the EncryptionConfig of backup vault. This determines how data within the vault is encrypted at rest.", + "id": "EncryptionConfig", + "properties": { + "kmsKeyName": { + "description": "Optional. The Cloud KMS key name to encrypt backups in this backup vault. Must be in the same region as the vault. Some workload backups like compute disk backups may use their inherited source key instead. Format: projects/{project}/locations/{location}/keyRings/{ring}/cryptoKeys/{key}", + "type": "string" + } + }, + "type": "object" + }, + "EndTrialRequest": { + "description": "Request message for ending a trial.", + "id": "EndTrialRequest", + "properties": { + "endReason": { + "description": "Required. The reason for ending the trial.", + "enum": [ + "END_REASON_UNSPECIFIED", + "MOVE_TO_PAID", + "DISCONTINUED" + ], + "enumDescriptions": [ + "End reason not set.", + "Trial is deliberately ended by the user to transition to paid usage.", + "Trial is discontinued before expiration." + ], + "type": "string" + } + }, + "type": "object" + }, + "Entry": { + "description": "A key/value pair to be used for storing metadata.", + "id": "Entry", + "properties": { + "key": { + "description": "Optional. Key for the metadata entry.", + "type": "string" + }, + "value": { + "description": "Optional. Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", + "type": "string" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "FetchAccessTokenRequest": { + "description": "Request message for FetchAccessToken.", + "id": "FetchAccessTokenRequest", + "properties": { + "generationId": { + "description": "Required. The generation of the backup to update.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "FetchAccessTokenResponse": { + "description": "Response message for FetchAccessToken.", + "id": "FetchAccessTokenResponse", + "properties": { + "expireTime": { + "description": "The token is valid until this time.", + "format": "google-datetime", + "type": "string" + }, + "readLocation": { + "description": "The location in bucket that can be used for reading.", + "type": "string" + }, + "token": { + "description": "Input only. The downscoped token that was created.", + "type": "string" + }, + "writeLocation": { + "description": "The location in bucket that can be used for writing.", + "type": "string" + } + }, + "type": "object" + }, + "FetchBackupPlanAssociationsForResourceTypeResponse": { + "description": "Response for the FetchBackupPlanAssociationsForResourceType method.", + "id": "FetchBackupPlanAssociationsForResourceTypeResponse", + "properties": { + "backupPlanAssociations": { + "description": "Output only. The BackupPlanAssociations from the specified parent.", + "items": { + "$ref": "BackupPlanAssociation" + }, + "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" + } + }, + "type": "object" + }, + "FetchBackupsForResourceTypeResponse": { + "description": "Response for the FetchBackupsForResourceType method.", + "id": "FetchBackupsForResourceTypeResponse", + "properties": { + "backups": { + "description": "The Backups from the specified parent.", + "items": { + "$ref": "Backup" + }, + "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" + }, + "FetchDataSourceReferencesForResourceTypeResponse": { + "description": "Response for the FetchDataSourceReferencesForResourceType method.", + "id": "FetchDataSourceReferencesForResourceTypeResponse", + "properties": { + "dataSourceReferences": { + "description": "The DataSourceReferences from the specified parent.", + "items": { + "$ref": "DataSourceReference" + }, + "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" + }, + "FetchMsComplianceMetadataRequest": { + "description": "Request message for GetMsComplianceMetadata", + "id": "FetchMsComplianceMetadataRequest", + "properties": { + "projectId": { + "description": "Required. The project id of the target project", + "type": "string" + } + }, + "type": "object" + }, + "FetchMsComplianceMetadataResponse": { + "description": "Response message for GetMsComplianceMetadata", + "id": "FetchMsComplianceMetadataResponse", + "properties": { + "isAssuredWorkload": { + "description": "The ms compliance metadata of the target project, if the project is an Assured Workloads project, values will be true, otherwise false.", + "type": "boolean" + } + }, + "type": "object" + }, + "FetchResourceBackupConfigsResponse": { + "description": "Response for FetchResourceBackupConfigs.", + "id": "FetchResourceBackupConfigsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "resourceBackupConfigs": { + "description": "The list of ResourceBackupConfigs for the specified scope.", + "items": { + "$ref": "ResourceBackupConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "FetchUsableBackupVaultsResponse": { + "description": "Response message for fetching usable BackupVaults.", + "id": "FetchUsableBackupVaultsResponse", + "properties": { + "backupVaults": { + "description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", + "items": { + "$ref": "BackupVault" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FilestoreInstanceBackupPlanAssociationProperties": { + "description": "Filestore instance's BPA properties.", + "id": "FilestoreInstanceBackupPlanAssociationProperties", + "properties": { + "instanceCreateTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FilestoreInstanceBackupProperties": { + "description": "FilestoreInstanceBackupProperties represents the properties of a Filestore instance that are backed up by the datasource. .", + "id": "FilestoreInstanceBackupProperties", + "properties": { + "sourceInstance": { + "description": "Output only. The source instance of the backup.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FilestoreInstanceDataSourceProperties": { + "description": "FilestoreInstanceDataSourceProperties represents the properties of a Filestore resource that are stored in the DataSource. .", + "id": "FilestoreInstanceDataSourceProperties", + "properties": { + "instanceCreateTime": { + "description": "Output only. The instance creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the Filestore instance backed up by the datasource.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FilestoreInstanceDataSourceReferenceProperties": { + "description": "FilestoreInstanceDataSourceReferenceProperties represents the properties of a Filestore resource that are stored in the DataSourceReference. .", + "id": "FilestoreInstanceDataSourceReferenceProperties", + "properties": { + "instanceCreateTime": { + "description": "Output only. The instance creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the Filestore instance backed up by the datasource. Format: projects/{project}/instances/{instance}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FinalizeBackupRequest": { + "description": "Message for finalizing a Backup.", + "id": "FinalizeBackupRequest", + "properties": { + "backupId": { + "description": "Required. Resource ID of the Backup resource to be finalized. This must be the same backup_id that was used in the InitiateBackupRequest.", + "type": "string" + }, + "consistencyTime": { + "description": "The point in time when this backup was captured from the source. This will be assigned to the consistency_time field of the newly created Backup.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "This will be assigned to the description field of the newly created Backup.", + "type": "string" + }, + "recoveryRangeEndTime": { + "description": "The latest timestamp of data available in this Backup. This will be set on the newly created Backup.", + "format": "google-datetime", + "type": "string" + }, + "recoveryRangeStartTime": { + "description": "The earliest timestamp of data available in this Backup. This will set on the newly created Backup.", + "format": "google-datetime", + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "retentionDuration": { + "description": "The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GCPBackupPlanInfo": { + "description": "GCPBackupPlanInfo captures the plan configuration details of Google Cloud resources at the time of backup.", + "id": "GCPBackupPlanInfo", + "properties": { + "backupPlan": { + "description": "Resource name of backup plan by which workload is protected at the time of the backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}", + "type": "string" + }, + "backupPlanRevisionId": { + "description": "The user friendly id of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup.", + "type": "string" + }, + "backupPlanRevisionName": { + "description": "Resource name of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}/revisions/{revisionId}", + "type": "string" + }, + "backupPlanRuleId": { + "description": "The rule id of the backup plan which triggered this backup in case of scheduled backup or used for", + "type": "string" + } + }, + "type": "object" + }, + "GcpBackupConfig": { + "description": "GcpBackupConfig captures the Backup configuration details for Google Cloud resources. All Google Cloud resources regardless of type are protected with backup plan associations.", + "id": "GcpBackupConfig", + "properties": { + "autoProtectionPolicyBinding": { + "description": "Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this datasource, if any. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{policy}/bindings/{binding}`.", + "readOnly": true, + "type": "string" + }, + "backupPlan": { + "description": "The name of the backup plan.", + "type": "string" + }, + "backupPlanAssociation": { + "description": "The name of the backup plan association.", + "type": "string" + }, + "backupPlanDescription": { + "description": "The description of the backup plan.", + "type": "string" + }, + "backupPlanRevisionId": { + "description": "The user friendly id of the backup plan revision. E.g. v0, v1 etc.", + "type": "string" + }, + "backupPlanRevisionName": { + "description": "The name of the backup plan revision.", + "type": "string" + }, + "backupPlanRules": { + "description": "The names of the backup plan rules which point to this backupvault", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudBackupdrV1betaOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudBackupdrV1betaOperationMetadata", + "properties": { + "additionalInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. AdditionalInfo contains additional Info related to backup plan association resource.", + "readOnly": true, + "type": "object" + }, + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuestOsFeature": { + "description": "Feature type of the Guest OS.", + "id": "GuestOsFeature", + "properties": { + "type": { + "description": "The ID of a supported feature.", + "enum": [ + "FEATURE_TYPE_UNSPECIFIED", + "VIRTIO_SCSI_MULTIQUEUE", + "WINDOWS", + "MULTI_IP_SUBNET", + "UEFI_COMPATIBLE", + "SECURE_BOOT", + "GVNIC", + "SEV_CAPABLE", + "BARE_METAL_LINUX_COMPATIBLE", + "SUSPEND_RESUME_COMPATIBLE", + "SEV_LIVE_MIGRATABLE", + "SEV_SNP_CAPABLE", + "TDX_CAPABLE", + "IDPF", + "SEV_LIVE_MIGRATABLE_V2" + ], + "enumDescriptions": [ + "Default value, which is unused.", + "VIRTIO_SCSI_MULTIQUEUE feature type.", + "WINDOWS feature type.", + "MULTI_IP_SUBNET feature type.", + "UEFI_COMPATIBLE feature type.", + "SECURE_BOOT feature type.", + "GVNIC feature type.", + "SEV_CAPABLE feature type.", + "BARE_METAL_LINUX_COMPATIBLE feature type.", + "SUSPEND_RESUME_COMPATIBLE feature type.", + "SEV_LIVE_MIGRATABLE feature type.", + "SEV_SNP_CAPABLE feature type.", + "TDX_CAPABLE feature type.", + "IDPF feature type.", + "SEV_LIVE_MIGRATABLE_V2 feature type." + ], + "type": "string" + } + }, + "type": "object" + }, + "InitializeParams": { + "description": "Specifies the parameters to initialize this disk.", + "id": "InitializeParams", + "properties": { + "diskName": { + "description": "Optional. Specifies the disk name. If not specified, the default is to use the name of the instance.", + "type": "string" + }, + "replicaZones": { + "description": "Optional. URL of the zone where the disk should be created. Required for each regional disk associated with the instance.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InitializeServiceRequest": { + "description": "Request message for initializing the service.", + "id": "InitializeServiceRequest", + "properties": { + "backupPlanLocation": { + "description": "Optional. The location where the BackupPlan will be created. This field is required for multi-region BackupVaults and is optional for regional BackupVaults. It is useful when creating a Backup Vault in a multi-region, allowing the BackupPlan to reside in a specific region within that multi-region. If this field is not provided, the BackupPlan will be created in the same location as specified in the `name` field.", + "type": "string" + }, + "cloudSqlInstanceInitializationConfig": { + "$ref": "CloudSqlInstanceInitializationConfig", + "description": "Optional. The configuration for initializing a Cloud SQL instance." + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "resourceType": { + "description": "Required. The resource type to which the default service config will be applied. Examples include, \"compute.googleapis.com/Instance\" and \"storage.googleapis.com/Bucket\".", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validates the request and returns the result, but does not actually run it.", + "type": "boolean" + } + }, + "type": "object" + }, + "InitiateBackupRequest": { + "description": "request message for InitiateBackup.", + "id": "InitiateBackupRequest", + "properties": { + "backupId": { + "description": "Required. Resource ID of the Backup resource.", + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, + "InitiateBackupResponse": { + "description": "Response message for InitiateBackup.", + "id": "InitiateBackupResponse", + "properties": { + "backup": { + "description": "The name of the backup that was created.", + "type": "string" + }, + "baseBackupGenerationId": { + "description": "The generation id of the base backup. It is needed for the incremental backups.", + "format": "int32", + "type": "integer" + }, + "newBackupGenerationId": { + "description": "The generation id of the new backup.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InitiateDeleteAutoProtectionPolicyBindingRequest": { + "description": "Request message for initiating delete of an AutoProtectionPolicyBinding.", + "id": "InitiateDeleteAutoProtectionPolicyBindingRequest", + "properties": {}, + "type": "object" + }, + "InstanceParams": { + "description": "Additional instance params.", + "id": "InstanceParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource manager tags to be bound to the instance.", + "type": "object" + } + }, + "type": "object" + }, + "KeyValuePair": { + "description": "KeyValuePair defines a key-value pair for matching resource labels.", + "id": "KeyValuePair", + "properties": { + "key": { + "description": "Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\\p{Ll}\\p{Lo}{0,62}`.", + "type": "string" + }, + "values": { + "description": "Required. The values of the label to match. There will be explicit “OR” between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\\\p{Ll}\\\\p{Lo}\\\\p{N}_-]{1,63}`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListAppliedAutoProtectionPoliciesResponse": { + "description": "Response message for ListAppliedAutoProtectionPolicies.", + "id": "ListAppliedAutoProtectionPoliciesResponse", + "properties": { + "appliedAutoProtectionPolicies": { + "description": "A list of the AppliedAutoProtectionPolicy resources found.", + "items": { + "$ref": "AppliedAutoProtectionPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListAutoProtectionPoliciesResponse": { + "description": "Response message for ListAutoProtectionPolicies.", + "id": "ListAutoProtectionPoliciesResponse", + "properties": { + "autoProtectionPolicies": { + "description": "A list of the AutoProtectionPolicy resources found.", + "items": { + "$ref": "AutoProtectionPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListAutoProtectionPolicyBindingsResponse": { + "description": "Response message for ListAutoProtectionPolicyBindings.", + "id": "ListAutoProtectionPolicyBindingsResponse", + "properties": { + "autoProtectionPolicyBindings": { + "description": "A list of the AutoProtectionPolicyBindings resources found.", + "items": { + "$ref": "AutoProtectionPolicyBinding" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupPlanAssociationsResponse": { + "description": "Response message for List BackupPlanAssociation", + "id": "ListBackupPlanAssociationsResponse", + "properties": { + "backupPlanAssociations": { + "description": "The list of Backup Plan Associations in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup plan associations in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", + "items": { + "$ref": "BackupPlanAssociation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupPlanRevisionsResponse": { + "description": "The response message for getting a list of `BackupPlanRevision`.", + "id": "ListBackupPlanRevisionsResponse", + "properties": { + "backupPlanRevisions": { + "description": "The list of `BackupPlanRevisions` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", + "items": { + "$ref": "BackupPlanRevision" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token which may be sent as page_token in a subsequent `ListBackupPlanRevisions` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupPlansResponse": { + "description": "The response message for getting a list of `BackupPlan`.", + "id": "ListBackupPlansResponse", + "properties": { + "backupPlans": { + "description": "The list of `BackupPlans` in the project for the specified location. If the `{location}` value in the request is \"-\", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. BackupPlan", + "items": { + "$ref": "BackupPlan" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token which may be sent as page_token in a subsequent `ListBackupPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupVaultsResponse": { + "description": "Response message for listing BackupVaults.", + "id": "ListBackupVaultsResponse", + "properties": { + "backupVaults": { + "description": "The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", + "items": { + "$ref": "BackupVault" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "Response message for listing Backups.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "The list of Backup instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", + "items": { + "$ref": "Backup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBindingMatchingResourcesResponse": { + "description": "The response message for getting a list of `BindingMatchingResources`.", + "id": "ListBindingMatchingResourcesResponse", + "properties": { + "matchingResources": { + "description": "The list of `BindingMatchingResources` in the project,location for the specified binding.", + "items": { + "$ref": "BindingMatchingResource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token which may be sent as page_token in a subsequent `ListBindingMatchingResources` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListDataSourceReferencesResponse": { + "description": "Response for the ListDataSourceReferences method.", + "id": "ListDataSourceReferencesResponse", + "properties": { + "dataSourceReferences": { + "description": "The DataSourceReferences from the specified parent.", + "items": { + "$ref": "DataSourceReference" + }, + "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" + }, + "ListDataSourcesResponse": { + "description": "Response message for listing DataSources.", + "id": "ListDataSourcesResponse", + "properties": { + "dataSources": { + "description": "The list of DataSource instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", + "items": { + "$ref": "DataSource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListManagementServersResponse": { + "description": "Response message for listing management servers.", + "id": "ListManagementServersResponse", + "properties": { + "managementServers": { + "description": "The list of ManagementServer instances in the project for the specified location. If the '{location}' value in the request is \"-\", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return management servers in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.", + "items": { + "$ref": "ManagementServer" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListResourceBackupConfigsResponse": { + "description": "Response for ListResourceBackupConfigs.", + "id": "ListResourceBackupConfigsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "resourceBackupConfigs": { + "description": "The list of ResourceBackupConfigs for the specified scope.", + "items": { + "$ref": "ResourceBackupConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LocationMetadata": { + "id": "LocationMetadata", + "properties": { + "unsupportedFeatures": { + "description": "List of features that are not supported in the location.", + "items": { + "enum": [ + "FEATURE_UNSPECIFIED", + "MANAGEMENT_SERVER", + "COMPUTE_INSTANCE", + "PROTECTION_SUMMARY", + "DISK", + "CLOUD_SQL", + "ALLOY_DB", + "FILESTORE", + "BV_AF", + "CEP_MONITORING_COMPUTE_INSTANCE", + "CEP_MONITORING_DISK", + "BV_CUSTOM_PROBERS", + "FT_CUSTOM_PROBERS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Remove once parity achieved between BV_AF and BV_CUSTOM_PROBERS.", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ManagementServer": { + "description": "ManagementServer describes a single BackupDR ManagementServer instance.", + "id": "ManagementServer", + "properties": { + "baProxyUri": { + "description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by BAs to connect to BA proxy.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the ManagementServer instance (2048 characters or less).", + "type": "string" + }, + "etag": { + "description": "Optional. Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode.", + "type": "object" + }, + "managementUri": { + "$ref": "ManagementURI", + "description": "Output only. The hostname or ip address of the exposed AGM endpoints, used by clients to connect to AGM/RD graphical user interface and APIs.", + "readOnly": true + }, + "name": { + "description": "Output only. Identifier. The resource name.", + "readOnly": true, + "type": "string" + }, + "networks": { + "description": "Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA", + "items": { + "$ref": "NetworkConfig" + }, + "type": "array" + }, + "oauth2ClientId": { + "description": "Output only. The OAuth 2.0 client id is required to make API calls to the Backup and DR instance API of this ManagementServer. This is the value that should be provided in the 'aud' field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken).", + "readOnly": true, + "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The ManagementServer state.", + "enum": [ + "INSTANCE_STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "REPAIRING", + "MAINTENANCE", + "ERROR" + ], + "enumDescriptions": [ + "State not set.", + "The instance is being created.", + "The instance has been created and is fully usable.", + "The instance configuration is being updated. Certain kinds of updates may cause the instance to become unusable while the update is in progress.", + "The instance is being deleted.", + "The instance is being repaired and may be unstable.", + "Maintenance is being performed on this instance.", + "The instance is experiencing an issue and might be unusable. You can get further details from the statusMessage field of Instance resource." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Optional. The type of the ManagementServer resource.", + "enum": [ + "INSTANCE_TYPE_UNSPECIFIED", + "BACKUP_RESTORE" + ], + "enumDescriptions": [ + "Instance type is not mentioned.", + "Instance for backup and restore management (i.e., AGM)." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the instance was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "workforceIdentityBasedManagementUri": { + "$ref": "WorkforceIdentityBasedManagementURI", + "description": "Output only. The hostnames of the exposed AGM endpoints for both types of user i.e. 1p and 3p, used to connect AGM/RM UI.", + "readOnly": true + }, + "workforceIdentityBasedOauth2ClientId": { + "$ref": "WorkforceIdentityBasedOAuth2ClientID", + "description": "Output only. The OAuth client IDs for both types of user i.e. 1p and 3p.", + "readOnly": true + } + }, + "type": "object" + }, + "ManagementURI": { + "description": "ManagementURI for the Management Server resource.", + "id": "ManagementURI", + "properties": { + "api": { + "description": "Output only. The ManagementServer AGM/RD API URL.", + "readOnly": true, + "type": "string" + }, + "webUi": { + "description": "Output only. The ManagementServer AGM/RD WebUI URL.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MatchingCondition": { + "description": "MatchingCondition specifies a set of conditions for matching resources.", + "id": "MatchingCondition", + "properties": { + "labelCondition": { + "$ref": "KeyValuePair", + "description": "Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match." + } + }, + "type": "object" + }, + "Metadata": { + "description": "A metadata key/value entry.", + "id": "Metadata", + "properties": { + "items": { + "description": "Optional. Array of key/value pairs. The total size of all keys and values must be less than 512 KB.", + "items": { + "$ref": "Entry" + }, + "type": "array" + } + }, + "type": "object" + }, + "NetworkConfig": { + "description": "Network configuration for ManagementServer instance.", + "id": "NetworkConfig", + "properties": { + "network": { + "description": "Optional. The resource name of the Google Compute Engine VPC network to which the ManagementServer instance is connected.", + "type": "string" + }, + "peeringMode": { + "description": "Optional. The network connect mode of the ManagementServer instance. For this version, only PRIVATE_SERVICE_ACCESS is supported.", + "enum": [ + "PEERING_MODE_UNSPECIFIED", + "PRIVATE_SERVICE_ACCESS" + ], + "enumDescriptions": [ + "Peering mode not set.", + "Connect using Private Service Access to the Management Server. Private services access provides an IP address range for multiple Google Cloud services, including Google Cloud Backup and DR." + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkInterface": { + "description": "A network interface resource attached to an instance. s", + "id": "NetworkInterface", + "properties": { + "accessConfigs": { + "description": "Optional. An array of configurations for this interface. Currently, only one access config,ONE_TO_ONE_NAT is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", + "items": { + "$ref": "AccessConfig" + }, + "type": "array" + }, + "aliasIpRanges": { + "description": "Optional. An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", + "items": { + "$ref": "AliasIpRange" + }, + "type": "array" + }, + "internalIpv6PrefixLength": { + "description": "Optional. The prefix length of the primary internal IPv6 range.", + "format": "int32", + "type": "integer" + }, + "ipv6AccessConfigs": { + "description": "Optional. An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", + "items": { + "$ref": "AccessConfig" + }, + "type": "array" + }, + "ipv6AccessType": { + "description": "Optional. [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.", + "enum": [ + "UNSPECIFIED_IPV6_ACCESS_TYPE", + "INTERNAL", + "EXTERNAL" + ], + "enumDescriptions": [ + "IPv6 access type not set. Means this network interface hasn't been turned on IPv6 yet.", + "This network interface can have internal IPv6.", + "This network interface can have external IPv6." + ], + "type": "string" + }, + "ipv6Address": { + "description": "Optional. An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", + "type": "string" + }, + "name": { + "description": "Output only. [Output Only] The name of the network interface, which is generated by the server.", + "readOnly": true, + "type": "string" + }, + "network": { + "description": "Optional. URL of the VPC network resource for this instance.", + "type": "string" + }, + "networkAttachment": { + "description": "Optional. The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", + "type": "string" + }, + "networkIP": { + "description": "Optional. An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", + "type": "string" + }, + "nicType": { + "description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", + "enum": [ + "NIC_TYPE_UNSPECIFIED", + "VIRTIO_NET", + "GVNIC" + ], + "enumDescriptions": [ + "Default should be NIC_TYPE_UNSPECIFIED.", + "VIRTIO", + "GVNIC" + ], + "type": "string" + }, + "queueCount": { + "description": "Optional. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", + "format": "int32", + "type": "integer" + }, + "stackType": { + "description": "The stack type for this network interface.", + "enum": [ + "STACK_TYPE_UNSPECIFIED", + "IPV4_ONLY", + "IPV4_IPV6" + ], + "enumDescriptions": [ + "Default should be STACK_TYPE_UNSPECIFIED.", + "The network interface will be assigned IPv4 address.", + "The network interface can have both IPv4 and IPv6 addresses." + ], + "type": "string" + }, + "subnetwork": { + "description": "Optional. The URL of the Subnetwork resource for this instance.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkPerformanceConfig": { + "description": "Network performance configuration.", + "id": "NetworkPerformanceConfig", + "properties": { + "totalEgressBandwidthTier": { + "description": "Optional. The tier of the total egress bandwidth.", + "enum": [ + "TIER_UNSPECIFIED", + "DEFAULT", + "TIER_1" + ], + "enumDescriptions": [ + "This value is unused.", + "Default network performance config.", + "Tier 1 network performance config." + ], + "type": "string" + } + }, + "type": "object" + }, + "NodeAffinity": { + "description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", + "id": "NodeAffinity", + "properties": { + "key": { + "description": "Optional. Corresponds to the label key of Node resource.", + "type": "string" + }, + "operator": { + "description": "Optional. Defines the operation of node selection.", + "enum": [ + "OPERATOR_UNSPECIFIED", + "IN", + "NOT_IN" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Requires Compute Engine to seek for matched nodes.", + "Requires Compute Engine to avoid certain nodes." + ], + "type": "string" + }, + "values": { + "description": "Optional. Corresponds to the label values of Node resource.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "additionalInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. AdditionalInfo contains additional Info related to backup plan association resource.", + "readOnly": true, + "type": "object" + }, + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PitrSettings": { + "description": "Point in time recovery settings of the backup configuration resource.", + "id": "PitrSettings", + "properties": { + "retentionDays": { + "description": "Output only. Number of days to retain the backup.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "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" + }, + "PolicyEvaluationSummary": { + "description": "PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources.", + "id": "PolicyEvaluationSummary", + "properties": { + "failedResourceCount": { + "description": "Output only. The number of matching resources whose protection failed during job run.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "matchingResourceCount": { + "description": "Output only. The number of resources that currently match the policy's criteria.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "protectedResourceCount": { + "description": "Output only. The number of matching resources that are successfully protected.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ReconciliationOperationMetadata": { + "description": "Operation metadata returned by the CLH during resource state reconciliation.", + "id": "ReconciliationOperationMetadata", + "properties": { + "deleteResource": { + "deprecated": true, + "description": "DEPRECATED. Use exclusive_action instead.", + "type": "boolean" + }, + "exclusiveAction": { + "description": "Excluisive action returned by the CLH.", + "enum": [ + "UNKNOWN_REPAIR_ACTION", + "DELETE", + "RETRY" + ], + "enumDeprecated": [ + false, + true, + false + ], + "enumDescriptions": [ + "Unknown repair action.", + "The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.", + "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." + ], + "type": "string" + } + }, + "type": "object" + }, + "RegionDiskTargetEnvironment": { + "description": "RegionDiskTargetEnvironment represents the target environment for the disk.", + "id": "RegionDiskTargetEnvironment", + "properties": { + "project": { + "description": "Required. Target project for the disk.", + "type": "string" + }, + "region": { + "description": "Required. Target region for the disk.", + "type": "string" + }, + "replicaZones": { + "description": "Required. Target URLs of the replica zones for the disk.", + "items": { + "type": "string" + }, + "type": "array" + }, + "useProjectServiceAccount": { + "description": "Optional. Whether to use the project service account for the disk restore.", + "type": "boolean" + } + }, + "type": "object" + }, + "RemoveDataSourceRequest": { + "description": "Message for deleting a DataSource.", + "id": "RemoveDataSourceRequest", + "properties": { + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, + "ResourceBackupConfig": { + "description": "ResourceBackupConfig represents a resource along with its backup configurations.", + "id": "ResourceBackupConfig", + "properties": { + "backupConfigsDetails": { + "description": "Backup configurations applying to the target resource, including those targeting its related/child resources. For example, backup configuration applicable to Compute Engine disks will be populated in this field for a Compute Engine VM which has the disk associated.", + "items": { + "$ref": "BackupConfigDetails" + }, + "type": "array" + }, + "backupConfigured": { + "description": "Output only. Whether the target resource is configured for backup. This is true if the backup_configs_details is not empty.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of the ResourceBackupConfig. Format: projects/{project}/locations/{location}/resourceBackupConfigs/{uid}", + "type": "string" + }, + "targetResource": { + "description": "Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the cloud resource that this configuration applies to. Supported resource types are ResourceBackupConfig.ResourceType.", + "readOnly": true, + "type": "string" + }, + "targetResourceDisplayName": { + "description": "Output only. The human friendly name of the target resource.", + "readOnly": true, + "type": "string" + }, + "targetResourceLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with the target resource.", + "type": "object" + }, + "targetResourceType": { + "description": "Output only. The type of the target resource.", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "CLOUD_SQL_INSTANCE", + "COMPUTE_ENGINE_VM", + "COMPUTE_ENGINE_DISK", + "COMPUTE_ENGINE_REGIONAL_DISK", + "FILESTORE_INSTANCE" + ], + "enumDescriptions": [ + "Resource type not set.", + "Cloud SQL instance.", + "Compute Engine VM.", + "Compute Engine Disk.", + "Compute Engine Regional Disk.", + "Filestore Instance." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The unique identifier of the resource backup config.", + "readOnly": true, + "type": "string" + }, + "vaulted": { + "description": "Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "RestoreBackupRequest": { + "description": "Request message for restoring from a Backup.", + "id": "RestoreBackupRequest", + "properties": { + "clearOverridesFieldMask": { + "description": "Optional. A field mask used to clear server-side default values for fields within the `instance_properties` oneof. When a field in this mask is cleared, the server will not apply its default logic (like inheriting a value from the source) for that field. The most common current use case is clearing default encryption keys. Examples of field mask paths: - Compute Instance Disks: `compute_instance_restore_properties.disks.*.disk_encryption_key` - Single Disk: `disk_restore_properties.disk_encryption_key`", + "format": "google-fieldmask", + "type": "string" + }, + "computeInstanceRestoreProperties": { + "$ref": "ComputeInstanceRestoreProperties", + "description": "Compute Engine instance properties to be overridden during restore." + }, + "computeInstanceTargetEnvironment": { + "$ref": "ComputeInstanceTargetEnvironment", + "description": "Compute Engine target environment to be used during restore." + }, + "diskRestoreProperties": { + "$ref": "DiskRestoreProperties", + "description": "Disk properties to be overridden during restore." + }, + "diskTargetEnvironment": { + "$ref": "DiskTargetEnvironment", + "description": "Disk target environment to be used during restore." + }, + "regionDiskTargetEnvironment": { + "$ref": "RegionDiskTargetEnvironment", + "description": "Region disk target environment to be used during restore." + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, + "RestoreDiskFromInstanceOptions": { + "description": "Options for creating a disk from a source Compute Instance backup.", + "id": "RestoreDiskFromInstanceOptions", + "properties": { + "bootDisk": { + "description": "Set to true to restore the boot disk from the instance backup. This field should only be set to true if selected.", + "type": "boolean" + }, + "sourceDeviceName": { + "description": "The device name of the disk to restore from the VM backup.", + "type": "string" + } + }, + "type": "object" + }, + "RuleConfigInfo": { + "description": "Message for rules config info.", + "id": "RuleConfigInfo", + "properties": { + "lastBackupError": { + "$ref": "Status", + "description": "Output only. google.rpc.Status object to store the last backup error.", + "readOnly": true + }, + "lastBackupState": { + "description": "Output only. The last backup state for rule.", + "enum": [ + "LAST_BACKUP_STATE_UNSPECIFIED", + "FIRST_BACKUP_PENDING", + "PERMISSION_DENIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "State not set.", + "The first backup is pending.", + "The most recent backup could not be run/failed because of the lack of permissions.", + "The last backup operation succeeded.", + "The last backup operation failed." + ], + "readOnly": true, + "type": "string" + }, + "lastSuccessfulBackupConsistencyTime": { + "description": "Output only. The point in time when the last successful backup was captured from the source.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "ruleId": { + "description": "Output only. Backup Rule id fetched from backup plan.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Scheduling": { + "description": "Sets the scheduling options for an Instance.", + "id": "Scheduling", + "properties": { + "automaticRestart": { + "description": "Optional. Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user).", + "type": "boolean" + }, + "instanceTerminationAction": { + "description": "Optional. Specifies the termination action for the instance.", + "enum": [ + "INSTANCE_TERMINATION_ACTION_UNSPECIFIED", + "DELETE", + "STOP" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Delete the VM.", + "Stop the VM without storing in-memory content. default action." + ], + "type": "string" + }, + "localSsdRecoveryTimeout": { + "$ref": "SchedulingDuration", + "description": "Optional. Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour." + }, + "minNodeCpus": { + "description": "Optional. The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.", + "format": "int32", + "type": "integer" + }, + "nodeAffinities": { + "description": "Optional. A set of node affinity and anti-affinity configurations. Overrides reservationAffinity.", + "items": { + "$ref": "NodeAffinity" + }, + "type": "array" + }, + "onHostMaintenance": { + "description": "Optional. Defines the maintenance behavior for this instance.", + "enum": [ + "ON_HOST_MAINTENANCE_UNSPECIFIED", + "TERMINATE", + "MIGRATE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Tells Compute Engine to terminate and (optionally) restart the instance away from the maintenance activity.", + "Default, Allows Compute Engine to automatically migrate instances out of the way of maintenance events." + ], + "type": "string" + }, + "preemptible": { + "description": "Optional. Defines whether the instance is preemptible.", + "type": "boolean" + }, + "provisioningModel": { + "description": "Optional. Specifies the provisioning model of the instance.", + "enum": [ + "PROVISIONING_MODEL_UNSPECIFIED", + "STANDARD", + "SPOT" + ], + "enumDescriptions": [ + "Default value. This value is not used.", + "Standard provisioning with user controlled runtime, no discounts.", + "Heavily discounted, no guaranteed runtime." + ], + "type": "string" + } + }, + "type": "object" + }, + "SchedulingDuration": { + "description": "A SchedulingDuration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". Range is approximately 10,000 years.", + "id": "SchedulingDuration", + "properties": { + "nanos": { + "description": "Optional. Span of time that's a fraction of a second at nanosecond resolution.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Optional. Span of time at a resolution of a second.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ServiceAccount": { + "description": "A service account.", + "id": "ServiceAccount", + "properties": { + "email": { + "description": "Optional. Email address of the service account.", + "type": "string" + }, + "scopes": { + "description": "Optional. The list of scopes to be made available for this service account.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceLockInfo": { + "description": "ServiceLockInfo represents the details of a lock taken by the service on a Backup resource.", + "id": "ServiceLockInfo", + "properties": { + "operation": { + "description": "Output only. The name of the operation that created this lock. The lock will automatically be released when the operation completes.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "SetInternalStatusRequest": { + "description": "Request message for SetStatusInternal method.", + "id": "SetInternalStatusRequest", + "properties": { + "backupConfigState": { + "description": "Required. Output only. The new BackupConfigState to set for the DataSource.", + "enum": [ + "BACKUP_CONFIG_STATE_UNSPECIFIED", + "ACTIVE", + "PASSIVE" + ], + "enumDescriptions": [ + "The possible states of backup configuration. Status not set.", + "The data source is actively protected (i.e. there is a BackupPlanAssociation or Appliance SLA pointing to it)", + "The data source is no longer protected (but may have backups under it)" + ], + "readOnly": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "value": { + "description": "Required. The value required for this method to work. This field must be the 32-byte SHA256 hash of the DataSourceID. The DataSourceID used here is only the final piece of the fully qualified resource path for this DataSource (i.e. the part after '.../dataSources/'). This field exists to make this method difficult to call since it is intended for use only by Backup Appliances.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "StandardSchedule": { + "description": "`StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY.", + "id": "StandardSchedule", + "properties": { + "backupWindow": { + "$ref": "BackupWindow", + "description": "Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window." + }, + "daysOfMonth": { + "description": "Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "daysOfWeek": { + "description": "Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`.", + "items": { + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "type": "array" + }, + "hourlyFrequency": { + "description": "Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. The supported values for each resource type are as follows: * `compute.googleapis.com/Instance`: 1-23 * `compute.googleapis.com/Disk`: 1-23 * `sqladmin.googleapis.com/Instance`: 6-23 * `alloydb.googleapis.com/Cluster`: 1-23 * `file.googleapis.com/Instance`: 1-23 Refer to link https://cloud.google.com/backup-disaster-recovery/docs/concepts/cloud_best_practices for more details.", + "format": "int32", + "type": "integer" + }, + "months": { + "description": "Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied.", + "items": { + "enum": [ + "MONTH_UNSPECIFIED", + "JANUARY", + "FEBRUARY", + "MARCH", + "APRIL", + "MAY", + "JUNE", + "JULY", + "AUGUST", + "SEPTEMBER", + "OCTOBER", + "NOVEMBER", + "DECEMBER" + ], + "enumDescriptions": [ + "The unspecified month.", + "The month of January.", + "The month of February.", + "The month of March.", + "The month of April.", + "The month of May.", + "The month of June.", + "The month of July.", + "The month of August.", + "The month of September.", + "The month of October.", + "The month of November.", + "The month of December." + ], + "type": "string" + }, + "type": "array" + }, + "recurrenceType": { + "description": "Required. Specifies the `RecurrenceType` for the schedule.", + "enum": [ + "RECURRENCE_TYPE_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "YEARLY" + ], + "enumDescriptions": [ + "recurrence type not set", + "The `BackupRule` is to be applied hourly.", + "The `BackupRule` is to be applied daily.", + "The `BackupRule` is to be applied weekly.", + "The `BackupRule` is to be applied monthly.", + "The `BackupRule` is to be applied yearly." + ], + "type": "string" + }, + "timeZone": { + "description": "Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For e.g., Europe/Paris.", + "type": "string" + }, + "weekDayOfMonth": { + "$ref": "WeekDayOfMonth", + "description": "Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "SubscribeTrialRequest": { + "description": "Request message for subscribing to a trial.", + "id": "SubscribeTrialRequest", + "properties": {}, + "type": "object" + }, + "Tags": { + "description": "A set of instance tags.", + "id": "Tags", + "properties": { + "items": { + "description": "Optional. An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "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" + }, + "Trial": { + "description": "Represents a Trial for a project.", + "id": "Trial", + "properties": { + "endReason": { + "description": "Output only. The reason for ending the trial.", + "enum": [ + "END_REASON_UNSPECIFIED", + "MOVE_TO_PAID", + "DISCONTINUED" + ], + "enumDescriptions": [ + "End reason not set.", + "Trial is deliberately ended by the user to transition to paid usage.", + "Trial is discontinued before expiration." + ], + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time when the trial will expire.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the trial. Format: projects/{project}/locations/{location}/trial", + "type": "string" + }, + "startTime": { + "description": "Output only. The time when the trial was subscribed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the trial.", + "enum": [ + "STATE_UNSPECIFIED", + "SUBSCRIBED", + "UNSUBSCRIBED", + "EXPIRED", + "ELIGIBLE", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "State not set.", + "Trial is subscribed.", + "Trial is unsubscribed before expiration.", + "Trial is expired post 30 days of subscription.", + "Trial is eligible for enablement.", + "Trial is not eligible for enablement." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TriggerBackupRequest": { + "description": "Request message for triggering a backup.", + "id": "TriggerBackupRequest", + "properties": { + "customRetentionDays": { + "description": "Optional. The duration for which backup data will be kept, while taking an on-demand backup with custom retention. It is defined in \"days\". It is mutually exclusive with rule_id. This field is required if rule_id is not provided.", + "format": "int32", + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels to be applied on the backup.", + "type": "object" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "ruleId": { + "description": "Optional. backup rule_id for which a backup needs to be triggered. If not specified, on-demand backup with custom retention will be triggered.", + "type": "string" + } + }, + "type": "object" + }, + "WeekDayOfMonth": { + "description": "`WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`.", + "id": "WeekDayOfMonth", + "properties": { + "dayOfWeek": { + "description": "Required. Specifies the day of the week.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "weekOfMonth": { + "description": "Required. Specifies the week of the month.", + "enum": [ + "WEEK_OF_MONTH_UNSPECIFIED", + "FIRST", + "SECOND", + "THIRD", + "FOURTH", + "LAST" + ], + "enumDescriptions": [ + "The zero value. Do not use.", + "The first week of the month.", + "The second week of the month.", + "The third week of the month.", + "The fourth week of the month.", + "The last week of the month." + ], + "type": "string" + } + }, + "type": "object" + }, + "WorkforceIdentityBasedManagementURI": { + "description": "ManagementURI depending on the Workforce Identity i.e. either 1p or 3p.", + "id": "WorkforceIdentityBasedManagementURI", + "properties": { + "firstPartyManagementUri": { + "description": "Output only. First party Management URI for Google Identities.", + "readOnly": true, + "type": "string" + }, + "thirdPartyManagementUri": { + "description": "Output only. Third party Management URI for External Identity Providers.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WorkforceIdentityBasedOAuth2ClientID": { + "description": "OAuth Client ID depending on the Workforce Identity i.e. either 1p or 3p,", + "id": "WorkforceIdentityBasedOAuth2ClientID", + "properties": { + "firstPartyOauth2ClientId": { + "description": "Output only. First party OAuth Client ID for Google Identities.", + "readOnly": true, + "type": "string" + }, + "thirdPartyOauth2ClientId": { + "description": "Output only. Third party OAuth Client ID for External Identity Providers.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Backup and DR Service API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/discovery/bigquerydatatransfer-v1.json b/discovery/bigquerydatatransfer-v1.json index 06ff07d2d99..1bf308f1c46 100644 --- a/discovery/bigquerydatatransfer-v1.json +++ b/discovery/bigquerydatatransfer-v1.json @@ -1651,7 +1651,7 @@ } } }, - "revision": "20260703", + "revision": "20260905", "rootUrl": "https://bigquerydatatransfer.googleapis.com/", "schemas": { "CheckValidCredsRequest": { @@ -1859,6 +1859,11 @@ "description": "Is parameter required.", "type": "boolean" }, + "secretManagerAllowed": { + "description": "Output only. If true, the parameter value can be provided through Secret Manager.", + "readOnly": true, + "type": "boolean" + }, "type": { "description": "Parameter type.", "enum": [ @@ -2145,6 +2150,20 @@ }, "type": "object" }, + "ParameterConfig": { + "description": "Configuration for data source parameters.", + "id": "ParameterConfig", + "properties": { + "secretManagerManagedParams": { + "description": "Optional. The list of parameters that are stored in Secret Manager. The value of a parameter included in this list will be interpreted as a Secret Manager key version resource name instead of a raw value. The raw value will be retrieved from Secret Manager upon execution.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "PartitionDetail": { "description": "Partition details related to hierarchy.", "id": "PartitionDetail", @@ -2414,6 +2433,10 @@ "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 }, + "paramConfig": { + "$ref": "ParameterConfig", + "description": "Optional. The config for values in `params`." + }, "params": { "additionalProperties": { "description": "Properties of the object.", @@ -2648,6 +2671,11 @@ "readOnly": true, "type": "string" }, + "parameterConfig": { + "$ref": "ParameterConfig", + "description": "Output only. The parameter config of the transfer run.", + "readOnly": true + }, "params": { "additionalProperties": { "description": "Properties of the object.", diff --git a/discovery/bigqueryreservation-v1.json b/discovery/bigqueryreservation-v1.json index aa370901dfa..b9542f85d7c 100644 --- a/discovery/bigqueryreservation-v1.json +++ b/discovery/bigqueryreservation-v1.json @@ -1317,7 +1317,7 @@ } } }, - "revision": "20260819", + "revision": "20260829", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { @@ -1376,7 +1376,7 @@ "type": "string" }, "principal": { - "description": "Optional. Represents the principal for this assignment. If not empty, jobs run by this principal will utilize the associated reservation. Otherwise, jobs will fall back to using the reservation assigned to the project, folder, or organization (in that order). If no reservation is assigned at any of these levels, on-demand capacity will be used. The supported formats are: * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` for service accounts, * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` for workload identity pool identities. * The special value `unknown_or_deleted_user` represents principals which cannot be read from the user info service, for example deleted users.", + "description": "Optional. Represents the principal for this assignment. If not empty, jobs run by this principal utilize the associated reservation. Otherwise, jobs fall back to using the reservation assigned to the project, folder, or organization, in that order. If no reservation is assigned at any of these levels, on-demand capacity is used. The supported formats are: * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` for service accounts, * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` for workload identity pool identities. * The special value `unknown_or_deleted_user` represents principals which cannot be read from the user info service, for example, deleted users.", "type": "string" }, "schedulingPolicy": { diff --git a/discovery/ces-v1.json b/discovery/ces-v1.json index fd9cd566360..c53b52b60f8 100644 --- a/discovery/ces-v1.json +++ b/discovery/ces-v1.json @@ -890,21 +890,6 @@ ], "location": "query", "type": "string" - }, - "view": { - "description": "Optional. The view specifying which fields in the response should be populated.", - "enum": [ - "CONVERSATION_VIEW_UNSPECIFIED", - "CONVERSATION_VIEW_BASIC", - "CONVERSATION_VIEW_FULL" - ], - "enumDescriptions": [ - "Not specified, defaults to CONVERSATION_VIEW_BASIC.", - "The basic view. Returns everything except resolved instructions.", - "The full view. Includes resolved instructions dynamically per turn." - ], - "location": "query", - "type": "string" } }, "path": "v1/{+name}", @@ -1227,6 +1212,35 @@ "https://www.googleapis.com/auth/ces", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "stream": { + "description": "Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage`", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}/message:stream", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.deployments.message.stream", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+tenant}/message:stream", + "request": { + "$ref": "LfA2aV1SendMessageRequest" + }, + "response": { + "$ref": "LfA2aV1StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -1621,6 +1635,35 @@ "https://www.googleapis.com/auth/ces", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "stream": { + "description": "Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage`", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/message:stream", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.message.stream", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+tenant}/message:stream", + "request": { + "$ref": "LfA2aV1SendMessageRequest" + }, + "response": { + "$ref": "LfA2aV1StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -2274,6 +2317,41 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "patch": { + "description": "Updates the specified app version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.versions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the app version. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update. If empty, fields `display_name` and `description` will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "AppVersion" + }, + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "restore": { "description": "Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}:restore", @@ -2335,6 +2413,35 @@ "https://www.googleapis.com/auth/ces", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "stream": { + "description": "Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage`", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}/message:stream", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.message.stream", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+tenant}/message:stream", + "request": { + "$ref": "LfA2aV1SendMessageRequest" + }, + "response": { + "$ref": "LfA2aV1StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -2479,7 +2586,7 @@ } } }, - "revision": "20260806", + "revision": "20260903", "rootUrl": "https://ces.googleapis.com/", "schemas": { "Action": { @@ -2641,6 +2748,10 @@ "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", "type": "string" }, + "remoteA2aAgent": { + "$ref": "AgentRemoteA2aAgent", + "description": "Optional. The remote [A2A](https://github.com/a2aproject/A2A) agent to be used for the agent execution." + }, "remoteDialogflowAgent": { "$ref": "AgentRemoteDialogflowAgent", "description": "Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`." @@ -2763,6 +2874,29 @@ "properties": {}, "type": "object" }, + "AgentRegistryDeployment": { + "description": "Configuration and status for Agent Registry deployment.", + "id": "AgentRegistryDeployment", + "properties": { + "agentRegistryServiceName": { + "description": "Optional. Output only. The resource name of the deployed Agent Registry service. Format: `projects/{project}/locations/{location}/services/{service}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AgentRemoteA2aAgent": { + "description": "The agent which will transfer execution to a remote [A2A](https://github.com/a2aproject/A2A) agent.", + "id": "AgentRemoteA2aAgent", + "properties": { + "a2aConfig": { + "$ref": "RemoteA2aConfig", + "description": "Required. The A2A connection configuration." + } + }, + "type": "object" + }, "AgentRemoteDialogflowAgent": { "description": "The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent.", "id": "AgentRemoteDialogflowAgent", @@ -2997,6 +3131,10 @@ "readOnly": true, "type": "string" }, + "dashboardSettings": { + "$ref": "DashboardSettings", + "description": "Optional. App-specific dashboard settings for linking and configuring Contact Center Insights dashboards." + }, "dataStoreSettings": { "$ref": "DataStoreSettings", "description": "Optional. The data store settings for the app." @@ -3233,6 +3371,12 @@ "$ref": "AppSnapshot", "description": "Output only. The snapshot of the app when the version is created.", "readOnly": true + }, + "updateTime": { + "description": "Output only. Timestamp when the app version was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -3249,6 +3393,13 @@ "$ref": "BargeInConfig", "description": "Optional. Configures the agent behavior for the user barge-in activities." }, + "customVoiceSamples": { + "description": "Optional. Configures custom voice samples for voice cloning.", + "items": { + "$ref": "CustomVoiceSample" + }, + "type": "array" + }, "inactivityTimeout": { "description": "Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.", "format": "google-duration", @@ -3759,6 +3910,13 @@ "$ref": "CitationsCitedChunk" }, "type": "array" + }, + "inlineCitations": { + "description": "Optional. List of inline citations in the agent response.", + "items": { + "$ref": "CitationsInlineCitation" + }, + "type": "array" } }, "type": "object" @@ -3786,6 +3944,31 @@ }, "type": "object" }, + "CitationsInlineCitation": { + "description": "An inline citation in the response text.", + "id": "CitationsInlineCitation", + "properties": { + "citedChunkIndices": { + "description": "The indices of the cited chunks that back this text segment. Indices refer to the elements in `cited_chunks`.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "endIndex": { + "description": "The ending index (in bytes) of the text segment in the agent response.", + "format": "int32", + "type": "integer" + }, + "startIndex": { + "description": "The starting index (in bytes) of the text segment in the agent response.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ClientCertificateSettings": { "description": "Settings for custom client certificates.", "id": "ClientCertificateSettings", @@ -4054,23 +4237,10 @@ }, "type": "array" }, - "resolvedDeveloperInstruction": { - "description": "Output only. The full dynamically resolved developer instruction generated from templates. This field is only populated on-demand when requested during history retrieval. It is not persisted.", - "readOnly": true, - "type": "string" - }, "rootSpan": { "$ref": "Span", "description": "Optional. The root span of the action processing." }, - "templateAttributes": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Optional. Variables or configurations referenced by the template engine during dynamic prompt generation. This allows reconstructing the exact prompt sent to the model for this turn.", - "type": "object" - }, "userIntendedText": { "description": "Optional. The intended ground-truth text from the Simulated Caller (Polysynth). Only populated when word error rate metrics are enabled.", "type": "string" @@ -4078,6 +4248,50 @@ }, "type": "object" }, + "CustomVoiceSample": { + "description": "Configuration for a custom voice sample used for voice cloning.", + "id": "CustomVoiceSample", + "properties": { + "consentAudioGcsUri": { + "description": "Optional. Consent audio for voice cloning.", + "type": "string" + }, + "name": { + "description": "Optional. The user-defined name for the custom voice sample.", + "type": "string" + }, + "previewAudioContent": { + "description": "Output only. Synthesized preview audio for custom voice, formatted as canonical WAV (LINEAR16, 24kHz, 16-bit, mono).", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "previewText": { + "description": "Optional. Text for synthesizing preview audio for custom voice.", + "type": "string" + }, + "voiceInstruction": { + "description": "Optional. Natural language instructions for voice style, tone, pacing, or pronunciation.", + "type": "string" + }, + "voiceSampleGcsUri": { + "description": "Optional. The Cloud Storage URI to the audio sample for voice cloning. The audio sample should be a mono-channel, 24kHz WAV file.", + "type": "string" + } + }, + "type": "object" + }, + "DashboardSettings": { + "description": "Settings for dashboards associated with the app, that show up in the Monitoring view.", + "id": "DashboardSettings", + "properties": { + "defaultDashboard": { + "description": "Optional. The resource name of the default Contact Center Insights dashboard associated with the app. This is the dashboard that will be displayed when users navigate to the Monitoring view for the app. Format: `projects/{project}/locations/{location}/dashboards/{dashboard}`", + "type": "string" + } + }, + "type": "object" + }, "DataStore": { "description": "A DataStore resource in Vertex AI Search.", "id": "DataStore", @@ -4482,6 +4696,11 @@ "enableSnippets": { "description": "Optional. Whether snippets are enabled.", "type": "boolean" + }, + "maxSnippets": { + "description": "Optional. Number of snippets to return per query. If unset, returns all snippets from the service by default.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -4505,10 +4724,25 @@ }, "type": "object" }, + "DeployChannelResponse": { + "description": "Response message for AgentService.DeployChannel.", + "id": "DeployChannelResponse", + "properties": { + "deployment": { + "$ref": "Deployment", + "description": "The created deployment." + } + }, + "type": "object" + }, "Deployment": { "description": "A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.", "id": "Deployment", "properties": { + "agentRegistryDeployment": { + "$ref": "AgentRegistryDeployment", + "description": "Optional. Configuration for deploying this deployment to Agent Registry. If present, this deployment will be published to Agent Registry." + }, "appVersion": { "description": "Optional. The resource name of the app version to deploy. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}` Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use the draft app.", "type": "string" @@ -5510,14 +5744,18 @@ "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", - "HARM_CATEGORY_SEXUALLY_EXPLICIT" + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_PROFANITY", + "HARM_CATEGORY_TOXIC" ], "enumDescriptions": [ "The harm category is unspecified.", "The harm category is hate speech.", "The harm category is dangerous content.", "The harm category is harassment.", - "The harm category is sexually explicit content." + "The harm category is sexually explicit content.", + "The harm category is profanity.", + "The harm category is toxic." ], "type": "string" }, @@ -5548,6 +5786,10 @@ "description": "Represents an image input or output in the conversation.", "id": "Image", "properties": { + "altText": { + "description": "Optional. The alternative text for the image.", + "type": "string" + }, "data": { "description": "Required. Raw bytes of the image.", "format": "byte", @@ -5588,6 +5830,14 @@ "importOptions": { "$ref": "ImportAppRequestImportOptions", "description": "Optional. Options governing the import process for the app." + }, + "jsonPatchContent": { + "description": "Optional. Patch content as a JSON string.", + "type": "string" + }, + "jsonPatchGcsUri": { + "description": "Optional. A Cloud Storage URI pointing to a JSON file containing the patches.", + "type": "string" } }, "type": "object" @@ -6459,6 +6709,29 @@ }, "type": "object" }, + "LfA2aV1StreamResponse": { + "description": "A wrapper object used in streaming operations to encapsulate different types of response data.", + "id": "LfA2aV1StreamResponse", + "properties": { + "artifactUpdate": { + "$ref": "LfA2aV1TaskArtifactUpdateEvent", + "description": "An event indicating a task artifact update." + }, + "message": { + "$ref": "LfA2aV1Message", + "description": "A Message object containing a message from the agent." + }, + "statusUpdate": { + "$ref": "LfA2aV1TaskStatusUpdateEvent", + "description": "An event indicating a task status update." + }, + "task": { + "$ref": "LfA2aV1Task", + "description": "A Task object containing the current state of the task." + } + }, + "type": "object" + }, "LfA2aV1StringList": { "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.", "id": "LfA2aV1StringList", @@ -6514,6 +6787,41 @@ }, "type": "object" }, + "LfA2aV1TaskArtifactUpdateEvent": { + "description": "A task delta where an artifact has been generated.", + "id": "LfA2aV1TaskArtifactUpdateEvent", + "properties": { + "append": { + "description": "If true, the content of this artifact should be appended to a previously sent artifact with the same ID.", + "type": "boolean" + }, + "artifact": { + "$ref": "LfA2aV1Artifact", + "description": "Required. The artifact that was generated or updated." + }, + "contextId": { + "description": "Required. The ID of the context that this task belongs to.", + "type": "string" + }, + "lastChunk": { + "description": "If true, this is the final chunk of the artifact.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Metadata associated with the artifact update.", + "type": "object" + }, + "taskId": { + "description": "Required. The ID of the task for this artifact.", + "type": "string" + } + }, + "type": "object" + }, "LfA2aV1TaskPushNotificationConfig": { "description": "A container associating a push notification configuration with a specific task.", "id": "LfA2aV1TaskPushNotificationConfig", @@ -6587,6 +6895,33 @@ }, "type": "object" }, + "LfA2aV1TaskStatusUpdateEvent": { + "description": "An event sent by the agent to notify the client of a change in a task's status.", + "id": "LfA2aV1TaskStatusUpdateEvent", + "properties": { + "contextId": { + "description": "Required. The ID of the context that the task belongs to.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Metadata associated with the task update.", + "type": "object" + }, + "status": { + "$ref": "LfA2aV1TaskStatus", + "description": "Required. The new status of the task." + }, + "taskId": { + "description": "Required. The ID of the task that has changed.", + "type": "string" + } + }, + "type": "object" + }, "ListAgentsResponse": { "description": "Response message for AgentService.ListAgents.", "id": "ListAgentsResponse", @@ -7412,6 +7747,47 @@ }, "type": "object" }, + "RemoteA2aConfig": { + "description": "Shared configuration for connecting to a remote [A2A](https://github.com/a2aproject/A2A) agent.", + "id": "RemoteA2aConfig", + "properties": { + "agentCard": { + "$ref": "AgentCard", + "description": "Optional. The full agent card defined inline." + }, + "agentRegistry": { + "description": "Optional. Reference to the agent in the Agent Registry. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication configuration for calling the remote agent. Optional if the registry reference already handles authentication." + }, + "contextId": { + "description": "Optional. If not empty, interactions with the remote A2A agent will use this context ID. This context_id field can refer to a session variable like `$context.variables.order_agent_session_id`.", + "type": "string" + }, + "inputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Mapping of input variable names of remote agent to GECX variable names.", + "type": "object" + }, + "outputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Mapping of output variable names of remote agent to GECX variable names.", + "type": "object" + }, + "streamingEnabled": { + "description": "Optional. Whether streaming is enabled for the remote agent.", + "type": "boolean" + } + }, + "type": "object" + }, "RemoteAgentTool": { "description": "Represents a tool that allows the agent to call another remote agent.", "id": "RemoteAgentTool", @@ -7420,6 +7796,10 @@ "$ref": "AgentCard", "description": "Required. The agent card of the remote agent that this tool invokes." }, + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication configuration for calling the remote agent." + }, "description": { "description": "Required. The description of the tool.", "type": "string" @@ -7893,6 +8273,10 @@ "$ref": "GoogleSearchSuggestions", "description": "The suggestions returned from Google Search as a result of invoking the GoogleSearchTool." }, + "image": { + "$ref": "Image", + "description": "Output image from the CES agent." + }, "payload": { "additionalProperties": { "description": "Properties of the object.", @@ -7901,6 +8285,10 @@ "description": "Custom payload with structured output from the CES agent.", "type": "object" }, + "progress": { + "description": "Intermediate progress update from the CES agent.", + "type": "string" + }, "text": { "description": "Output text from the CES agent.", "type": "string" @@ -8216,6 +8604,11 @@ "description": "Request for the client or the agent to execute the specified tool.", "id": "ToolCall", "properties": { + "agentName": { + "description": "Output only. Human-readable name of the agent that issued this call, e.g. \"Contract Architect\". Empty when the root agent issued it.", + "readOnly": true, + "type": "string" + }, "args": { "additionalProperties": { "description": "Properties of the object.", @@ -8233,6 +8626,11 @@ "description": "Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.", "type": "string" }, + "parentToolCallId": { + "description": "Output only. The id of the tool call that caused this one, when it was issued by a sub-agent working on behalf of a parent call. Empty for top-level calls. Lets a client group a sub-agent's work under the call that started it instead of rendering every step as a sibling.", + "readOnly": true, + "type": "string" + }, "tool": { "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", "type": "string" @@ -8277,6 +8675,11 @@ "description": "The execution result of a specific tool from the client or the agent.", "id": "ToolResponse", "properties": { + "agentName": { + "description": "Output only. Human-readable name of the agent that issued this call, e.g. \"Contract Architect\". Empty when the root agent issued it.", + "readOnly": true, + "type": "string" + }, "displayName": { "description": "Output only. Display name of the tool.", "readOnly": true, @@ -8286,6 +8689,11 @@ "description": "Optional. The matching ID of the tool call the response is for.", "type": "string" }, + "parentToolCallId": { + "description": "Output only. The id of the tool call that caused this one, when it was issued by a sub-agent working on behalf of a parent call. Empty for top-level calls. Lets a client group a sub-agent's work under the call that started it instead of rendering every step as a sibling.", + "readOnly": true, + "type": "string" + }, "response": { "additionalProperties": { "description": "Properties of the object.", diff --git a/discovery/ces-v1beta.json b/discovery/ces-v1beta.json index a8b6fa908a2..9347209126c 100644 --- a/discovery/ces-v1beta.json +++ b/discovery/ces-v1beta.json @@ -1096,21 +1096,6 @@ ], "location": "query", "type": "string" - }, - "view": { - "description": "Optional. The view specifying which fields in the response should be populated.", - "enum": [ - "CONVERSATION_VIEW_UNSPECIFIED", - "CONVERSATION_VIEW_BASIC", - "CONVERSATION_VIEW_FULL" - ], - "enumDescriptions": [ - "Not specified, defaults to CONVERSATION_VIEW_BASIC.", - "The basic view. Returns everything except resolved instructions.", - "The full view. Includes resolved instructions dynamically per turn." - ], - "location": "query", - "type": "string" } }, "path": "v1beta/{+name}", @@ -1433,6 +1418,35 @@ "https://www.googleapis.com/auth/ces", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "stream": { + "description": "Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage`", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}/message:stream", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.deployments.message.stream", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+tenant}/message:stream", + "request": { + "$ref": "LfA2aV1SendMessageRequest" + }, + "response": { + "$ref": "LfA2aV1StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -2732,6 +2746,35 @@ "https://www.googleapis.com/auth/ces", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "stream": { + "description": "Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage`", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/message:stream", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.message.stream", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+tenant}/message:stream", + "request": { + "$ref": "LfA2aV1SendMessageRequest" + }, + "response": { + "$ref": "LfA2aV1StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -3562,6 +3605,41 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "patch": { + "description": "Updates the specified app version.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.versions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the app version. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update. If empty, fields `display_name` and `description` will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "AppVersion" + }, + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "restore": { "description": "Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}:restore", @@ -3623,6 +3701,35 @@ "https://www.googleapis.com/auth/ces", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "stream": { + "description": "Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage`", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}/message:stream", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.message.stream", + "parameterOrder": [ + "tenant" + ], + "parameters": { + "tenant": { + "description": "Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+tenant}/message:stream", + "request": { + "$ref": "LfA2aV1SendMessageRequest" + }, + "response": { + "$ref": "LfA2aV1StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -3767,7 +3874,7 @@ } } }, - "revision": "20260806", + "revision": "20260903", "rootUrl": "https://ces.googleapis.com/", "schemas": { "Action": { @@ -3929,6 +4036,10 @@ "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", "type": "string" }, + "remoteA2aAgent": { + "$ref": "AgentRemoteA2aAgent", + "description": "Optional. The remote [A2A](https://github.com/a2aproject/A2A) agent to be used for the agent execution." + }, "remoteDialogflowAgent": { "$ref": "AgentRemoteDialogflowAgent", "description": "Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`." @@ -4051,6 +4162,29 @@ "properties": {}, "type": "object" }, + "AgentRegistryDeployment": { + "description": "Configuration and status for Agent Registry deployment.", + "id": "AgentRegistryDeployment", + "properties": { + "agentRegistryServiceName": { + "description": "Optional. Output only. The resource name of the deployed Agent Registry service. Format: `projects/{project}/locations/{location}/services/{service}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AgentRemoteA2aAgent": { + "description": "The agent which will transfer execution to a remote [A2A](https://github.com/a2aproject/A2A) agent.", + "id": "AgentRemoteA2aAgent", + "properties": { + "a2aConfig": { + "$ref": "RemoteA2aConfig", + "description": "Required. The A2A connection configuration." + } + }, + "type": "object" + }, "AgentRemoteDialogflowAgent": { "description": "The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent.", "id": "AgentRemoteDialogflowAgent", @@ -4506,6 +4640,10 @@ "readOnly": true, "type": "string" }, + "dashboardSettings": { + "$ref": "DashboardSettings", + "description": "Optional. App-specific dashboard settings for linking and configuring Contact Center Insights dashboards." + }, "dataStoreSettings": { "$ref": "DataStoreSettings", "description": "Optional. The data store settings for the app." @@ -4753,6 +4891,12 @@ "$ref": "AppSnapshot", "description": "Output only. The snapshot of the app when the version is created.", "readOnly": true + }, + "updateTime": { + "description": "Output only. Timestamp when the app version was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -4769,6 +4913,13 @@ "$ref": "BargeInConfig", "description": "Optional. Configures the agent behavior for the user barge-in activities." }, + "customVoiceSamples": { + "description": "Optional. Configures custom voice samples for voice cloning.", + "items": { + "$ref": "CustomVoiceSample" + }, + "type": "array" + }, "inactivityTimeout": { "description": "Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.", "format": "google-duration", @@ -5307,6 +5458,13 @@ "$ref": "CitationsCitedChunk" }, "type": "array" + }, + "inlineCitations": { + "description": "Optional. List of inline citations in the agent response.", + "items": { + "$ref": "CitationsInlineCitation" + }, + "type": "array" } }, "type": "object" @@ -5334,6 +5492,31 @@ }, "type": "object" }, + "CitationsInlineCitation": { + "description": "An inline citation in the response text.", + "id": "CitationsInlineCitation", + "properties": { + "citedChunkIndices": { + "description": "The indices of the cited chunks that back this text segment. Indices refer to the elements in `cited_chunks`.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "endIndex": { + "description": "The ending index (in bytes) of the text segment in the agent response.", + "format": "int32", + "type": "integer" + }, + "startIndex": { + "description": "The starting index (in bytes) of the text segment in the agent response.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ClientCertificateSettings": { "description": "Settings for custom client certificates.", "id": "ClientCertificateSettings", @@ -5602,23 +5785,10 @@ }, "type": "array" }, - "resolvedDeveloperInstruction": { - "description": "Output only. The full dynamically resolved developer instruction generated from templates. This field is only populated on-demand when requested during history retrieval. It is not persisted.", - "readOnly": true, - "type": "string" - }, "rootSpan": { "$ref": "Span", "description": "Optional. The root span of the action processing." }, - "templateAttributes": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Optional. Variables or configurations referenced by the template engine during dynamic prompt generation. This allows reconstructing the exact prompt sent to the model for this turn.", - "type": "object" - }, "userIntendedText": { "description": "Optional. The intended ground-truth text from the Simulated Caller (Polysynth). Only populated when word error rate metrics are enabled.", "type": "string" @@ -5626,6 +5796,50 @@ }, "type": "object" }, + "CustomVoiceSample": { + "description": "Configuration for a custom voice sample used for voice cloning.", + "id": "CustomVoiceSample", + "properties": { + "consentAudioGcsUri": { + "description": "Optional. Consent audio for voice cloning.", + "type": "string" + }, + "name": { + "description": "Optional. The user-defined name for the custom voice sample.", + "type": "string" + }, + "previewAudioContent": { + "description": "Output only. Synthesized preview audio for custom voice, formatted as canonical WAV (LINEAR16, 24kHz, 16-bit, mono).", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "previewText": { + "description": "Optional. Text for synthesizing preview audio for custom voice.", + "type": "string" + }, + "voiceInstruction": { + "description": "Optional. Natural language instructions for voice style, tone, pacing, or pronunciation.", + "type": "string" + }, + "voiceSampleGcsUri": { + "description": "Optional. The Cloud Storage URI to the audio sample for voice cloning. The audio sample should be a mono-channel, 24kHz WAV file.", + "type": "string" + } + }, + "type": "object" + }, + "DashboardSettings": { + "description": "Settings for dashboards associated with the app, that show up in the Monitoring view.", + "id": "DashboardSettings", + "properties": { + "defaultDashboard": { + "description": "Optional. The resource name of the default Contact Center Insights dashboard associated with the app. This is the dashboard that will be displayed when users navigate to the Monitoring view for the app. Format: `projects/{project}/locations/{location}/dashboards/{dashboard}`", + "type": "string" + } + }, + "type": "object" + }, "DataStore": { "description": "A DataStore resource in Vertex AI Search.", "id": "DataStore", @@ -6030,6 +6244,11 @@ "enableSnippets": { "description": "Optional. Whether snippets are enabled.", "type": "boolean" + }, + "maxSnippets": { + "description": "Optional. Number of snippets to return per query. If unset, returns all snippets from the service by default.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -6059,10 +6278,25 @@ "properties": {}, "type": "object" }, + "DeployChannelResponse": { + "description": "Response message for AgentService.DeployChannel.", + "id": "DeployChannelResponse", + "properties": { + "deployment": { + "$ref": "Deployment", + "description": "The created deployment." + } + }, + "type": "object" + }, "Deployment": { "description": "A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.", "id": "Deployment", "properties": { + "agentRegistryDeployment": { + "$ref": "AgentRegistryDeployment", + "description": "Optional. Configuration for deploying this deployment to Agent Registry. If present, this deployment will be published to Agent Registry." + }, "appVersion": { "description": "Optional. The resource name of the app version to deploy. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}` Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use the draft app.", "type": "string" @@ -9555,14 +9789,18 @@ "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", - "HARM_CATEGORY_SEXUALLY_EXPLICIT" + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_PROFANITY", + "HARM_CATEGORY_TOXIC" ], "enumDescriptions": [ "The harm category is unspecified.", "The harm category is hate speech.", "The harm category is dangerous content.", "The harm category is harassment.", - "The harm category is sexually explicit content." + "The harm category is sexually explicit content.", + "The harm category is profanity.", + "The harm category is toxic." ], "type": "string" }, @@ -9593,6 +9831,10 @@ "description": "Represents an image input or output in the conversation.", "id": "Image", "properties": { + "altText": { + "description": "Optional. The alternative text for the image.", + "type": "string" + }, "data": { "description": "Required. Raw bytes of the image.", "format": "byte", @@ -9633,6 +9875,14 @@ "importOptions": { "$ref": "ImportAppRequestImportOptions", "description": "Optional. Options governing the import process for the app." + }, + "jsonPatchContent": { + "description": "Optional. Patch content as a JSON string.", + "type": "string" + }, + "jsonPatchGcsUri": { + "description": "Optional. A Cloud Storage URI pointing to a JSON file containing the patches.", + "type": "string" } }, "type": "object" @@ -10798,6 +11048,29 @@ }, "type": "object" }, + "LfA2aV1StreamResponse": { + "description": "A wrapper object used in streaming operations to encapsulate different types of response data.", + "id": "LfA2aV1StreamResponse", + "properties": { + "artifactUpdate": { + "$ref": "LfA2aV1TaskArtifactUpdateEvent", + "description": "An event indicating a task artifact update." + }, + "message": { + "$ref": "LfA2aV1Message", + "description": "A Message object containing a message from the agent." + }, + "statusUpdate": { + "$ref": "LfA2aV1TaskStatusUpdateEvent", + "description": "An event indicating a task status update." + }, + "task": { + "$ref": "LfA2aV1Task", + "description": "A Task object containing the current state of the task." + } + }, + "type": "object" + }, "LfA2aV1StringList": { "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.", "id": "LfA2aV1StringList", @@ -10853,6 +11126,41 @@ }, "type": "object" }, + "LfA2aV1TaskArtifactUpdateEvent": { + "description": "A task delta where an artifact has been generated.", + "id": "LfA2aV1TaskArtifactUpdateEvent", + "properties": { + "append": { + "description": "If true, the content of this artifact should be appended to a previously sent artifact with the same ID.", + "type": "boolean" + }, + "artifact": { + "$ref": "LfA2aV1Artifact", + "description": "Required. The artifact that was generated or updated." + }, + "contextId": { + "description": "Required. The ID of the context that this task belongs to.", + "type": "string" + }, + "lastChunk": { + "description": "If true, this is the final chunk of the artifact.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Metadata associated with the artifact update.", + "type": "object" + }, + "taskId": { + "description": "Required. The ID of the task for this artifact.", + "type": "string" + } + }, + "type": "object" + }, "LfA2aV1TaskPushNotificationConfig": { "description": "A container associating a push notification configuration with a specific task.", "id": "LfA2aV1TaskPushNotificationConfig", @@ -10926,6 +11234,33 @@ }, "type": "object" }, + "LfA2aV1TaskStatusUpdateEvent": { + "description": "An event sent by the agent to notify the client of a change in a task's status.", + "id": "LfA2aV1TaskStatusUpdateEvent", + "properties": { + "contextId": { + "description": "Required. The ID of the context that the task belongs to.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Metadata associated with the task update.", + "type": "object" + }, + "status": { + "$ref": "LfA2aV1TaskStatus", + "description": "Required. The new status of the task." + }, + "taskId": { + "description": "Required. The ID of the task that has changed.", + "type": "string" + } + }, + "type": "object" + }, "ListAgentsResponse": { "description": "Response message for AgentService.ListAgents.", "id": "ListAgentsResponse", @@ -11998,6 +12333,47 @@ }, "type": "object" }, + "RemoteA2aConfig": { + "description": "Shared configuration for connecting to a remote [A2A](https://github.com/a2aproject/A2A) agent.", + "id": "RemoteA2aConfig", + "properties": { + "agentCard": { + "$ref": "AgentCard", + "description": "Optional. The full agent card defined inline." + }, + "agentRegistry": { + "description": "Optional. Reference to the agent in the Agent Registry. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication configuration for calling the remote agent. Optional if the registry reference already handles authentication." + }, + "contextId": { + "description": "Optional. If not empty, interactions with the remote A2A agent will use this context ID. This context_id field can refer to a session variable like `$context.variables.order_agent_session_id`.", + "type": "string" + }, + "inputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Mapping of input variable names of remote agent to GECX variable names.", + "type": "object" + }, + "outputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Mapping of output variable names of remote agent to GECX variable names.", + "type": "object" + }, + "streamingEnabled": { + "description": "Optional. Whether streaming is enabled for the remote agent.", + "type": "boolean" + } + }, + "type": "object" + }, "RemoteAgentTool": { "description": "Represents a tool that allows the agent to call another remote agent.", "id": "RemoteAgentTool", @@ -12006,6 +12382,10 @@ "$ref": "AgentCard", "description": "Required. The agent card of the remote agent that this tool invokes." }, + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication configuration for calling the remote agent." + }, "description": { "description": "Required. The description of the tool.", "type": "string" @@ -12698,6 +13078,10 @@ "$ref": "GoogleSearchSuggestions", "description": "The suggestions returned from Google Search as a result of invoking the GoogleSearchTool." }, + "image": { + "$ref": "Image", + "description": "Output image from the CES agent." + }, "payload": { "additionalProperties": { "description": "Properties of the object.", @@ -12706,6 +13090,10 @@ "description": "Custom payload with structured output from the CES agent.", "type": "object" }, + "progress": { + "description": "Intermediate progress update from the CES agent.", + "type": "string" + }, "text": { "description": "Output text from the CES agent.", "type": "string" @@ -13048,6 +13436,11 @@ "description": "Request for the client or the agent to execute the specified tool.", "id": "ToolCall", "properties": { + "agentName": { + "description": "Output only. Human-readable name of the agent that issued this call, e.g. \"Contract Architect\". Empty when the root agent issued it.", + "readOnly": true, + "type": "string" + }, "args": { "additionalProperties": { "description": "Properties of the object.", @@ -13065,6 +13458,11 @@ "description": "Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.", "type": "string" }, + "parentToolCallId": { + "description": "Output only. The id of the tool call that caused this one, when it was issued by a sub-agent working on behalf of a parent call. Empty for top-level calls. Lets a client group a sub-agent's work under the call that started it instead of rendering every step as a sibling.", + "readOnly": true, + "type": "string" + }, "tool": { "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", "type": "string" @@ -13109,6 +13507,11 @@ "description": "The execution result of a specific tool from the client or the agent.", "id": "ToolResponse", "properties": { + "agentName": { + "description": "Output only. Human-readable name of the agent that issued this call, e.g. \"Contract Architect\". Empty when the root agent issued it.", + "readOnly": true, + "type": "string" + }, "displayName": { "description": "Output only. Display name of the tool.", "readOnly": true, @@ -13118,6 +13521,11 @@ "description": "Optional. The matching ID of the tool call the response is for.", "type": "string" }, + "parentToolCallId": { + "description": "Output only. The id of the tool call that caused this one, when it was issued by a sub-agent working on behalf of a parent call. Empty for top-level calls. Lets a client group a sub-agent's work under the call that started it instead of rendering every step as a sibling.", + "readOnly": true, + "type": "string" + }, "response": { "additionalProperties": { "description": "Properties of the object.", diff --git a/discovery/chat-v1.json b/discovery/chat-v1.json index c6585eaf864..08649626b7e 100644 --- a/discovery/chat-v1.json +++ b/discovery/chat-v1.json @@ -448,7 +448,7 @@ "parameterOrder": [], "parameters": { "requestId": { - "description": "Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error.", + "description": "Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single space being created. Subsequent requests with the same request ID return the existing space and do not update the space, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a space was already created with the provided request ID, the request returns that space. Note that the returned space might not be fully populated; the API echoes the space in your request with the system-assigned resource name populated. To retrieve the latest metadata for the space, call `GetSpace`. - Reusing an existing request ID with a different authenticated user results in an error.", "location": "query", "type": "string" } @@ -1116,7 +1116,7 @@ "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.", + "description": "Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single message being created. Subsequent requests with the same request ID return the existing message and do not update the message, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a message was already created with the provided request ID, the request returns that message. Note that the returned message might not be fully populated; the API echoes the message in your request with the system-assigned resource names populated. To retrieve the latest metadata for the message, call `GetMessage`. - Reusing an existing request ID with a different authenticated user results in an error.", "location": "query", "type": "string" }, @@ -2181,7 +2181,7 @@ } } }, - "revision": "20260820", + "revision": "20260828", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessPermissionSetting": { @@ -6387,7 +6387,7 @@ "type": "array" }, "requestId": { - "description": "Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error.", + "description": "Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single space being created. Subsequent requests with the same request ID return the existing space and do not update the space, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a space was already created with the provided request ID, the request returns that space. Note that the returned space might not be fully populated; the API echoes the space in your request with the system-assigned resource name populated. To retrieve the latest metadata for the space, call `GetSpace`. - Reusing an existing request ID with a different authenticated user results in an error.", "type": "string" }, "space": { diff --git a/discovery/chromemanagement-v1.json b/discovery/chromemanagement-v1.json index aba24cc4861..e89d74fcae2 100644 --- a/discovery/chromemanagement-v1.json +++ b/discovery/chromemanagement-v1.json @@ -1965,6 +1965,154 @@ "scopes": [ "https://www.googleapis.com/auth/chrome.management.reports.readonly" ] + }, + "findSaasUsage": { + "description": "Find SaaS usage reports of a customer based on the given search and sorting criteria.", + "flatPath": "v1/customers/{customersId}/reports:findSaasUsage", + "httpMethod": "GET", + "id": "chromemanagement.customers.reports.findSaasUsage", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "Required. Obfuscated customer ID prefixed with \"customers/C\" or \"customers/my_customer\".", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. The filter expression to narrow down the SaaS reports to return. Supported operators are: =, !=, <, <=, >, >=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * app * org_unit_id * first_navigation_time * last_navigation_time * category * organization * founded_year * headquarters * primary_domain * domains * encryption_protocols * visits_count * distinct_users_count * distinct_browsers_count * content_transfer_count Example: `(first_navigation_time < \"2026-01-31T00:00:00Z\" AND last_navigation_time > \"2026-01-01T00:00:00Z\") AND visits_count > 100`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The order by expression to sort the SaaS reports. Supported fields: * app * category * organization * founded_year * headquarters * primary_domain * visits_count * distinct_users_count * distinct_browsers_count * content_transfer_count Default order is ascending. To specify descending order for a field, append \" desc\". Example: `visits_count desc`", + "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 100 reports will be returned. The maximum value is 200; values above 200 will be coerced to 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `FindSaasUsageReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FindSaasUsageReports` must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+customer}/reports:findSaasUsage", + "response": { + "$ref": "GoogleChromeManagementV1FindSaasUsageReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.reports.readonly" + ] + }, + "findSaasUsageBrowsers": { + "description": "Find SaaS usage reports of a customer grouped by browsers based on the given search and sorting criteria.", + "flatPath": "v1/customers/{customersId}/reports:findSaasUsageBrowsers", + "httpMethod": "GET", + "id": "chromemanagement.customers.reports.findSaasUsageBrowsers", + "parameterOrder": [ + "customer" + ], + "parameters": { + "app": { + "description": "Required. The name of the SaaS application (e.g., `ChatGPT`, `Gemini`).", + "location": "query", + "type": "string" + }, + "customer": { + "description": "Required. Obfuscated customer ID prefixed with \"customers/C\" or \"customers/my_customer\".", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. The filter expression to narrow down the SaaS browser reports to return. Supported operators are: =, !=, <, <=, >, >=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * machine * os_platform * first_navigation_time * last_navigation_time * org_unit_id", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The order by expression to sort the SaaS browser reports. Supported fields: * machine * os_platform * first_navigation_time * last_navigation_time Default order is ascending. To specify descending order for a field, append \" desc\".", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of browsers to return. The service may return fewer than this value. If unspecified, at most 100 browsers will be returned. The maximum value is 200; values above 200 will be coerced to 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `FindSaasUsageBrowsers` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+customer}/reports:findSaasUsageBrowsers", + "response": { + "$ref": "GoogleChromeManagementV1FindSaasUsageBrowsersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.reports.readonly" + ] + }, + "findSaasUsageProfiles": { + "description": "Find SaaS usage reports of a customer grouped by profiles based on the given search and sorting criteria.", + "flatPath": "v1/customers/{customersId}/reports:findSaasUsageProfiles", + "httpMethod": "GET", + "id": "chromemanagement.customers.reports.findSaasUsageProfiles", + "parameterOrder": [ + "customer" + ], + "parameters": { + "app": { + "description": "Required. The name of the SaaS application (e.g., `ChatGPT`, `Gemini`).", + "location": "query", + "type": "string" + }, + "customer": { + "description": "Required. Obfuscated customer ID prefixed with \"customers/C\" or \"customers/my_customer\".", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. The filter expression to narrow down the SaaS profile reports to return. Supported operators are: =, !=, <, <=, >, >=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * email * org_unit_id * os_platform * first_navigation_time * last_navigation_time", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The order by expression to sort the SaaS profile reports. Supported fields: * email * os_platform * first_navigation_time * last_navigation_time Default order is ascending. To specify descending order for a field, append \" desc\".", + "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 100 reports will be returned. The maximum value is 200; values above 200 will be coerced to 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `FindSaasUsageProfiles` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+customer}/reports:findSaasUsageProfiles", + "response": { + "$ref": "GoogleChromeManagementV1FindSaasUsageProfilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.reports.readonly" + ] } } }, @@ -2409,7 +2557,7 @@ } } }, - "revision": "20260715", + "revision": "20260907", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -4031,6 +4179,75 @@ }, "type": "object" }, + "GoogleChromeManagementV1FindSaasUsageBrowsersResponse": { + "description": "Response to `FindSaasUsageBrowsers` method.", + "id": "GoogleChromeManagementV1FindSaasUsageBrowsersResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page.", + "type": "string" + }, + "saasUsageBrowsers": { + "description": "The list of SaaS usage browser reports.", + "items": { + "$ref": "GoogleChromeManagementV1SaasUsageBrowser" + }, + "type": "array" + }, + "totalSize": { + "description": "Total number of SaaS usage browser reports that match the request.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1FindSaasUsageProfilesResponse": { + "description": "Response to `FindSaasUsageProfiles` method.", + "id": "GoogleChromeManagementV1FindSaasUsageProfilesResponse", + "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" + }, + "profileReports": { + "description": "The list of SaaS usage profile reports.", + "items": { + "$ref": "GoogleChromeManagementV1SaasUsageProfileReport" + }, + "type": "array" + }, + "totalSize": { + "description": "Total number of SaaS usage profile reports that match the request.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1FindSaasUsageReportsResponse": { + "description": "Response to `FindSaasUsage` method.", + "id": "GoogleChromeManagementV1FindSaasUsageReportsResponse", + "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" + }, + "saasReports": { + "description": "The list of SaaS usage reports.", + "items": { + "$ref": "GoogleChromeManagementV1SaasUsageReport" + }, + "type": "array" + }, + "totalSize": { + "description": "Total number of SaaS usage reports that match the request.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleChromeManagementV1GraphicsAdapterInfo": { "description": "Information of a graphics adapter (GPU).", "id": "GoogleChromeManagementV1GraphicsAdapterInfo", @@ -5042,6 +5259,241 @@ }, "type": "object" }, + "GoogleChromeManagementV1SaasUsageBrowser": { + "description": "Details of a SaaS usage browser.", + "id": "GoogleChromeManagementV1SaasUsageBrowser", + "properties": { + "devicePermanentId": { + "description": "Output only. The device permanent ID.", + "readOnly": true, + "type": "string" + }, + "firstNavigationTime": { + "description": "Output only. The timestamp when the application was first navigated to by this browser.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastNavigationTime": { + "description": "Output only. The timestamp when the application was last navigated to by this browser.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "machine": { + "description": "Output only. The machine name.", + "readOnly": true, + "type": "string" + }, + "orgUnitId": { + "description": "Output only. The ID of the organizational unit.", + "readOnly": true, + "type": "string" + }, + "osPlatform": { + "description": "Output only. The OS platform.", + "enum": [ + "DEVICE_SYSTEM_UNSPECIFIED", + "SYSTEM_OTHER", + "SYSTEM_ANDROID", + "SYSTEM_IOS", + "SYSTEM_CROS", + "SYSTEM_WINDOWS", + "SYSTEM_MAC", + "SYSTEM_LINUX" + ], + "enumDescriptions": [ + "No operating system specified.", + "Other operating system.", + "Android operating system.", + "Apple iOS operating system.", + "ChromeOS operating system.", + "Microsoft Windows operating system.", + "Apple macOS operating system.", + "Linux operating system." + ], + "readOnly": true, + "type": "string" + }, + "osVersion": { + "description": "Output only. The OS version.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1SaasUsageProfileReport": { + "description": "Represents a single SaaS report entry grouped by profile.", + "id": "GoogleChromeManagementV1SaasUsageProfileReport", + "properties": { + "email": { + "description": "Output only. The email of the user.", + "readOnly": true, + "type": "string" + }, + "firstNavigationTime": { + "description": "Output only. The timestamp when the application was first navigated to by this profile.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastNavigationTime": { + "description": "Output only. The timestamp when the application was last navigated to by this profile.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "orgUnitId": { + "description": "Output only. The ID of the organizational unit.", + "readOnly": true, + "type": "string" + }, + "osPlatform": { + "description": "Output only. The OS platform.", + "enum": [ + "DEVICE_SYSTEM_UNSPECIFIED", + "SYSTEM_OTHER", + "SYSTEM_ANDROID", + "SYSTEM_IOS", + "SYSTEM_CROS", + "SYSTEM_WINDOWS", + "SYSTEM_MAC", + "SYSTEM_LINUX" + ], + "enumDescriptions": [ + "No operating system specified.", + "Other operating system.", + "Android operating system.", + "Apple iOS operating system.", + "ChromeOS operating system.", + "Microsoft Windows operating system.", + "Apple macOS operating system.", + "Linux operating system." + ], + "readOnly": true, + "type": "string" + }, + "osVersion": { + "description": "Output only. The OS version.", + "readOnly": true, + "type": "string" + }, + "profilePermanentId": { + "description": "Output only. The permanent ID of the profile.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1SaasUsageReport": { + "description": "Represents a single SaaS report entry.", + "id": "GoogleChromeManagementV1SaasUsageReport", + "properties": { + "app": { + "description": "Output only. The name of the application.", + "readOnly": true, + "type": "string" + }, + "category": { + "description": "Output only. The category of the application.", + "readOnly": true, + "type": "string" + }, + "contentTransferDetails": { + "$ref": "GoogleChromeManagementV1SaasUsageReportContentTransferDetails", + "description": "Output only. Provides information about content transfer events, if available.", + "readOnly": true + }, + "distinctBrowsersCount": { + "description": "Output only. Number of distinct browsers that visited the application.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "distinctUsersCount": { + "description": "Output only. Number of distinct users who visited the application.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "domains": { + "description": "Output only. A list of domains and subdomains associated with the application.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "encryptionProtocols": { + "description": "Output only. A list of encryption protocols used to access the application.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "firstNavigationTime": { + "description": "Output only. The timestamp when the application was first navigated to.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "foundedYear": { + "description": "Output only. The year the organization was founded.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "headquarters": { + "description": "Output only. The headquarters location of the organization.", + "readOnly": true, + "type": "string" + }, + "lastNavigationTime": { + "description": "Output only. The timestamp when the application was last navigated to.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "orgUnitId": { + "description": "Output only. The ID of the organizational unit.", + "readOnly": true, + "type": "string" + }, + "organization": { + "description": "Output only. The organization that develops the application.", + "readOnly": true, + "type": "string" + }, + "primaryDomain": { + "description": "Output only. The primary domain of the application.", + "readOnly": true, + "type": "string" + }, + "visitsCount": { + "description": "Output only. Total number of visits to the application.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1SaasUsageReportContentTransferDetails": { + "description": "Provides information about content transfer events, if available.", + "id": "GoogleChromeManagementV1SaasUsageReportContentTransferDetails", + "properties": { + "contentTransferCount": { + "description": "Output only. Total number of content transfers associated with the application.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleChromeManagementV1StorageInfo": { "description": "Status data for storage. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceStorageStatus](https://chromeenterprise.google/policies/#ReportDeviceStorageStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_STORAGE_INFO", "id": "GoogleChromeManagementV1StorageInfo", diff --git a/discovery/classroom-v1.json b/discovery/classroom-v1.json index 311f478d6f5..01da8a0ad76 100644 --- a/discovery/classroom-v1.json +++ b/discovery/classroom-v1.json @@ -1274,7 +1274,7 @@ ] }, "patch": { - "description": "Updates one or more fields of a course work. See google.classroom.v1.CourseWork for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work has already been deleted. * `NOT_FOUND` if the requested course or course work does not exist.", + "description": "Updates one or more fields of a course work. See google.classroom.v1.CourseWork for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work or an add-on attachment on the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work has already been deleted. * `NOT_FOUND` if the requested course or course work does not exist.", "flatPath": "v1/courses/{courseId}/courseWork/{id}", "httpMethod": "PATCH", "id": "classroom.courses.courseWork.patch", @@ -2067,7 +2067,7 @@ ] }, "modifyAttachments": { - "description": "Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", + "description": "Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments", "httpMethod": "POST", "id": "classroom.courses.courseWork.studentSubmissions.modifyAttachments", @@ -2109,7 +2109,7 @@ ] }, "patch": { - "description": "Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", + "description": "Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment with Grade Sync enabled on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work or an add-on attachment on the corresponding course work with Grade Sync enabled, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", "httpMethod": "PATCH", "id": "classroom.courses.courseWork.studentSubmissions.patch", @@ -2157,7 +2157,7 @@ ] }, "reclaim": { - "description": "Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and updates the submission state. Only the student that owns the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", + "description": "Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and updates the submission state. Only the student that owns the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim", "httpMethod": "POST", "id": "classroom.courses.courseWork.studentSubmissions.reclaim", @@ -2198,7 +2198,7 @@ ] }, "return": { - "description": "Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", + "description": "Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", "httpMethod": "POST", "id": "classroom.courses.courseWork.studentSubmissions.return", @@ -2239,7 +2239,7 @@ ] }, "turnIn": { - "description": "Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", + "description": "Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn", "httpMethod": "POST", "id": "classroom.courses.courseWork.studentSubmissions.turnIn", @@ -4376,7 +4376,7 @@ } } }, - "revision": "20260816", + "revision": "20260825", "rootUrl": "https://classroom.googleapis.com/", "schemas": { "AddOnAttachment": { diff --git a/discovery/cloudbilling-v1.json b/discovery/cloudbilling-v1.json index d592dbd04e5..d46e6ee0039 100644 --- a/discovery/cloudbilling-v1.json +++ b/discovery/cloudbilling-v1.json @@ -482,6 +482,50 @@ } } }, + "message": { + "methods": { + "send": { + "description": "Send a message to the agent. This is a blocking call that will return the task once it is completed, or a LRO if requested.", + "flatPath": "v1/message:send", + "httpMethod": "POST", + "id": "cloudbilling.message.send", + "parameterOrder": [], + "parameters": {}, + "path": "v1/message:send", + "request": { + "$ref": "SendMessageRequest" + }, + "response": { + "$ref": "SendMessageResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stream": { + "description": "SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state.", + "flatPath": "v1/message:stream", + "httpMethod": "POST", + "id": "cloudbilling.message.stream", + "parameterOrder": [], + "parameters": {}, + "path": "v1/message:stream", + "request": { + "$ref": "SendMessageRequest" + }, + "response": { + "$ref": "StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "organizations": { "resources": { "billingAccounts": { @@ -749,11 +793,573 @@ } } } + }, + "tasks": { + "methods": { + "cancel": { + "description": "Cancel a task from the agent. If supported one should expect no more task updates for the task.", + "flatPath": "v1/tasks/{tasksId}:cancel", + "httpMethod": "POST", + "id": "cloudbilling.tasks.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the task to cancel. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelTaskRequest" + }, + "response": { + "$ref": "Task" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get the current state of a task from the agent.", + "flatPath": "v1/tasks/{tasksId}", + "httpMethod": "GET", + "id": "cloudbilling.tasks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "historyLength": { + "description": "The number of most recent messages from the task's history to retrieve.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "name": { + "description": "Required. The resource name of the task. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Task" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "subscribe": { + "description": "TaskSubscription is a streaming call that will return a stream of task update events. This attaches the stream to an existing in process task. If the task is complete the stream will return the completed task (like GetTask) and close the stream.", + "flatPath": "v1/tasks/{tasksId}:subscribe", + "httpMethod": "GET", + "id": "cloudbilling.tasks.subscribe", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the task to subscribe to. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:subscribe", + "response": { + "$ref": "StreamResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "pushNotificationConfigs": { + "methods": { + "create": { + "description": "Set a push notification config for a task.", + "flatPath": "v1/tasks/{tasksId}/pushNotificationConfigs", + "httpMethod": "POST", + "id": "cloudbilling.tasks.pushNotificationConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "configId": { + "description": "Required. The ID for the new config.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent task resource for this config. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}", + "request": { + "$ref": "TaskPushNotificationConfig" + }, + "response": { + "$ref": "TaskPushNotificationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a push notification config for a task.", + "flatPath": "v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", + "httpMethod": "DELETE", + "id": "cloudbilling.tasks.pushNotificationConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the config to delete. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a push notification config for a task.", + "flatPath": "v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", + "httpMethod": "GET", + "id": "cloudbilling.tasks.pushNotificationConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the config to retrieve. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "TaskPushNotificationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Get a list of push notifications configured for a task.", + "flatPath": "v1/tasks/{tasksId}/pushNotificationConfigs", + "httpMethod": "GET", + "id": "cloudbilling.tasks.pushNotificationConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "For AIP-158 these fields are present. Usually not used/needed. The maximum number of configurations to return. If unspecified, all configs will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from a previous ListTaskPushNotificationConfigRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTaskPushNotificationConfigRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The parent task resource. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/pushNotificationConfigs", + "response": { + "$ref": "ListTaskPushNotificationConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "v1": { + "methods": { + "getCard": { + "description": "GetAgentCard returns the agent card for the agent.", + "flatPath": "v1/card", + "httpMethod": "GET", + "id": "cloudbilling.getCard", + "parameterOrder": [], + "parameters": { + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "location": "query", + "type": "string" + } + }, + "path": "v1/card", + "response": { + "$ref": "AgentCard" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-billing", + "https://www.googleapis.com/auth/cloud-billing.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } }, - "revision": "20241011", + "revision": "20260901", "rootUrl": "https://cloudbilling.googleapis.com/", "schemas": { + "APIKeySecurityScheme": { + "id": "APIKeySecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "location": { + "description": "Location of the API key, valid values are \"query\", \"header\", or \"cookie\"", + "type": "string" + }, + "name": { + "description": "Name of the header, query or cookie parameter to be used.", + "type": "string" + } + }, + "type": "object" + }, + "AgentCapabilities": { + "description": "Defines the A2A feature set supported by the agent", + "id": "AgentCapabilities", + "properties": { + "extensions": { + "description": "Extensions supported by this agent.", + "items": { + "$ref": "AgentExtension" + }, + "type": "array" + }, + "pushNotifications": { + "description": "If the agent can send push notifications to the clients webhook", + "type": "boolean" + }, + "streaming": { + "description": "If the agent will support streaming responses", + "type": "boolean" + } + }, + "type": "object" + }, + "AgentCard": { + "description": "AgentCard conveys key information: - Overall details (version, name, description, uses) - Skills; a set of actions/solutions the agent can perform - Default modalities/content types supported by the agent. - Authentication requirements Next ID: 19", + "id": "AgentCard", + "properties": { + "additionalInterfaces": { + "description": "Announcement of additional supported transports. Client can use any of the supported transports.", + "items": { + "$ref": "AgentInterface" + }, + "type": "array" + }, + "capabilities": { + "$ref": "AgentCapabilities", + "description": "A2A Capability set supported by the agent." + }, + "defaultInputModes": { + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across all skills. This can be overridden per skill. Defined as mime types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "defaultOutputModes": { + "description": "The mime types supported as outputs from this agent.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "A description of the agent's domain of action/solution space. Example: \"Agent that helps users with recipes and cooking.\"", + "type": "string" + }, + "documentationUrl": { + "description": "A url to provide additional documentation about the agent.", + "type": "string" + }, + "iconUrl": { + "description": "An optional URL to an icon for the agent.", + "type": "string" + }, + "name": { + "description": "A human readable name for the agent. Example: \"Recipe Agent\"", + "type": "string" + }, + "preferredTransport": { + "description": "The transport of the preferred endpoint. If empty, defaults to JSONRPC.", + "type": "string" + }, + "protocolVersion": { + "description": "The version of the A2A protocol this agent supports.", + "type": "string" + }, + "provider": { + "$ref": "AgentProvider", + "description": "The service provider of the agent." + }, + "security": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security requirements for contacting the agent. This list can be seen as an OR of ANDs. Each object in the list describes one possible set of security requirements that must be present on a request. This allows specifying, for example, \"callers must either use OAuth OR an API Key AND mTLS.\" Example: security { schemes { key: \"oauth\" value { list: [\"read\"] } } } security { schemes { key: \"api-key\" } schemes { key: \"mtls\" } }", + "items": { + "$ref": "Security" + }, + "type": "array" + }, + "securitySchemes": { + "additionalProperties": { + "$ref": "SecurityScheme" + }, + "description": "The security scheme details used for authenticating with this agent.", + "type": "object" + }, + "signatures": { + "description": "JSON Web Signatures computed for this AgentCard.", + "items": { + "$ref": "AgentCardSignature" + }, + "type": "array" + }, + "skills": { + "description": "Skills represent a unit of ability an agent can perform. This may somewhat abstract but represents a more focused set of actions that the agent is highly likely to succeed at.", + "items": { + "$ref": "AgentSkill" + }, + "type": "array" + }, + "supportsAuthenticatedExtendedCard": { + "description": "Whether the agent supports providing an extended agent card when the user is authenticated, i.e. is the card from .well-known different than the card from GetAgentCard.", + "type": "boolean" + }, + "url": { + "description": "A URL to the address the agent is hosted at. This represents the preferred endpoint as declared by the agent.", + "type": "string" + }, + "version": { + "description": "The version of the agent. Example: \"1.0.0\"", + "type": "string" + } + }, + "type": "object" + }, + "AgentCardSignature": { + "description": "AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS).", + "id": "AgentCardSignature", + "properties": { + "header": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The unprotected JWS header values.", + "type": "object" + }, + "protected": { + "description": "Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object. Required.", + "type": "string" + }, + "signature": { + "description": "Required. The computed signature, base64url-encoded. Required.", + "type": "string" + } + }, + "type": "object" + }, + "AgentExtension": { + "description": "A declaration of an extension supported by an Agent.", + "id": "AgentExtension", + "properties": { + "description": { + "description": "A description of how this agent uses this extension. Example: \"Google OAuth 2.0 authentication\"", + "type": "string" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional configuration for the extension.", + "type": "object" + }, + "required": { + "description": "Whether the client must follow specific requirements of the extension. Example: false", + "type": "boolean" + }, + "uri": { + "description": "The URI of the extension. Example: \"https://developers.google.com/identity/protocols/oauth2\"", + "type": "string" + } + }, + "type": "object" + }, + "AgentInterface": { + "description": "Defines additional transport information for the agent.", + "id": "AgentInterface", + "properties": { + "tenant": { + "description": "Tenant to be set in the request when calling the agent. Experimental, might still change for 1.0 release.", + "type": "string" + }, + "transport": { + "description": "The transport supported this url. This is an open form string, to be easily extended for many transport protocols. The core ones officially supported are JSONRPC, GRPC and HTTP+JSON.", + "type": "string" + }, + "url": { + "description": "The url this interface is found at.", + "type": "string" + } + }, + "type": "object" + }, + "AgentProvider": { + "description": "Represents information about the service provider of an agent.", + "id": "AgentProvider", + "properties": { + "organization": { + "description": "The providers organization name Example: \"Google\"", + "type": "string" + }, + "url": { + "description": "The providers reference url Example: \"https://ai.google.dev\"", + "type": "string" + } + }, + "type": "object" + }, + "AgentSkill": { + "description": "AgentSkill represents a unit of action/solution that the agent can perform. One can think of this as a type of highly reliable solution that an agent can be tasked to provide. Agents have the autonomy to choose how and when to use specific skills, but clients should have confidence that if the skill is defined that unit of action can be reliably performed.", + "id": "AgentSkill", + "properties": { + "description": { + "description": "A human (or llm) readable description of the skill details and behaviors.", + "type": "string" + }, + "examples": { + "description": "A set of example queries that this skill is designed to address. These examples should help the caller to understand how to craft requests to the agent to achieve specific goals. Example: [\"I need a recipe for bread\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier of the skill within this agent.", + "type": "string" + }, + "inputModes": { + "description": "Possible input modalities supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "A human readable name for the skill.", + "type": "string" + }, + "outputModes": { + "description": "Possible output modalities produced", + "items": { + "type": "string" + }, + "type": "array" + }, + "security": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security schemes necessary for the agent to leverage this skill. As in the overall AgentCard.security, this list represents a logical OR of security requirement objects. Each object is a set of security schemes that must be used together (a logical AND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED", + "items": { + "$ref": "Security" + }, + "type": "array" + }, + "tags": { + "description": "A set of tags for the skill to enhance categorization/utilization. Example: [\"cooking\", \"customer support\", \"billing\"]", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AggregationInfo": { "description": "Represents the aggregation level and interval for pricing of a single SKU.", "id": "AggregationInfo", @@ -792,6 +1398,47 @@ }, "type": "object" }, + "Artifact": { + "description": "Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication.", + "id": "Artifact", + "properties": { + "artifactId": { + "description": "Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task.", + "type": "string" + }, + "description": { + "description": "A human readable description of the artifact, optional.", + "type": "string" + }, + "extensions": { + "description": "The URIs of extensions that are present or contributed to this Artifact.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata included with the artifact.", + "type": "object" + }, + "name": { + "description": "A human readable name for the artifact.", + "type": "string" + }, + "parts": { + "description": "The content of the artifact.", + "items": { + "$ref": "Part" + }, + "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", @@ -840,6 +1487,49 @@ }, "type": "object" }, + "AuthenticationInfo": { + "description": "Defines authentication details, used for push notifications.", + "id": "AuthenticationInfo", + "properties": { + "credentials": { + "description": "Optional credentials", + "type": "string" + }, + "schemes": { + "description": "Supported authentication schemes - e.g. Basic, Bearer, etc", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthorizationCodeOAuthFlow": { + "id": "AuthorizationCodeOAuthFlow", + "properties": { + "authorizationUrl": { + "description": "The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS", + "type": "string" + }, + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "type": "object" + }, "BillingAccount": { "description": "A billing account in the [Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.", "id": "BillingAccount", @@ -896,6 +1586,16 @@ }, "type": "object" }, + "CancelTaskRequest": { + "id": "CancelTaskRequest", + "properties": { + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "type": "string" + } + }, + "type": "object" + }, "Category": { "description": "Represents the category hierarchy of a SKU.", "id": "Category", @@ -919,6 +1619,47 @@ }, "type": "object" }, + "ClientCredentialsOAuthFlow": { + "id": "ClientCredentialsOAuthFlow", + "properties": { + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "type": "object" + }, + "DataPart": { + "description": "DataPart represents a structured blob. This is most commonly a JSON payload.", + "id": "DataPart", + "properties": { + "data": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, "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", @@ -942,6 +1683,26 @@ }, "type": "object" }, + "FilePart": { + "description": "FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.", + "id": "FilePart", + "properties": { + "fileWithBytes": { + "format": "byte", + "type": "string" + }, + "fileWithUri": { + "type": "string" + }, + "mimeType": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, "GeoTaxonomy": { "description": "Encapsulates the geographic taxonomy data for a sku.", "id": "GeoTaxonomy", @@ -972,6 +1733,45 @@ }, "type": "object" }, + "HTTPAuthSecurityScheme": { + "id": "HTTPAuthSecurityScheme", + "properties": { + "bearerFormat": { + "description": "A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.", + "type": "string" + }, + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "scheme": { + "description": "The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive, as defined in RFC7235.", + "type": "string" + } + }, + "type": "object" + }, + "ImplicitOAuthFlow": { + "id": "ImplicitOAuthFlow", + "properties": { + "authorizationUrl": { + "description": "The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS", + "type": "string" + }, + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + } + }, + "type": "object" + }, "ListBillingAccountsResponse": { "description": "Response message for `ListBillingAccounts`.", "id": "ListBillingAccountsResponse", @@ -1044,6 +1844,78 @@ }, "type": "object" }, + "ListTaskPushNotificationConfigResponse": { + "id": "ListTaskPushNotificationConfigResponse", + "properties": { + "configs": { + "description": "The list of push notification configurations.", + "items": { + "$ref": "TaskPushNotificationConfig" + }, + "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" + }, + "Message": { + "description": "Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.", + "id": "Message", + "properties": { + "content": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.", + "items": { + "$ref": "Part" + }, + "type": "array" + }, + "contextId": { + "description": "The context id of the message. This is optional and if set, the message will be associated with the given context.", + "type": "string" + }, + "extensions": { + "description": "The URIs of extensions that are present or contributed to this Message.", + "items": { + "type": "string" + }, + "type": "array" + }, + "messageId": { + "description": "The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.", + "type": "object" + }, + "role": { + "description": "A role for the message.", + "enum": [ + "ROLE_UNSPECIFIED", + "ROLE_USER", + "ROLE_AGENT" + ], + "enumDescriptions": [ + "", + "USER role refers to communication from the client to the server.", + "AGENT role refers to communication from the server to the client." + ], + "type": "string" + }, + "taskId": { + "description": "The task id of the message. This is optional and if set, the message will be associated with the given task.", + "type": "string" + } + }, + "type": "object" + }, "Money": { "description": "Represents an amount of money with its currency type.", "id": "Money", @@ -1076,6 +1948,111 @@ }, "type": "object" }, + "MutualTlsSecurityScheme": { + "id": "MutualTlsSecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + } + }, + "type": "object" + }, + "OAuth2SecurityScheme": { + "id": "OAuth2SecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "flows": { + "$ref": "OAuthFlows", + "description": "An object containing configuration information for the flow types supported" + }, + "oauth2MetadataUrl": { + "description": "URL to the oauth2 authorization server metadata [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414). TLS is required.", + "type": "string" + } + }, + "type": "object" + }, + "OAuthFlows": { + "id": "OAuthFlows", + "properties": { + "authorizationCode": { + "$ref": "AuthorizationCodeOAuthFlow" + }, + "clientCredentials": { + "$ref": "ClientCredentialsOAuthFlow" + }, + "implicit": { + "$ref": "ImplicitOAuthFlow" + }, + "password": { + "$ref": "PasswordOAuthFlow" + } + }, + "type": "object" + }, + "OpenIdConnectSecurityScheme": { + "id": "OpenIdConnectSecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "openIdConnectUrl": { + "description": "Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata.", + "type": "string" + } + }, + "type": "object" + }, + "Part": { + "description": "Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).", + "id": "Part", + "properties": { + "data": { + "$ref": "DataPart" + }, + "file": { + "$ref": "FilePart" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata associated with this part.", + "type": "object" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "PasswordOAuthFlow": { + "id": "PasswordOAuthFlow", + "properties": { + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "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", @@ -1202,6 +2179,129 @@ }, "type": "object" }, + "PushNotificationConfig": { + "description": "Configuration for setting up push notifications for task updates.", + "id": "PushNotificationConfig", + "properties": { + "authentication": { + "$ref": "AuthenticationInfo", + "description": "Information about the authentication to sent with the notification" + }, + "id": { + "description": "A unique identifier (e.g. UUID) for this push notification.", + "type": "string" + }, + "token": { + "description": "Token unique for this task/session", + "type": "string" + }, + "url": { + "description": "Url to send the notification too", + "type": "string" + } + }, + "type": "object" + }, + "Security": { + "id": "Security", + "properties": { + "schemes": { + "additionalProperties": { + "$ref": "StringList" + }, + "type": "object" + } + }, + "type": "object" + }, + "SecurityScheme": { + "id": "SecurityScheme", + "properties": { + "apiKeySecurityScheme": { + "$ref": "APIKeySecurityScheme" + }, + "httpAuthSecurityScheme": { + "$ref": "HTTPAuthSecurityScheme" + }, + "mtlsSecurityScheme": { + "$ref": "MutualTlsSecurityScheme" + }, + "oauth2SecurityScheme": { + "$ref": "OAuth2SecurityScheme" + }, + "openIdConnectSecurityScheme": { + "$ref": "OpenIdConnectSecurityScheme" + } + }, + "type": "object" + }, + "SendMessageConfiguration": { + "description": "Configuration of a send message request.", + "id": "SendMessageConfiguration", + "properties": { + "acceptedOutputModes": { + "description": "The output modes that the agent is expected to respond with.", + "items": { + "type": "string" + }, + "type": "array" + }, + "blocking": { + "description": "If true, the message will be blocking until the task is completed. If false, the message will be non-blocking and the task will be returned immediately. It is the caller's responsibility to check for any task updates.", + "type": "boolean" + }, + "historyLength": { + "description": "The maximum number of messages to include in the history. if 0, the history will be unlimited.", + "format": "int32", + "type": "integer" + }, + "pushNotification": { + "$ref": "PushNotificationConfig", + "description": "A configuration of a webhook that can be used to receive updates" + } + }, + "type": "object" + }, + "SendMessageRequest": { + "description": "/////////// Request Messages ///////////", + "id": "SendMessageRequest", + "properties": { + "configuration": { + "$ref": "SendMessageConfiguration", + "description": "Configuration for the send request." + }, + "message": { + "$ref": "Message", + "description": "Required. The message to send to the agent." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata for the request.", + "type": "object" + }, + "tenant": { + "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.", + "type": "string" + } + }, + "type": "object" + }, + "SendMessageResponse": { + "description": "////// Response Messages ///////////", + "id": "SendMessageResponse", + "properties": { + "message": { + "$ref": "Message" + }, + "task": { + "$ref": "Task" + } + }, + "type": "object" + }, "Service": { "description": "Encapsulates a single service in Google Cloud Platform.", "id": "Service", @@ -1286,6 +2386,201 @@ }, "type": "object" }, + "StreamResponse": { + "description": "The stream response for a message. The stream should be one of the following sequences: If the response is a message, the stream should contain one, and only one, message and then close If the response is a task lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A stream that ends before these conditions are met are", + "id": "StreamResponse", + "properties": { + "artifactUpdate": { + "$ref": "TaskArtifactUpdateEvent" + }, + "message": { + "$ref": "Message" + }, + "statusUpdate": { + "$ref": "TaskStatusUpdateEvent" + }, + "task": { + "$ref": "Task" + } + }, + "type": "object" + }, + "StringList": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED", + "id": "StringList", + "properties": { + "list": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Task": { + "description": "Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.", + "id": "Task", + "properties": { + "artifacts": { + "description": "A set of output artifacts for a Task.", + "items": { + "$ref": "Artifact" + }, + "type": "array" + }, + "contextId": { + "description": "Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server.", + "type": "string" + }, + "history": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier (e.g. UUID) for the task, generated by the server for a new task.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.", + "type": "object" + }, + "status": { + "$ref": "TaskStatus", + "description": "The current status of a Task, including state and a message." + } + }, + "type": "object" + }, + "TaskArtifactUpdateEvent": { + "description": "TaskArtifactUpdateEvent represents a task delta where an artifact has been generated.", + "id": "TaskArtifactUpdateEvent", + "properties": { + "append": { + "description": "Whether this should be appended to a prior one produced", + "type": "boolean" + }, + "artifact": { + "$ref": "Artifact", + "description": "The artifact itself" + }, + "contextId": { + "description": "The id of the context that this task belongs too", + "type": "string" + }, + "lastChunk": { + "description": "Whether this represents the last part of an artifact", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata associated with the artifact update.", + "type": "object" + }, + "taskId": { + "description": "The id of the task for this artifact", + "type": "string" + } + }, + "type": "object" + }, + "TaskPushNotificationConfig": { + "id": "TaskPushNotificationConfig", + "properties": { + "name": { + "description": "The resource name of the config. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "type": "string" + }, + "pushNotificationConfig": { + "$ref": "PushNotificationConfig", + "description": "The push notification configuration details." + } + }, + "type": "object" + }, + "TaskStatus": { + "description": "A container for the status of a task", + "id": "TaskStatus", + "properties": { + "message": { + "$ref": "Message", + "description": "A message associated with the status." + }, + "state": { + "description": "The current state of this task", + "enum": [ + "TASK_STATE_UNSPECIFIED", + "TASK_STATE_SUBMITTED", + "TASK_STATE_WORKING", + "TASK_STATE_COMPLETED", + "TASK_STATE_FAILED", + "TASK_STATE_CANCELLED", + "TASK_STATE_INPUT_REQUIRED", + "TASK_STATE_REJECTED", + "TASK_STATE_AUTH_REQUIRED" + ], + "enumDescriptions": [ + "", + "Represents the status that acknowledges a task is created", + "Represents the status that a task is actively being processed", + "Represents the status a task is finished. This is a terminal state", + "Represents the status a task is done but failed. This is a terminal state", + "Represents the status a task was cancelled before it finished. This is a terminal state.", + "Represents the status that the task requires information to complete. This is an interrupted state.", + "Represents the status that the agent has decided to not perform the task. This may be done during initial task creation or later once an agent has determined it can't or won't proceed. This is a terminal state.", + "Represents the state that some authentication is needed from the upstream client. Authentication is expected to come out-of-band thus this is not an interrupted or terminal state." + ], + "type": "string" + }, + "timestamp": { + "description": "Timestamp when the status was recorded. Example: \"2023-10-27T10:00:00Z\"", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "TaskStatusUpdateEvent": { + "description": "TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed.", + "id": "TaskStatusUpdateEvent", + "properties": { + "contextId": { + "description": "The id of the context that the task belongs to", + "type": "string" + }, + "final": { + "description": "Whether this is the last status update expected for this task.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata to associate with the task update.", + "type": "object" + }, + "status": { + "$ref": "TaskStatus", + "description": "The new status of the task." + }, + "taskId": { + "description": "The id of the task that is changed", + "type": "string" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", diff --git a/discovery/cloudidentity-v1.json b/discovery/cloudidentity-v1.json index 9ff64f66f43..e6062adcfc4 100644 --- a/discovery/cloudidentity-v1.json +++ b/discovery/cloudidentity-v1.json @@ -1260,7 +1260,7 @@ "type": "string" }, "query": { - "description": "Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'`", + "description": "Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). See [CEL Introduction](https://github.com/google/cel-spec/blob/master/doc/intro.md) for CEL syntax usage and examples. * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` Examples: * Search for all discussion forums under a customer: `parent == 'customers/C046psxkn' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels` * Search for groups with key starting with 'sales': `parent == 'customers/C046psxkn' && group_key.startsWith('sales')` * Search for groups with display name containing 'test': `parent == 'customers/C046psxkn' && display_name.contains('test')`", "location": "query", "type": "string" }, @@ -2423,7 +2423,7 @@ } } }, - "revision": "20260817", + "revision": "20260826", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { diff --git a/discovery/cloudidentity-v1beta1.json b/discovery/cloudidentity-v1beta1.json index 76c4127f5cd..edad4f659d5 100644 --- a/discovery/cloudidentity-v1beta1.json +++ b/discovery/cloudidentity-v1beta1.json @@ -1219,7 +1219,7 @@ "type": "string" }, "query": { - "description": "Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'`", + "description": "Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). See [CEL Introduction](https://github.com/google/cel-spec/blob/master/doc/intro.md) for CEL syntax usage and examples. * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` Examples: * Search for all discussion forums under a customer: `parent == 'customers/C046psxkn' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels` * Search for groups with key starting with 'sales': `parent == 'customers/C046psxkn' && group_key.startsWith('sales')` * Search for groups with display name containing 'test': `parent == 'customers/C046psxkn' && display_name.contains('test')`", "location": "query", "type": "string" }, @@ -2461,7 +2461,7 @@ } } }, - "revision": "20260817", + "revision": "20260826", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { diff --git a/discovery/cloudkms-v1.json b/discovery/cloudkms-v1.json index a909dad43ac..c407f8fbef3 100644 --- a/discovery/cloudkms-v1.json +++ b/discovery/cloudkms-v1.json @@ -1307,6 +1307,32 @@ "https://www.googleapis.com/auth/cloudkms" ] }, + "delete": { + "description": "Permanently deletes the given KeyRing. All child resources of the KeyRing must have been previously deleted using their corresponding Delete operations. The specified key ring will be immediately and permanently deleted upon calling this method. This action cannot be undone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}", + "httpMethod": "DELETE", + "id": "cloudkms.projects.locations.keyRings.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the KeyRing to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudkms" + ] + }, "get": { "description": "Returns metadata for a given KeyRing.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}", @@ -3063,7 +3089,7 @@ } } }, - "revision": "20260814", + "revision": "20260827", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AddQuorumMember": { @@ -3822,7 +3848,7 @@ "type": "string" }, "trustedWrappingEnabled": { - "description": "Immutable. Field indicating that the key may be wrapped by a trusted key. This field can be set for all key purposes except ENCRYPT_DECRYPT, and is only valid for keys with protection level HSM_SINGLE_TENANT. This field can only be set at creation or import time via CreateCryptoKeyVersion, or ImportCryptoKeyVersion.", + "description": "Optional. Immutable. Field indicating that the key may be wrapped by a trusted key. This field can be set for all key purposes except ENCRYPT_DECRYPT, and is only valid for keys with protection level HSM_SINGLE_TENANT. This field can only be set at creation or import time via CreateCryptoKeyVersion, or ImportCryptoKeyVersion.", "type": "boolean" } }, diff --git a/discovery/cloudnumberregistry-v1alpha.json b/discovery/cloudnumberregistry-v1alpha.json index 318548bc14d..22bcedb4493 100644 --- a/discovery/cloudnumberregistry-v1alpha.json +++ b/discovery/cloudnumberregistry-v1alpha.json @@ -1735,7 +1735,7 @@ } } }, - "revision": "20260819", + "revision": "20260826", "rootUrl": "https://cloudnumberregistry.googleapis.com/", "schemas": { "AggregatedData": { @@ -2690,6 +2690,14 @@ }, "type": "array" }, + "claimedScopesInfo": { + "description": "Output only. Detailed scope information corresponding to each entry in `claimed_scopes`.", + "items": { + "$ref": "ScopeInfo" + }, + "readOnly": true, + "type": "array" + }, "createTime": { "description": "Output only. The time at which the RegistryBook was created.", "format": "google-datetime", @@ -2721,6 +2729,28 @@ }, "type": "object" }, + "ScopeInfo": { + "description": "Details of a scope (e.g. project or folder).", + "id": "ScopeInfo", + "properties": { + "displayName": { + "description": "Output only. Human-readable display title of the scope shown in Console (e.g. \"My Cloud Project\"). Used for UI display.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. Programmatic string identifier of the scope (e.g. GCP Project ID \"my-project-id\"). Used for API and code logic.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Resource name of the scope, e.g. \"projects/1234567890\".", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "SearchIpResourcesRequest": { "description": "Request message for the CloudNumberRegistry.SearchIpResources method.", "id": "SearchIpResourcesRequest", @@ -2739,7 +2769,7 @@ "type": "string" }, "query": { - "description": "Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for Ranges are: - `realm`: The Realm name to search in. - `ip_address`: The IP address to search for within Ranges. - `ip_version`: The IP version to filter by (e.g., \"IPV4\", \"IPV6\"). - `parent_range`: The parent Range of the Range to search for. - `attribute_text`: The attribute text to search for within Ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for Realms are: - `ip_version`: The IP version to search for. - `management_type`: The management type of the Realm (e.g., \"CNR\", \"USER\"). Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` - `management_type=CNR`", + "description": "Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for Ranges are: - `resource_id`: The resource ID to search for within Ranges (only substring matching using the format `resource_id=\"*value*\"` is supported). - `realm`: The Realm name to search in. - `ip_address`: The IP address to search for within Ranges. - `ip_version`: The IP version to filter by (e.g., \"IPV4\", \"IPV6\"). - `parent_range`: The parent Range of the Range to search for. - `attribute_text`: The attribute text to search for within Ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for Realms are: - `ip_version`: The IP version to search for. - `management_type`: The management type of the Realm (e.g., \"CNR\", \"USER\"). Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND resource_id=\"*my-range*\"` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` - `management_type=CNR`", "type": "string" }, "searchResourceTypes": { diff --git a/discovery/cloudresourcemanager-v1.json b/discovery/cloudresourcemanager-v1.json index 525ad964684..95ff3363a31 100644 --- a/discovery/cloudresourcemanager-v1.json +++ b/discovery/cloudresourcemanager-v1.json @@ -1171,7 +1171,7 @@ } } }, - "revision": "20251103", + "revision": "20260820", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "Ancestor": { @@ -1400,6 +1400,18 @@ }, "type": "object" }, + "CreateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty.", + "id": "CreateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "CreateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty.", + "id": "CreateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "CreateFolderMetadata": { "description": "Metadata pertaining to the Folder creation process.", "id": "CreateFolderMetadata", @@ -1453,6 +1465,18 @@ "properties": {}, "type": "object" }, + "DeleteBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty.", + "id": "DeleteBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "DeleteCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty.", + "id": "DeleteCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "DeleteFolderMetadata": { "description": "A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`.", "id": "DeleteFolderMetadata", @@ -2045,6 +2069,11 @@ "format": "google-datetime", "type": "string" }, + "isManagementProject": { + "description": "Output only. If `true`, this project is a Management Project. A Management Project manages dedicated project groups for specific purposes (e.g., agent management or app management).", + "readOnly": true, + "type": "boolean" + }, "labels": { "additionalProperties": { "type": "string" @@ -2280,6 +2309,24 @@ "properties": {}, "type": "object" }, + "UpdateBoundaryConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty.", + "id": "UpdateBoundaryConfigMetadata", + "properties": {}, + "type": "object" + }, + "UpdateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty.", + "id": "UpdateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "UpdateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty.", + "id": "UpdateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "UpdateFolderMetadata": { "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateFolder.", "id": "UpdateFolderMetadata", diff --git a/discovery/cloudresourcemanager-v1beta1.json b/discovery/cloudresourcemanager-v1beta1.json index 6a597a5bcba..4f739e3b214 100644 --- a/discovery/cloudresourcemanager-v1beta1.json +++ b/discovery/cloudresourcemanager-v1beta1.json @@ -568,7 +568,7 @@ } } }, - "revision": "20251103", + "revision": "20260820", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "Ancestor": { @@ -718,6 +718,18 @@ }, "type": "object" }, + "CreateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty.", + "id": "CreateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "CreateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty.", + "id": "CreateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "CreateFolderMetadata": { "description": "Metadata pertaining to the Folder creation process.", "id": "CreateFolderMetadata", @@ -771,6 +783,18 @@ "properties": {}, "type": "object" }, + "DeleteBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty.", + "id": "DeleteBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "DeleteCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty.", + "id": "DeleteCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "DeleteFolderMetadata": { "description": "A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`.", "id": "DeleteFolderMetadata", @@ -1112,6 +1136,11 @@ "format": "google-datetime", "type": "string" }, + "isManagementProject": { + "description": "Output only. If `true`, this project is a Management Project. A Management Project manages dedicated project groups for specific purposes (e.g., agent management or app management).", + "readOnly": true, + "type": "boolean" + }, "labels": { "additionalProperties": { "type": "string" @@ -1258,6 +1287,24 @@ "properties": {}, "type": "object" }, + "UpdateBoundaryConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty.", + "id": "UpdateBoundaryConfigMetadata", + "properties": {}, + "type": "object" + }, + "UpdateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty.", + "id": "UpdateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "UpdateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty.", + "id": "UpdateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "UpdateFolderMetadata": { "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateFolder.", "id": "UpdateFolderMetadata", diff --git a/discovery/cloudresourcemanager-v2.json b/discovery/cloudresourcemanager-v2.json index 9c18a4fc38a..c619c2486a3 100644 --- a/discovery/cloudresourcemanager-v2.json +++ b/discovery/cloudresourcemanager-v2.json @@ -450,7 +450,7 @@ } } }, - "revision": "20251103", + "revision": "20260820", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -589,6 +589,18 @@ }, "type": "object" }, + "CreateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty.", + "id": "CreateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "CreateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty.", + "id": "CreateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "CreateFolderMetadata": { "description": "Metadata pertaining to the Folder creation process.", "id": "CreateFolderMetadata", @@ -642,6 +654,18 @@ "properties": {}, "type": "object" }, + "DeleteBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty.", + "id": "DeleteBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "DeleteCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty.", + "id": "DeleteCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "DeleteFolderMetadata": { "description": "A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`.", "id": "DeleteFolderMetadata", @@ -1128,6 +1152,24 @@ "properties": {}, "type": "object" }, + "UpdateBoundaryConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty.", + "id": "UpdateBoundaryConfigMetadata", + "properties": {}, + "type": "object" + }, + "UpdateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty.", + "id": "UpdateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "UpdateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty.", + "id": "UpdateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "UpdateFolderMetadata": { "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateFolder.", "id": "UpdateFolderMetadata", diff --git a/discovery/cloudresourcemanager-v2beta1.json b/discovery/cloudresourcemanager-v2beta1.json index c1a979f2af7..cb91d5bc75a 100644 --- a/discovery/cloudresourcemanager-v2beta1.json +++ b/discovery/cloudresourcemanager-v2beta1.json @@ -450,7 +450,7 @@ } } }, - "revision": "20251103", + "revision": "20260820", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -589,6 +589,18 @@ }, "type": "object" }, + "CreateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty.", + "id": "CreateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "CreateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty.", + "id": "CreateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "CreateFolderMetadata": { "description": "Metadata pertaining to the Folder creation process.", "id": "CreateFolderMetadata", @@ -642,6 +654,18 @@ "properties": {}, "type": "object" }, + "DeleteBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty.", + "id": "DeleteBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "DeleteCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty.", + "id": "DeleteCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "DeleteFolderMetadata": { "description": "A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`.", "id": "DeleteFolderMetadata", @@ -1128,6 +1152,24 @@ "properties": {}, "type": "object" }, + "UpdateBoundaryConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty.", + "id": "UpdateBoundaryConfigMetadata", + "properties": {}, + "type": "object" + }, + "UpdateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty.", + "id": "UpdateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "UpdateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty.", + "id": "UpdateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "UpdateFolderMetadata": { "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateFolder.", "id": "UpdateFolderMetadata", diff --git a/discovery/cloudresourcemanager-v3.json b/discovery/cloudresourcemanager-v3.json index 36fd16ef69a..45e6107cb81 100644 --- a/discovery/cloudresourcemanager-v3.json +++ b/discovery/cloudresourcemanager-v3.json @@ -1994,7 +1994,7 @@ } } }, - "revision": "20260715", + "revision": "20260820", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -2148,6 +2148,18 @@ }, "type": "object" }, + "CreateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty.", + "id": "CreateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "CreateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty.", + "id": "CreateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "CreateFolderMetadata": { "description": "Metadata pertaining to the Folder creation process.", "id": "CreateFolderMetadata", @@ -2201,6 +2213,18 @@ "properties": {}, "type": "object" }, + "DeleteBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty.", + "id": "DeleteBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "DeleteCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty.", + "id": "DeleteCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "DeleteFolderMetadata": { "description": "A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`.", "id": "DeleteFolderMetadata", @@ -2891,6 +2915,11 @@ "readOnly": true, "type": "string" }, + "isManagementProject": { + "description": "Output only. If `true`, this project is a Management Project. A Management Project manages dedicated project groups for specific purposes (e.g., agent management or app management).", + "readOnly": true, + "type": "boolean" + }, "labels": { "additionalProperties": { "type": "string" @@ -3310,6 +3339,24 @@ "properties": {}, "type": "object" }, + "UpdateBoundaryConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty.", + "id": "UpdateBoundaryConfigMetadata", + "properties": {}, + "type": "object" + }, + "UpdateBoundaryMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty.", + "id": "UpdateBoundaryMetadata", + "properties": {}, + "type": "object" + }, + "UpdateCapabilityConfigMetadata": { + "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty.", + "id": "UpdateCapabilityConfigMetadata", + "properties": {}, + "type": "object" + }, "UpdateFolderMetadata": { "description": "A status object which is used as the `metadata` field for the Operation returned by UpdateFolder.", "id": "UpdateFolderMetadata", diff --git a/discovery/cloudtasks-v2.json b/discovery/cloudtasks-v2.json index ed75bbe5d30..a31a005e4e2 100644 --- a/discovery/cloudtasks-v2.json +++ b/discovery/cloudtasks-v2.json @@ -242,6 +242,35 @@ } }, "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "cloudtasks.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" + ] + } + } + }, "queues": { "methods": { "create": { @@ -785,7 +814,7 @@ } } }, - "revision": "20260609", + "revision": "20260831", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { @@ -1134,7 +1163,7 @@ "type": "object" }, "HttpTarget": { - "description": "HTTP target. When specified as a Queue, all the tasks with [HttpRequest] will be overridden according to the target.", + "description": "HTTP target. When specified at the Queue level, all tasks with HttpRequest are overridden according to the target.", "id": "HttpTarget", "properties": { "headerOverrides": { @@ -1301,6 +1330,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, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, "PathOverride": { "description": "PathOverride. Path message defines path override for HTTP targets.", "id": "PathOverride", diff --git a/discovery/cloudtasks-v2beta2.json b/discovery/cloudtasks-v2beta2.json index 60f2dd50d5c..f1f00fc7d94 100644 --- a/discovery/cloudtasks-v2beta2.json +++ b/discovery/cloudtasks-v2beta2.json @@ -1026,7 +1026,7 @@ } } }, - "revision": "20260722", + "revision": "20260831", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AcknowledgeTaskRequest": { @@ -1464,7 +1464,7 @@ "type": "object" }, "HttpTarget": { - "description": "HTTP target. When specified as a Queue, all the tasks with [HttpRequest] will be overridden according to the target.", + "description": "HTTP target. When specified at the Queue level, all tasks with HttpRequest are overridden according to the target.", "id": "HttpTarget", "properties": { "headerOverrides": { diff --git a/discovery/cloudtasks-v2beta3.json b/discovery/cloudtasks-v2beta3.json index 1bbe238d4f4..5067c08391e 100644 --- a/discovery/cloudtasks-v2beta3.json +++ b/discovery/cloudtasks-v2beta3.json @@ -882,7 +882,7 @@ } } }, - "revision": "20260722", + "revision": "20260831", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { @@ -1282,7 +1282,7 @@ "type": "object" }, "HttpTarget": { - "description": "HTTP target. When specified as a Queue, all the tasks with [HttpRequest] will be overridden according to the target.", + "description": "HTTP target. When specified at the Queue level, all tasks with HttpRequest are overridden according to the target.", "id": "HttpTarget", "properties": { "headerOverrides": { diff --git a/discovery/composer-v1.json b/discovery/composer-v1.json index 66f57270f30..71e2cb57e9c 100644 --- a/discovery/composer-v1.json +++ b/discovery/composer-v1.json @@ -1278,7 +1278,7 @@ } } }, - "revision": "20260622", + "revision": "20260825", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -1645,6 +1645,18 @@ "description": "Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size.", "type": "object" }, + "mode": { + "description": "Optional. Selects the environment mode that determines what settings are customizable and what features are available in the environment.", + "enum": [ + "MODE_UNSPECIFIED", + "DEVELOPMENT" + ], + "enumDescriptions": [ + "Represents the default mode, which allows full customization of the environment. It should be used for all production and customized test environments.", + "Represents the development mode, which has constraints on the environment configuration, but offers an additional feature (environment hibernation). It should be used only for test environments." + ], + "type": "string" + }, "name": { "description": "Identifier. The resource name of the environment, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", "type": "string" @@ -1666,6 +1678,7 @@ "CREATING", "RUNNING", "UPDATING", + "HIBERNATED", "DELETING", "ERROR" ], @@ -1674,6 +1687,7 @@ "The environment is in the process of being created.", "The environment is currently running and healthy. It is ready for use.", "The environment is being updated. It remains usable but cannot receive additional update requests or be deleted at this time.", + "The environment is currently hibernated. It does not run any DAGs.", "The environment is undergoing deletion. It cannot be used.", "The environment has encountered an error and cannot be used." ], @@ -2289,7 +2303,9 @@ "SAVE_SNAPSHOT", "LOAD_SNAPSHOT", "DATABASE_FAILOVER", - "MIGRATE" + "MIGRATE", + "HIBERNATE", + "RESUME" ], "enumDescriptions": [ "Unused.", @@ -2300,7 +2316,9 @@ "Saves snapshot of the resource operation.", "Loads snapshot of the resource operation.", "Triggers failover of environment's Cloud SQL instance (only for highly resilient environments).", - "Migrates resource to a new major version." + "Migrates resource to a new major version.", + "Hibernates a resource.", + "Resumes a resource." ], "type": "string" }, diff --git a/discovery/composer-v1beta1.json b/discovery/composer-v1beta1.json index 5161635411c..86c2e41a5da 100644 --- a/discovery/composer-v1beta1.json +++ b/discovery/composer-v1beta1.json @@ -545,6 +545,35 @@ "https://www.googleapis.com/auth/cloudcomposer.readonly" ] }, + "hibernate": { + "description": "Hibernates (pauses) a running environment. It requests the environment to switch to the HIBERNATED state, keeping its data and minimizing cost, but not running any DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:hibernate", + "httpMethod": "POST", + "id": "composer.projects.locations.environments.hibernate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the environment to hibernate, in the form: \"projects/{project}/locations/{location}/environments/{environment}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:hibernate", + "request": { + "$ref": "HibernateEnvironmentRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudcomposer" + ] + }, "list": { "description": "List environments.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments", @@ -706,6 +735,35 @@ "https://www.googleapis.com/auth/cloudcomposer" ] }, + "resume": { + "description": "Resumes (unpauses) a hibernated environment. It requests the environment to switch to the RUNNING state, so that it is ready to use and run DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:resume", + "httpMethod": "POST", + "id": "composer.projects.locations.environments.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the environment to resume, in the form: \"projects/{project}/locations/{location}/environments/{environment}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:resume", + "request": { + "$ref": "ResumeEnvironmentRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudcomposer" + ] + }, "saveSnapshot": { "description": "Creates a snapshots of a Cloud Composer environment. As a result of this operation, snapshot of environment's state is stored in a location specified in the SaveSnapshotRequest.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:saveSnapshot", @@ -1278,7 +1336,7 @@ } } }, - "revision": "20260622", + "revision": "20260825", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -1652,6 +1710,18 @@ "description": "Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size.", "type": "object" }, + "mode": { + "description": "Optional. Selects the environment mode that determines what settings are customizable and what features are available in the environment.", + "enum": [ + "MODE_UNSPECIFIED", + "DEVELOPMENT" + ], + "enumDescriptions": [ + "Represents the default mode, which allows full customization of the environment. It should be used for all production and customized test environments.", + "Represents the development mode, which has constraints on the environment configuration, but offers an additional feature (environment hibernation). It should be used only for test environments." + ], + "type": "string" + }, "name": { "description": "Identifier. The resource name of the environment, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", "type": "string" @@ -1673,6 +1743,7 @@ "CREATING", "RUNNING", "UPDATING", + "HIBERNATED", "DELETING", "ERROR" ], @@ -1681,6 +1752,7 @@ "The environment is in the process of being created.", "The environment is currently running and healthy. It is ready for use.", "The environment is being updated. It remains usable but cannot receive additional update requests or be deleted at this time.", + "The environment is currently hibernated. It does not run any DAGs.", "The environment is undergoing deletion. It cannot be used.", "The environment has encountered an error and cannot be used." ], @@ -1894,6 +1966,12 @@ }, "type": "object" }, + "HibernateEnvironmentRequest": { + "description": "Request to hibernate a Composer environment.", + "id": "HibernateEnvironmentRequest", + "properties": {}, + "type": "object" + }, "IPAllocationPolicy": { "description": "Configuration for controlling how IPs are allocated in the GKE cluster.", "id": "IPAllocationPolicy", @@ -2310,7 +2388,9 @@ "SAVE_SNAPSHOT", "LOAD_SNAPSHOT", "DATABASE_FAILOVER", - "MIGRATE" + "MIGRATE", + "HIBERNATE", + "RESUME" ], "enumDescriptions": [ "Unused.", @@ -2321,7 +2401,9 @@ "Saves snapshot of the resource operation.", "Loads snapshot of the resource operation.", "Triggers failover of environment's Cloud SQL instance (only for highly resilient environments).", - "Migrates resource to a new major version." + "Migrates resource to a new major version.", + "Hibernates a resource.", + "Resumes a resource." ], "type": "string" }, @@ -2504,6 +2586,12 @@ "properties": {}, "type": "object" }, + "ResumeEnvironmentRequest": { + "description": "Request to resume a Composer environment.", + "id": "ResumeEnvironmentRequest", + "properties": {}, + "type": "object" + }, "SaveSnapshotRequest": { "description": "Request to create a snapshot of a Cloud Composer environment.", "id": "SaveSnapshotRequest", diff --git a/discovery/compute-alpha.json b/discovery/compute-alpha.json index 723f4e5f041..49ee557c3e2 100644 --- a/discovery/compute-alpha.json +++ b/discovery/compute-alpha.json @@ -1245,7 +1245,7 @@ ] }, "calendarModeExtension": { - "description": "Advise on whether extending an existing Future Reservation is possible\nbased on the desired extension end time. If capacity is not available for\nthe entire requested duration, the method will recommend the longest\npossible extension.", + "description": "Advises on whether extending an existing future reservation is possible\nbased on the desired extension end time. If capacity isn't available for\nthe entire requested duration, the method recommends the longest possible\nextension.", "flatPath": "projects/{project}/regions/{region}/advice/calendarModeExtension", "httpMethod": "POST", "id": "compute.advice.calendarModeExtension", @@ -58435,7 +58435,7 @@ } } }, - "revision": "20260821", + "revision": "20260828", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -63042,6 +63042,10 @@ "description": "The URL of the network to which this backend service belongs.\n\nThis field must be set for Internal Passthrough Network Load Balancers when\nthe haPolicy is enabled, and for External Passthrough Network Load\nBalancers when the haPolicy fastIpMove is enabled.\n\nThis field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled.", "type": "string" }, + "networkAttachment": { + "description": "Optional. The URL of the network attachment that this resource\nbelongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}.", + "type": "string" + }, "networkPassThroughLbTrafficPolicy": { "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", "description": "Configures traffic steering properties of internal passthrough Network\nLoad Balancers.\n\nnetworkPassThroughLbTrafficPolicy cannot be specified with haPolicy." @@ -63125,6 +63129,10 @@ }, "type": "array" }, + "serviceClassId": { + "description": "Optional. The service class ID associated with this resource.\nProducer Service's Service class ID for the region of this backend\nservice. Can only be used with network_attachment. It is not possible to\nuse on its own; however, network_attachment can be used without\nservice_class_id.", + "type": "string" + }, "serviceLbPolicy": { "description": "URL to networkservices.ServiceLbPolicy resource.\n\nCan only be set if load balancing scheme is EXTERNAL_MANAGED,\nINTERNAL_MANAGED or INTERNAL_SELF_MANAGED for a global backend service, and\nEXTERNAL_MANAGED or INTERNAL_MANAGED for a regional backend service. For a\nglobal backend service, the service lb policy must be global. For a\nregional backend service, the service lb policy must be regional and in the\nsame region.", "type": "string" @@ -63652,7 +63660,7 @@ "id": "BackendServiceHAPolicyLeaderNetworkEndpoint", "properties": { "instance": { - "description": "The name of the VM instance of the leader network endpoint. The\ninstance must already be attached to the NEG specified in the\nhaPolicy.leader.backendGroup.\n\nThe name must be 1-63 characters long, and comply with RFC1035.\nAuthorization requires the following IAM permission on the\nspecified resource instance: compute.instances.use", + "description": "The name of the VM instance of the leader network endpoint. The\ninstance must already be attached to the NEG specified in the\nhaPolicy.leader.backendGroup.\n\nThe value must be a valid RFC1035 name (1-63 characters) or a valid\ninstance URL.\nAuthorization requires the following IAM permission on the\nspecified resource instance: compute.instances.use", "type": "string" } }, @@ -65238,36 +65246,36 @@ "type": "object" }, "CalendarModeExtensionAdviceRequest": { - "description": "A request to recommend the best duration for extending an existing\nFuture Reservation in CALENDAR mode, that is equal or less than the specified\nextension duration.", + "description": "A request to recommend the maximum duration for extending an existing future\nreservation in calendar mode. The recommended duration is shorter than or\nequal to the specified extension duration.", "id": "CalendarModeExtensionAdviceRequest", "properties": { "endTimeNotLaterThan": { - "description": "Required. The desired end time after the Future Reservation is extended.", + "description": "Required. The desired end time for the extension.", "format": "google-datetime", "type": "string" }, "futureReservation": { - "description": "Required. Reference to the Future Reservation, in the format:\nprojects/{project}/zones/{zone}/futureReservations/{name}\nFull URIs that include hostnames (like compute.googleapis.com or\nwww.googleapis.com) are also supported.", + "description": "Required. Reference to the future reservation, in the format:\nprojects/{project}/zones/{zone}/futureReservations/{name}\nFull URIs that include hostnames (like compute.googleapis.com or\nwww.googleapis.com) are also supported.", "type": "string" } }, "type": "object" }, "CalendarModeExtensionAdviceResponse": { - "description": "A response containing the recommended duration to extend a\nFuture Reservation in CALENDAR mode based on the available capacity during\nthe extension period.", + "description": "A response that contains the recommended duration for extending\na future reservation in calendar mode based on available capacity\nduring the extension period.", "id": "CalendarModeExtensionAdviceResponse", "properties": { "endTime": { - "description": "The recommended end time for the extension, which will either be\nthe end time requested by the caller or the longest alternative for\nwhich there is sufficient capacity. If extension is not possible, this\nfield will be empty, and not_recommended_reason will be populated instead.", + "description": "The recommended end time for the extension, which is either the end time\nrequested by the caller or the longest alternative with sufficient\ncapacity. If the extension is not possible, this field is empty, and\nnotRecommendedReason is populated instead.", "format": "google-datetime", "type": "string" }, "notRecommendedReason": { "$ref": "CalendarModeExtensionAdviceResponseNotRecommendedReason", - "description": "Information regarding the reason why the Future Reservation\ncannot be extended at all. If a recommendation is provided, whether that is\nthe requested end time or an alternative, this field will be empty." + "description": "The reason why the future reservation can't be extended. If a\nrecommendation is provided, whether for the requested end time or an\nalternative, this field is empty." }, "recommendationId": { - "description": "Unique id of the recommendation, a UUID string generated by the API.", + "description": "The unique ID of the recommendation, which is a UUID string generated by\nthe API.", "type": "string" } }, @@ -65278,7 +65286,7 @@ "id": "CalendarModeExtensionAdviceResponseNotRecommendedReason", "properties": { "details": { - "description": "Details (human readable) describing why the recommendation\nwas not provided. For example, if the status is CONDITION_NOT_MET,\nthen this field will contain information about why the requested\nextension duration is not eligible.", + "description": "Human-readable details describing why the recommendation wasn't provided.\nFor example, if the status is CONDITIONS_NOT_MET, this field explains why\nthe requested extension duration isn't possible.", "type": "string" }, "status": { @@ -65289,7 +65297,7 @@ "NO_CAPACITY" ], "enumDescriptions": [ - "The requested extension window does not meet the\nrequired conditions.", + "The requested extension window doesn't meet the\nrequired conditions.", "Default value, unused.", "There is no available capacity for the extension to be provided." ], @@ -65377,7 +65385,7 @@ "Picks zones for creating VM instances to fulfill the requested number\nof VMs within present resource constraints.", "Creates all VM instances within a single zone. The zone is selected\nbased on the present resource constraints.", "Prioritizes acquisition of resources, scheduling VMs in zones where\nresources are available while distributing VMs as evenly as possible\nacross selected zones to minimize the impact of zonal failure.", - "" + "Default value, unused." ], "type": "string" }, @@ -65624,7 +65632,7 @@ "PRICE" ], "enumDescriptions": [ - "", + "Default value, unused.", "Preemption history.", "Price history." ], @@ -69923,6 +69931,25 @@ }, "type": "object" }, + "DynamicCompressionPolicy": { + "description": "Dynamic compression policy for this URL Map's route.", + "id": "DynamicCompressionPolicy", + "properties": { + "compressionMode": { + "description": "Compress text responses using Brotli or gzip compression, based on\nthe client's Accept-Encoding header.", + "enum": [ + "AUTOMATIC", + "DISABLED" + ], + "enumDescriptions": [ + "Automatically uses the best compression based on the Accept-Encoding\nheader sent by the client.", + "Disables compression. Existing compressed responses cached by\nCloud CDN will not be served to clients." + ], + "type": "string" + } + }, + "type": "object" + }, "ErrorInfo": { "description": "Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }", "id": "ErrorInfo", @@ -72215,6 +72242,10 @@ "description": "This field is not used for global external load balancing.\n\nFor internal passthrough Network Load Balancers, this field identifies the\nnetwork that the load balanced IP should belong to for this forwarding\nrule.\nIf the subnetwork is specified, the network of the subnetwork will be used.\nIf neither subnetwork nor this field is specified, the default network will\nbe used.\n\nFor Private Service Connect forwarding rules that forward traffic to Google\nAPIs, a network must be provided.", "type": "string" }, + "networkAttachment": { + "description": "Optional. The URL of the network attachment that this resource\nbelongs to.projects/{project}/regions/{region_name}/networkAttachments/{network_attachment_name}.", + "type": "string" + }, "networkTier": { "description": "This signifies the networking tier used for configuring\nthis load balancer and can only take the following values:PREMIUM, STANDARD.\n\nFor regional ForwardingRule, the valid values are PREMIUM andSTANDARD. For GlobalForwardingRule, the valid value isPREMIUM.\n\nIf this field is not specified, it is assumed to be PREMIUM.\nIf IPAddress is specified, this value must be equal to the\nnetworkTier of the Address.", "enum": [ @@ -72294,6 +72325,10 @@ "readOnly": true, "type": "string" }, + "serviceClassId": { + "description": "Optional. Producer Service's Service class ID for the region of this forwarding rule.\nCan only be used with network_attachment. It is not possible to use on its\nown; however, network_attachment can be used without service_class_id.", + "type": "string" + }, "serviceDirectoryRegistrations": { "description": "Service Directory resources to register this forwarding rule with.\nCurrently, only supports a single Service Directory resource.", "items": { @@ -75307,6 +75342,7 @@ "description": "The ID of a supported feature. To add multiple values, use commas to\nseparate values. Set to one or more of the following values:\n \n - VIRTIO_SCSI_MULTIQUEUE\n - WINDOWS\n - MULTI_IP_SUBNET\n - UEFI_COMPATIBLE\n - GVNIC\n - SEV_CAPABLE\n - SUSPEND_RESUME_COMPATIBLE\n - SEV_LIVE_MIGRATABLE_V2\n - SEV_SNP_CAPABLE\n - TDX_CAPABLE\n - IDPF\n - SNP_SVSM_CAPABLE\n - CCA_CAPABLE\n - SUSPEND_SAFE_FPR\n\n\nFor more information, see\nEnabling guest operating system features.", "enum": [ "BARE_METAL_LINUX_COMPATIBLE", + "BMSAI_CAPABLE", "CCA_CAPABLE", "FEATURE_TYPE_UNSPECIFIED", "GVNIC", @@ -75326,6 +75362,7 @@ ], "enumDescriptions": [ "", + "Indicates the guest OS is capable of Bare Metal Secure AI (BMSAI)\nconfidential computing.", "", "", "", @@ -79827,6 +79864,10 @@ "$ref": "CorsPolicy", "description": "The specification for allowing client-side cross-origin requests. For more\ninformation about the W3C recommendation for cross-origin resource sharing\n(CORS), see Fetch API Living\nStandard.\n\nNot supported when the URL map is bound to a target gRPC proxy." }, + "dynamicCompressionPolicy": { + "$ref": "DynamicCompressionPolicy", + "description": "Dynamic compression policy for this URL Map's route. Available only for\nGlobal EXTERNAL_MANAGED load balancer schemes." + }, "faultInjectionPolicy": { "$ref": "HttpFaultInjection", "description": "The specification for fault injection introduced into traffic to test\nthe resiliency of clients to backend service failure. As part of fault\ninjection, when clients send requests to a backend service, delays can be\nintroduced by a load balancer on a percentage of requests before sending\nthose requests to the backend service. Similarly requests from clients can\nbe aborted by the load balancer for a percentage of requests.timeout and retry_policy is ignored by clients\nthat are configured with a fault_injection_policy if:\n1. The traffic is generated by fault injection AND\n2. The fault injection is not a delay fault injection.\nFault injection is not supported with the classic Application Load Balancer\n. To see which load balancers support fault injection,\nsee Load\nbalancing: Routing and traffic management features." @@ -95941,6 +95982,14 @@ "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}/[0-9]{1,2}", "type": "string" }, + "additionalTags": { + "description": "Output only. [Output Only] Additional tags for this resource.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "autoCreateSubnetworks": { "description": "Must be set to create a VPC network. If not set, a legacy network is\ncreated.\n\nWhen set to true, the VPC network is created in auto mode.\nWhen 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\nhas a predetermined range as described inAuto mode VPC network IP ranges.\n\nFor custom mode VPC networks, you can add subnets using the subnetworksinsert\nmethod.", "type": "boolean" @@ -115179,6 +115228,11 @@ "description": "[Output Only] The ID of the host on which the running instance is located.\nInstances on the same host experience the lowest possible network\nlatency.", "type": "string" }, + "machine": { + "description": "Output only. [Output Only] The ID of the machine on which the running instance is\nlocated. It is only populated for machines which have multiple hosts.", + "readOnly": true, + "type": "string" + }, "subblock": { "description": "[Output Only] The ID of the sub-block in which the running instance is\nlocated. Instances in the same sub-block experience lower network latency\nthan instances in the same block.", "type": "string" diff --git a/discovery/compute-beta.json b/discovery/compute-beta.json index 9a7c9013661..835e780b7bd 100644 --- a/discovery/compute-beta.json +++ b/discovery/compute-beta.json @@ -966,6 +966,43 @@ "https://www.googleapis.com/auth/compute" ] }, + "calendarModeExtension": { + "description": "Advises on whether extending an existing future reservation is possible\nbased on the desired extension end time. If capacity isn't available for\nthe entire requested duration, the method recommends the longest possible\nextension.", + "flatPath": "projects/{project}/regions/{region}/advice/calendarModeExtension", + "httpMethod": "POST", + "id": "compute.advice.calendarModeExtension", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/advice/calendarModeExtension", + "request": { + "$ref": "CalendarModeExtensionAdviceRequest" + }, + "response": { + "$ref": "CalendarModeExtensionAdviceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "capacity": { "description": "Advice on making real-time decisions (such as choosing zone or\nmachine types) during deployment to maximize your chances of obtaining\ncapacity.", "flatPath": "projects/{project}/regions/{region}/advice/capacity", @@ -3017,53 +3054,26 @@ } } }, - "diskSettings": { + "dhcpOptionsConfigs": { "methods": { - "get": { - "description": "Get Zonal Disk Settings.", - "flatPath": "projects/{project}/zones/{zone}/diskSettings", - "httpMethod": "GET", - "id": "compute.diskSettings.get", + "delete": { + "description": "Deletes the specified DhcpOptionsConfig in the given location", + "flatPath": "projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}", + "httpMethod": "DELETE", + "id": "compute.dhcpOptionsConfigs.delete", "parameterOrder": [ "project", - "zone" + "region", + "dhcpOptionsConfig" ], "parameters": { - "project": { - "description": "Project ID for this request.", + "dhcpOptionsConfig": { + "description": "Name of the DhcpOptionsConfig resource to delete.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/diskSettings", - "response": { - "$ref": "DiskSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "patch": { - "description": "Patch Zonal Disk Settings", - "flatPath": "projects/{project}/zones/{zone}/diskSettings", - "httpMethod": "PATCH", - "id": "compute.diskSettings.patch", - "parameterOrder": [ - "project", - "zone" - ], - "parameters": { "project": { "description": "Project ID for this request.", "location": "path", @@ -3071,120 +3081,41 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(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.", + "region": { + "description": "Name of the region of this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/diskSettings", - "request": { - "$ref": "DiskSettings" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - } - } - }, - "diskTypes": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of disk types.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/diskTypes", - "httpMethod": "GET", - "id": "compute.diskTypes.aggregatedList", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", - "location": "query", - "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region,\nglobal) should be included in the response. For new resource types added\nafter this field, the flag has no effect as new resource types will always\ninclude every visible scope for each scope type in response. For resource\ntypes which predate this field, if this flag is omitted or false, only\nscopes of the scope types where the resource type is expected to be found\nwill be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).\nend_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" } }, - "path": "projects/{project}/aggregated/diskTypes", + "path": "projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}", "response": { - "$ref": "DiskTypeAggregatedList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "get": { - "description": "Returns the specified disk type.", - "flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}", + "description": "Returns the specified DhcpOptionsConfig resource in the given location.", + "flatPath": "projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}", "httpMethod": "GET", - "id": "compute.diskTypes.get", + "id": "compute.dhcpOptionsConfigs.get", "parameterOrder": [ "project", - "zone", - "diskType" + "region", + "dhcpOptionsConfig" ], "parameters": { - "diskType": { - "description": "Name of the disk type to return.", + "dhcpOptionsConfig": { + "description": "Name of the DhcpOptionsConfig resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -3197,17 +3128,17 @@ "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "region": { + "description": "Name of the region of this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/diskTypes/{diskType}", + "path": "projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}", "response": { - "$ref": "DiskType" + "$ref": "DhcpOptionsConfig" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -3215,39 +3146,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "list": { - "description": "Retrieves a list of disk types available to the specified\nproject.", - "flatPath": "projects/{project}/zones/{zone}/diskTypes", - "httpMethod": "GET", - "id": "compute.diskTypes.list", + "insert": { + "description": "Creates a DhcpOptionsConfig in the specified project in the given location\nusing the parameters that are included in the request.", + "flatPath": "projects/{project}/regions/{region}/dhcpOptionsConfigs", + "httpMethod": "POST", + "id": "compute.dhcpOptionsConfigs.insert", "parameterOrder": [ "project", - "zone" + "region" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -3255,74 +3163,22 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "The name of the zone for this request.", + "region": { + "description": "Name of the region of this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/diskTypes", - "response": { - "$ref": "DiskTypeList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "disks": { - "methods": { - "addResourcePolicies": { - "description": "Adds existing resource policies to a disk. You can only add one\npolicy which will be applied to this disk for scheduling snapshot\ncreation.", - "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", - "httpMethod": "POST", - "id": "compute.disks.addResourcePolicies", - "parameterOrder": [ - "project", - "zone", - "disk" - ], - "parameters": { - "disk": { - "description": "The disk name for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).\nend_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", + "path": "projects/{project}/regions/{region}/dhcpOptionsConfigs", "request": { - "$ref": "DisksAddResourcePoliciesRequest" + "$ref": "DhcpOptionsConfig" }, "response": { "$ref": "Operation" @@ -3332,13 +3188,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "aggregatedList": { - "description": "Retrieves an aggregated list of persistent disks.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/disks", + "list": { + "description": "Lists the DhcpOptionsConfigs for a project in the given location.", + "flatPath": "projects/{project}/regions/{region}/dhcpOptionsConfigs", "httpMethod": "GET", - "id": "compute.disks.aggregatedList", + "id": "compute.dhcpOptionsConfigs.list", "parameterOrder": [ - "project" + "project", + "region" ], "parameters": { "filter": { @@ -3346,11 +3203,492 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region,\nglobal) should be included in the response. For new resource types added\nafter this field, the flag has no effect as new resource types will always\ninclude every visible scope for each scope type in response. For resource\ntypes which predate this field, if this flag is omitted or false, only\nscopes of the scope types where the resource type is expected to be found\nwill be included.", - "location": "query", - "type": "boolean" - }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/dhcpOptionsConfigs", + "response": { + "$ref": "DhcpOptionsConfigList" + }, + "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 DhcpOptionsConfig resource with the data included in\nthe request. This method supports PATCH\nsemantics and usesJSON merge\npatch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}", + "httpMethod": "PATCH", + "id": "compute.dhcpOptionsConfigs.patch", + "parameterOrder": [ + "project", + "region", + "dhcpOptionsConfig" + ], + "parameters": { + "dhcpOptionsConfig": { + "description": "Name of the DhcpOptionsConfig resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).\nend_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}", + "request": { + "$ref": "DhcpOptionsConfig" + }, + "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}/dhcpOptionsConfigs/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.dhcpOptionsConfigs.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}/dhcpOptionsConfigs/{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" + ] + } + } + }, + "diskSettings": { + "methods": { + "get": { + "description": "Get Zonal Disk Settings.", + "flatPath": "projects/{project}/zones/{zone}/diskSettings", + "httpMethod": "GET", + "id": "compute.diskSettings.get", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/diskSettings", + "response": { + "$ref": "DiskSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Patch Zonal Disk Settings", + "flatPath": "projects/{project}/zones/{zone}/diskSettings", + "httpMethod": "PATCH", + "id": "compute.diskSettings.patch", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/diskSettings", + "request": { + "$ref": "DiskSettings" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, + "diskTypes": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of disk types.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/diskTypes", + "httpMethod": "GET", + "id": "compute.diskTypes.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region,\nglobal) should be included in the response. For new resource types added\nafter this field, the flag has no effect as new resource types will always\ninclude every visible scope for each scope type in response. For resource\ntypes which predate this field, if this flag is omitted or false, only\nscopes of the scope types where the resource type is expected to be found\nwill be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which\naggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/diskTypes", + "response": { + "$ref": "DiskTypeAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "get": { + "description": "Returns the specified disk type.", + "flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}", + "httpMethod": "GET", + "id": "compute.diskTypes.get", + "parameterOrder": [ + "project", + "zone", + "diskType" + ], + "parameters": { + "diskType": { + "description": "Name of the disk type to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/diskTypes/{diskType}", + "response": { + "$ref": "DiskType" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Retrieves a list of disk types available to the specified\nproject.", + "flatPath": "projects/{project}/zones/{zone}/diskTypes", + "httpMethod": "GET", + "id": "compute.diskTypes.list", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/diskTypes", + "response": { + "$ref": "DiskTypeList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "disks": { + "methods": { + "addResourcePolicies": { + "description": "Adds existing resource policies to a disk. You can only add one\npolicy which will be applied to this disk for scheduling snapshot\ncreation.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", + "httpMethod": "POST", + "id": "compute.disks.addResourcePolicies", + "parameterOrder": [ + "project", + "zone", + "disk" + ], + "parameters": { + "disk": { + "description": "The disk name for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies", + "request": { + "$ref": "DisksAddResourcePoliciesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "aggregatedList": { + "description": "Retrieves an aggregated list of persistent disks.\n\nTo prevent failure, it is recommended that you set the\n`returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/disks", + "httpMethod": "GET", + "id": "compute.disks.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region,\nglobal) should be included in the response. For new resource types added\nafter this field, the flag has no effect as new resource types will always\ninclude every visible scope for each scope type in response. For resource\ntypes which predate this field, if this flag is omitted or false, only\nscopes of the scope types where the resource type is expected to be found\nwill be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", @@ -7029,6 +7367,72 @@ } } }, + "globalFrontendSettings": { + "methods": { + "get": { + "description": "Gets the Global Frontend Billing Bundle Settings for a project.", + "flatPath": "projects/{project}/global/globalFrontendSettings", + "httpMethod": "GET", + "id": "compute.globalFrontendSettings.get", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/globalFrontendSettings", + "response": { + "$ref": "GlobalFrontendSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Updates the Global Frontend Billing Bundle Settings for a project.", + "flatPath": "projects/{project}/global/globalFrontendSettings", + "httpMethod": "PATCH", + "id": "compute.globalFrontendSettings.patch", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "e.g., \"type\"", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/globalFrontendSettings", + "request": { + "$ref": "GlobalFrontendSettings" + }, + "response": { + "$ref": "GlobalFrontendSettingsPatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "globalNetworkEndpointGroups": { "methods": { "attachNetworkEndpoints": { @@ -13591,6 +13995,57 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getVmExtensionState": { + "description": "Retrieves details of a specific VM extension state.\nThis is a read-only API.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/vmExtensionStates/{extensionName}", + "httpMethod": "GET", + "id": "compute.instances.getVmExtensionState", + "parameterOrder": [ + "project", + "zone", + "instance", + "extensionName" + ], + "parameters": { + "extensionName": { + "description": "The name of the extension to get the state for.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "instance": { + "description": "Name or id of the instance resource.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "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}/instances/{instance}/vmExtensionStates/{extensionName}", + "response": { + "$ref": "VmExtensionState" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { "description": "Creates an instance resource in the specified project using the data\nincluded in the request.", "flatPath": "projects/{project}/zones/{zone}/instances", @@ -13792,6 +14247,77 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "listVmExtensionStates": { + "description": "Lists all VM extensions states for a specific instance.\nThis is a read-only API.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/vmExtensionStates", + "httpMethod": "GET", + "id": "compute.instances.listVmExtensionStates", + "parameterOrder": [ + "project", + "zone", + "instance" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "instance": { + "description": "Name of the target 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" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "Required. 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}/vmExtensionStates", + "response": { + "$ref": "ListVmExtensionStatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "patchPartnerMetadata": { "description": "Patches partner metadata of the specified instance.", "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata", @@ -24426,6 +24952,71 @@ } } }, + "organizationSnapshotRecycleBinPolicy": { + "methods": { + "get": { + "description": "Returns the specified SnapshotRecycleBinPolicy.", + "flatPath": "organizations/{organizationsId}/global/snapshotRecycleBinPolicy", + "httpMethod": "GET", + "id": "compute.organizationSnapshotRecycleBinPolicy.get", + "parameterOrder": [ + "organization" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + } + }, + "path": "{+organization}/global/snapshotRecycleBinPolicy", + "response": { + "$ref": "SnapshotRecycleBinPolicy" + }, + "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 SnapshotRecycleBinPolicy.", + "flatPath": "organizations/{organizationsId}/global/snapshotRecycleBinPolicy", + "httpMethod": "PATCH", + "id": "compute.organizationSnapshotRecycleBinPolicy.patch", + "parameterOrder": [ + "organization" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{+organization}/global/snapshotRecycleBinPolicy", + "request": { + "$ref": "SnapshotRecycleBinPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "packetMirrorings": { "methods": { "aggregatedList": { @@ -26193,6 +26784,300 @@ } } }, + "recoverableSnapshots": { + "methods": { + "delete": { + "description": "Deletes the specified RecoverableSnapshot. Deleting a recoverable snapshot\nwill delete the underlying PD snapshot and is irreversible.", + "flatPath": "projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}", + "httpMethod": "DELETE", + "id": "compute.recoverableSnapshots.delete", + "parameterOrder": [ + "project", + "recoverableSnapshot" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "recoverableSnapshot": { + "description": "Name of the recoverable Snapshot resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified RecoverableSnapshot resource.", + "flatPath": "projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}", + "httpMethod": "GET", + "id": "compute.recoverableSnapshots.get", + "parameterOrder": [ + "project", + "recoverableSnapshot" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "recoverableSnapshot": { + "description": "Name of the Snapshot resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}", + "response": { + "$ref": "RecoverableSnapshot" + }, + "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\npolicy or resource exists.", + "flatPath": "projects/{project}/global/recoverableSnapshots/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.recoverableSnapshots.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/recoverableSnapshots/{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" + ] + }, + "list": { + "description": "Retrieves a list of all of the RecoverableSnapshots in your project.", + "flatPath": "projects/{project}/global/recoverableSnapshots", + "httpMethod": "GET", + "id": "compute.recoverableSnapshots.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/recoverableSnapshots", + "response": { + "$ref": "RecoverableSnapshotList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "recover": { + "description": "Recovers the specified RecoverableSnapshot.", + "flatPath": "projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}/recover", + "httpMethod": "POST", + "id": "compute.recoverableSnapshots.recover", + "parameterOrder": [ + "project", + "recoverableSnapshot" + ], + "parameters": { + "project": { + "description": "Project Id of the request", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "recoverableSnapshot": { + "description": "Name of the recoverable resource to recover", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "snapshotName": { + "description": "Optional. Name of the snapshot after the recovery\nThe name will be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name will be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter will be a lowercase letter, and all following characters can be\na dash, lowercase letter, or digit, except the last character, which cannot\nbe a dash.", + "location": "query", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + } + }, + "path": "projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}/recover", + "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.\nReplaces any existing policy.", + "flatPath": "projects/{project}/global/recoverableSnapshots/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.recoverableSnapshots.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/recoverableSnapshots/{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/recoverableSnapshots/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.recoverableSnapshots.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/recoverableSnapshots/{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" + ] + } + } + }, "regionAutoscalers": { "methods": { "delete": { @@ -37985,47 +38870,311 @@ "location": "query", "type": "string" }, - "sslPolicy": { - "description": "Name of the SSL policy to delete. The name must be 1-63 characters long,\nand 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 delete. The name must be 1-63 characters long,\nand 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,\nand 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" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.regionSslPolicies.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}/sslPolicies/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a new policy in the specified project and region using the data\nincluded 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\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(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\nproject and region.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies", + "httpMethod": "GET", + "id": "compute.regionSslPolicies.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/sslPolicies", + "response": { + "$ref": "SslPoliciesList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listAvailableFeatures": { + "description": "Lists all features that can be specified in the SSL policy when using\ncustom profile.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", + "httpMethod": "GET", + "id": "compute.regionSslPolicies.listAvailableFeatures", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", + "response": { + "$ref": "SslPoliciesListAvailableFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Patches the specified SSL policy with the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "httpMethod": "PATCH", + "id": "compute.regionSslPolicies.patch", + "parameterOrder": [ + "project", + "region", + "sslPolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(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,\nand comply with RFC1035.", "location": "path", @@ -38034,46 +39183,6 @@ } }, "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\nincluded 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\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/sslPolicies", "request": { "$ref": "SslPolicy" }, @@ -38085,141 +39194,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Lists all the SSL policies that have been configured for the specified\nproject and region.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies", - "httpMethod": "GET", - "id": "compute.regionSslPolicies.list", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", - "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/regions/{region}/sslPolicies", - "response": { - "$ref": "SslPoliciesList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "listAvailableFeatures": { - "description": "Lists all features that can be specified in the SSL policy when using\ncustom profile.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", - "httpMethod": "GET", - "id": "compute.regionSslPolicies.listAvailableFeatures", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`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\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe 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\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", - "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", - "response": { - "$ref": "SslPoliciesListAvailableFeaturesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "patch": { - "description": "Patches the specified SSL policy with the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", - "httpMethod": "PATCH", - "id": "compute.regionSslPolicies.patch", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionSslPolicies.setIamPolicy", "parameterOrder": [ "project", "region", - "sslPolicy" + "resource" ], "parameters": { "project": { @@ -38230,30 +39213,26 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "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\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(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,\nand comply with RFC1035.", + "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/{sslPolicy}", + "path": "projects/{project}/regions/{region}/sslPolicies/{resource}/setIamPolicy", "request": { - "$ref": "SslPolicy" + "$ref": "RegionSetPolicyRequest" }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -40222,81 +41201,129 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/setIamPolicy", + "path": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/setIamPolicy", + "request": { + "$ref": "ZoneSetNestedPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.reservationBlocks.testIamPermissions", + "parameterOrder": [ + "project", + "zone", + "parentResource", + "resource" + ], + "parameters": { + "parentResource": { + "description": "Name or id of parent resource of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-zA-Z0-9/]{0,255}[a-zA-Z0-9])?", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/testIamPermissions", "request": { - "$ref": "ZoneSetNestedPolicyRequest" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Policy" + "$ref": "TestPermissionsResponse" }, "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" ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.reservationBlocks.testIamPermissions", + } + } + }, + "reservationSlots": { + "methods": { + "get": { + "description": "Retrieves information about the specified reservation slot.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}", + "httpMethod": "GET", + "id": "compute.reservationSlots.get", "parameterOrder": [ "project", "zone", - "parentResource", - "resource" + "parentName", + "reservationSlot" ], "parameters": { - "parentResource": { - "description": "Name or id of parent resource of the resource for this request.", + "parentName": { + "description": "The name of the parent reservation and parent block, formatted as\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}/reservationSubBlocks/{reservation_sub_block_name}", "location": "path", - "pattern": "[a-z](?:[-a-zA-Z0-9/]{0,255}[a-zA-Z0-9])?", + "pattern": "reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([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.", + "description": "The project ID for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "reservationSlot": { + "description": "The name of the reservation slot, formatted as RFC1035 or a resource ID\nnumber.", "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.", + "description": "The name of the zone for this request, formatted as RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "ReservationSlotsGetResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "reservationSlots": { - "methods": { - "get": { - "description": "Retrieves information about the specified reservation slot.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}", - "httpMethod": "GET", - "id": "compute.reservationSlots.get", + }, + "getHealth": { + "description": "Get health info on a reservation slot.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}/getHealth", + "httpMethod": "POST", + "id": "compute.reservationSlots.getHealth", "parameterOrder": [ "project", "zone", @@ -40305,39 +41332,43 @@ ], "parameters": { "parentName": { - "description": "The name of the parent reservation and parent block, formatted as\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}/reservationSubBlocks/{reservation_sub_block_name}", + "description": "The name of the parent reservation, parent block and parent sub-block. In\nthe format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}/reservationSubBlocks/{reservation_sub_block_name}", "location": "path", "pattern": "reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})", "required": true, "type": "string" }, "project": { - "description": "The project ID for this request.", + "description": "Project ID for this request.", "location": "path", "required": true, "type": "string" }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, "reservationSlot": { - "description": "The name of the reservation slot, formatted as RFC1035 or a resource ID\nnumber.", + "description": "The name of the reservation slot.\nName should conform to RFC1035 or be a resource ID.", "location": "path", "required": true, "type": "string" }, "zone": { - "description": "The name of the zone for this request, formatted as RFC1035.", + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", "location": "path", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}", + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getHealth", "response": { - "$ref": "ReservationSlotsGetResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "getVersion": { @@ -45307,6 +46338,71 @@ } } }, + "snapshotRecycleBinPolicy": { + "methods": { + "get": { + "description": "Returns the specified SnapshotRecycleBinPolicy.", + "flatPath": "projects/{project}/global/snapshotRecycleBinPolicy", + "httpMethod": "GET", + "id": "compute.snapshotRecycleBinPolicy.get", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/snapshotRecycleBinPolicy", + "response": { + "$ref": "SnapshotRecycleBinPolicy" + }, + "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 SnapshotRecycleBinPolicy.", + "flatPath": "projects/{project}/global/snapshotRecycleBinPolicy", + "httpMethod": "PATCH", + "id": "compute.snapshotRecycleBinPolicy.patch", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/snapshotRecycleBinPolicy", + "request": { + "$ref": "SnapshotRecycleBinPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "snapshotSettings": { "methods": { "get": { @@ -45520,6 +46616,41 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getEffectiveRecycleBinRule": { + "description": "Returns the effective recycle bin rule for a snapshot by merging org and\nproject level rules. If no rules are defined at org and project level, the\nstandard default rule is returned.", + "flatPath": "projects/{project}/global/snapshots/{snapshot}/getEffectiveRecycleBinRule", + "httpMethod": "GET", + "id": "compute.snapshots.getEffectiveRecycleBinRule", + "parameterOrder": [ + "project", + "snapshot" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "snapshot": { + "description": "Name of the Snapshot resource to get the effective recycle bin rule for.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/snapshots/{snapshot}/getEffectiveRecycleBinRule", + "response": { + "$ref": "SnapshotsGetEffectiveRecycleBinRuleResponse" + }, + "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\npolicy or resource exists.", "flatPath": "projects/{project}/global/snapshots/{resource}/getIamPolicy", @@ -46217,6 +47348,47 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such\npolicy or resource exists.", + "flatPath": "projects/{project}/global/sslPolicies/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.sslPolicies.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/sslPolicies/{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": "Returns the specified SSL policy resource.", "flatPath": "projects/{project}/global/sslPolicies", @@ -46402,6 +47574,43 @@ "https://www.googleapis.com/auth/compute" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource.\nReplaces any existing policy.", + "flatPath": "projects/{project}/global/sslPolicies/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.sslPolicies.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/sslPolicies/{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/sslPolicies/{resource}/testIamPermissions", @@ -53071,7 +54280,7 @@ } } }, - "revision": "20260807", + "revision": "20260828", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -54456,6 +55665,18 @@ "description": "An alias IP range attached to an instance's network interface.", "id": "AliasIpRange", "properties": { + "candidateSubnetworkRangeNames": { + "description": "Identifies the candidate subnetwork range names for the alias\nIPs to be allocated from. When it is set, the IP would be allocated from\nany subnetwork range defined here if the IPs are available.\nOnly one of subnetwork_range_name or candidate_subnetwork_range_names\nshould be set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "effectiveSubnetworkRangeName": { + "description": "Output only. [Output Only] The subnetwork range name where the IP is allocated.\nIt will be set to the subnetwork range where the IP is allocated only.", + "readOnly": true, + "type": "string" + }, "ipCidrRange": { "description": "The IP alias ranges to allocate for this interface. This IP CIDR range\nmust belong to the specified subnetwork and cannot contain IP addresses\nreserved by system or used by other network interfaces. This range may be\na single IP address (such as 10.2.3.4), a netmask (such as/24) or a CIDR-formatted string (such as10.1.2.0/24).", "type": "string" @@ -57791,7 +59012,7 @@ "id": "BackendServiceHAPolicyLeaderNetworkEndpoint", "properties": { "instance": { - "description": "The name of the VM instance of the leader network endpoint. The\ninstance must already be attached to the NEG specified in the\nhaPolicy.leader.backendGroup.\n\nThe name must be 1-63 characters long, and comply with RFC1035.\nAuthorization requires the following IAM permission on the\nspecified resource instance: compute.instances.use", + "description": "The name of the VM instance of the leader network endpoint. The\ninstance must already be attached to the NEG specified in the\nhaPolicy.leader.backendGroup.\n\nThe value must be a valid RFC1035 name (1-63 characters) or a valid\ninstance URL.\nAuthorization requires the following IAM permission on the\nspecified resource instance: compute.instances.use", "type": "string" } }, @@ -59302,6 +60523,67 @@ }, "type": "object" }, + "CalendarModeExtensionAdviceRequest": { + "description": "A request to recommend the maximum duration for extending an existing future\nreservation in calendar mode. The recommended duration is shorter than or\nequal to the specified extension duration.", + "id": "CalendarModeExtensionAdviceRequest", + "properties": { + "endTimeNotLaterThan": { + "description": "Required. The desired end time for the extension.", + "format": "google-datetime", + "type": "string" + }, + "futureReservation": { + "description": "Required. Reference to the future reservation, in the format:\nprojects/{project}/zones/{zone}/futureReservations/{name}\nFull URIs that include hostnames (like compute.googleapis.com or\nwww.googleapis.com) are also supported.", + "type": "string" + } + }, + "type": "object" + }, + "CalendarModeExtensionAdviceResponse": { + "description": "A response that contains the recommended duration for extending\na future reservation in calendar mode based on available capacity\nduring the extension period.", + "id": "CalendarModeExtensionAdviceResponse", + "properties": { + "endTime": { + "description": "The recommended end time for the extension, which is either the end time\nrequested by the caller or the longest alternative with sufficient\ncapacity. If the extension is not possible, this field is empty, and\nnotRecommendedReason is populated instead.", + "format": "google-datetime", + "type": "string" + }, + "notRecommendedReason": { + "$ref": "CalendarModeExtensionAdviceResponseNotRecommendedReason", + "description": "The reason why the future reservation can't be extended. If a\nrecommendation is provided, whether for the requested end time or an\nalternative, this field is empty." + }, + "recommendationId": { + "description": "The unique ID of the recommendation, which is a UUID string generated by\nthe API.", + "type": "string" + } + }, + "type": "object" + }, + "CalendarModeExtensionAdviceResponseNotRecommendedReason": { + "description": "Information about why no recommendation was provided.", + "id": "CalendarModeExtensionAdviceResponseNotRecommendedReason", + "properties": { + "details": { + "description": "Human-readable details describing why the recommendation wasn't provided.\nFor example, if the status is CONDITIONS_NOT_MET, this field explains why\nthe requested extension duration isn't possible.", + "type": "string" + }, + "status": { + "description": "Status of recommendation.", + "enum": [ + "CONDITIONS_NOT_MET", + "NOT_RECOMMENDED_REASON_STATUS_UNSPECIFIED", + "NO_CAPACITY" + ], + "enumDescriptions": [ + "The requested extension window doesn't meet the\nrequired conditions.", + "Default value, unused.", + "There is no available capacity for the extension to be provided." + ], + "type": "string" + } + }, + "type": "object" + }, "CalendarModeRecommendation": { "description": "A single recommendation to create requested resources. Contains detailed\nrecommendations for every future resources specification specified in\nCalendarModeAdviceRequest.", "id": "CalendarModeRecommendation", @@ -59356,7 +60638,7 @@ "Picks zones for creating VM instances to fulfill the requested number\nof VMs within present resource constraints.", "Creates all VM instances within a single zone. The zone is selected\nbased on the present resource constraints.", "Prioritizes acquisition of resources, scheduling VMs in zones where\nresources are available while distributing VMs as evenly as possible\nacross selected zones to minimize the impact of zonal failure.", - "" + "Default value, unused." ], "type": "string" }, @@ -59583,7 +60865,7 @@ "PRICE" ], "enumDescriptions": [ - "", + "Default value, unused.", "Preemption history.", "Price history." ], @@ -61074,6 +62356,7 @@ "confidentialInstanceType": { "description": "Defines the type of technology used by the confidential instance.", "enum": [ + "BMSAI", "CCA", "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED", "SEV", @@ -61081,6 +62364,7 @@ "TDX" ], "enumDescriptions": [ + "Bare Metal Secure AI.", "Arm Confidential Compute Architecture.", "No type specified. Do not use this value.", "AMD Secure Encrypted Virtualization.", @@ -61607,6 +62891,316 @@ }, "type": "object" }, + "DhcpOptionsConfig": { + "description": "A standalone, regional API resource that encapsulates a set of user-defined\nDHCP configurations.", + "id": "DhcpOptionsConfig", + "properties": { + "associations": { + "additionalProperties": { + "$ref": "DhcpOptionsConfigAssociation" + }, + "description": "Mapping of user-defined keys to DhcpOptionsConfig to Network associations.", + "type": "object" + }, + "bootFileIpv4Name": { + "description": "The file path and name of the boot image/file on the TFTP server that the\nclient VM guest OS should download and execute during network boot. Used\nwhen the standard DHCP header 'file' field is overloaded. Corresponds to\nDHCPv4 Option 67.", + "type": "string" + }, + "bootFileIpv6Parameters": { + "description": "A list of UTF-8 encoded parameter strings to be passed as arguments to the\nbootloader program or OS kernel after downloading the boot file.\nCorresponds to DHCPv6 Option 60.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bootFileIpv6Url": { + "description": "The Uniform Resource Locator (URL) specifying the protocol, server address,\nand file path of the boot file that the client VM guest OS should download\nand execute for network boot (e.g., 'tftp://[2001:db8::1]/bootx64.efi' or\n'http://[2001:db8::1]/boot.img'). Corresponds to DHCPv6 Option 59.", + "type": "string" + }, + "creationTimestamp": { + "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", + "type": "string" + }, + "dnsSearchPaths": { + "description": "An ordered list of domain suffixes (search paths) that the client VM guest\nOS should append to resolve hostnames that are not fully qualified. Applies\nto both DHCPv4 Option 119 and DHCPv6 Option 24.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domainName": { + "description": "The domain name that the client VM guest OS should use when resolving\nhostnames via DNS (e.g., 'example.com'). It defines the default domain\nsuffix for the client. Corresponds to DHCPv4 Option 15.", + "type": "string" + }, + "id": { + "description": "Output only. [Output Only] The unique identifier for the resource type. The server\ngenerates this identifier.", + "format": "uint64", + "readOnly": true, + "type": "string" + }, + "kind": { + "default": "compute#dhcpOptionsConfig", + "description": "Output only. [Output Only] Type of the resource. Alwayscompute#dhcpOptionsConfig for dhcp options configs.", + "readOnly": true, + "type": "string" + }, + "leaseTimeSec": { + "description": "The duration, in seconds, of the IPv4 address lease offered by the DHCP\nserver to the client VM guest OS. Corresponds to DHCPv4 Option 51.", + "format": "int64", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.dhcpOptionsConfigs.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "ntpServerIpv4Addresses": { + "description": "An ordered list of IPv4 addresses of Network Time Protocol (NTP) servers\navailable to the client VM guest OS for system clock synchronization,\nlisted in order of preference. Corresponds to DHCPv4 Option 42.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ntpServerIpv6Addresses": { + "description": "An ordered list of IPv6 addresses of Network Time Protocol (NTP) servers\navailable to the client VM guest OS for system clock synchronization.\nCorresponds to DHCPv6 Option 56.", + "items": { + "type": "string" + }, + "type": "array" + }, + "region": { + "description": "Output only. [Output Only] URL of the region where the resource resides.", + "readOnly": true, + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for the resource.", + "readOnly": true, + "type": "string" + }, + "tftpServerIpv4Addresses": { + "description": "An ordered list of one or more IPv4 addresses of TFTP servers. Provides\nserver redundancy and failover support, and is generally prioritized by\nclients over the single hostname specified in Option 66. Corresponds to\nDHCPv4 Option 150.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tftpServerIpv4Name": { + "description": "The hostname or IP address of the Trivial File Transfer Protocol (TFTP)\nserver from which the client VM guest OS can download boot files. Typically\nused in network booting (PXE) when the standard DHCP header 'sname' field\nis overloaded. Corresponds to DHCPv4 Option 66.", + "type": "string" + } + }, + "type": "object" + }, + "DhcpOptionsConfigAssociation": { + "description": "Association represents the relationship between a DHCP options config and a\nnetwork. Association represents the relationship between a DHCP options\nconfig and a network.", + "id": "DhcpOptionsConfigAssociation", + "properties": { + "network": { + "description": "Required. The target network this DHCP option is attached to.\nYou can specify this as a full or partial URL. For example, the following\nare all valid URLs:\n \n \n - https://www.googleapis.com/compute/v1/projects/project/global/networks/network\n \n - projects/project/global/networks/network", + "type": "string" + }, + "networkId": { + "description": "Output only. [Output Only] The server-defined ID of the associated Network.", + "format": "uint64", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. [Output Only] State of the association.", + "enum": [ + "ACTIVE", + "ORPHANED", + "STATE_UNSPECIFIED" + ], + "enumDescriptions": [ + "The association is active and the DHCP configuration is applied.", + "The association is orphaned (the network has been deleted).", + "Default value. This value is unused." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DhcpOptionsConfigList": { + "id": "DhcpOptionsConfigList", + "properties": { + "etag": { + "description": "Server-defined ETag for optimistic concurrency control.", + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of DhcpOptionsConfig resources.", + "items": { + "$ref": "DhcpOptionsConfig" + }, + "type": "array" + }, + "kind": { + "default": "compute#dhcpOptionsConfigList", + "description": "Output only. [Output Only] Type of the resource. Alwayscompute#dhcpOptionsConfigList for a list of dhcp options\nconfigs.", + "readOnly": true, + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed\noperation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as\ndeprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as\nexperimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden.\nDeprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g:\nregions.list).", + "The user attempted to use a resource that requires a TOS they have not\naccepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts 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" + }, "Disk": { "description": "Represents a Persistent Disk resource.\n\nGoogle Compute Engine has two Disk resources:\n\n* [Zonal](/compute/docs/reference/rest/beta/disks)\n* [Regional](/compute/docs/reference/rest/beta/regionDisks)\n\nPersistent disks are required for running your VM instances.\nCreate both boot and non-boot (data) persistent disks. For more information,\nread Persistent Disks. For more\nstorage options, read Storage options.\n\nThe disks resource represents a zonal persistent disk.\nFor more information, readZonal persistent disks.\n\nThe regionDisks resource represents a\nregional persistent disk. For more information, read\nRegional resources.", "id": "Disk", @@ -63273,6 +64867,25 @@ }, "type": "object" }, + "DynamicCompressionPolicy": { + "description": "Dynamic compression policy for this URL Map's route.", + "id": "DynamicCompressionPolicy", + "properties": { + "compressionMode": { + "description": "Compress text responses using Brotli or gzip compression, based on\nthe client's Accept-Encoding header.", + "enum": [ + "AUTOMATIC", + "DISABLED" + ], + "enumDescriptions": [ + "Automatically uses the best compression based on the Accept-Encoding\nheader sent by the client.", + "Disables compression. Existing compressed responses cached by\nCloud CDN will not be served to clients." + ], + "type": "string" + } + }, + "type": "object" + }, "ErrorInfo": { "description": "Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }", "id": "ErrorInfo", @@ -65879,10 +67492,12 @@ }, "confidentialComputeType": { "enum": [ + "CONFIDENTIAL_COMPUTE_TYPE_BMSAI", "CONFIDENTIAL_COMPUTE_TYPE_TDX", "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED" ], "enumDescriptions": [ + "Bare Metal Secure AI.", "Intel Trust Domain Extensions.", "" ], @@ -67177,6 +68792,99 @@ }, "type": "object" }, + "GetHealthOperationMetadata": { + "description": "Metadata for GetHealth operations.", + "id": "GetHealthOperationMetadata", + "properties": { + "healthInfo": { + "$ref": "GetHealthOperationMetadataHealthInfo", + "description": "Output only. The health information.", + "readOnly": true + } + }, + "type": "object" + }, + "GetHealthOperationMetadataHealthInfo": { + "description": "Health information.", + "id": "GetHealthOperationMetadataHealthInfo", + "properties": { + "availabilitySloStatus": { + "description": "Output only. The availability SLO status.", + "enum": [ + "AVAILABILITY_SLO_STATUS_IN_SLO", + "AVAILABILITY_SLO_STATUS_OUT_OF_SLO", + "AVAILABILITY_SLO_STATUS_SLO_UNKNOWN", + "AVAILABILITY_SLO_STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The slot availability is in SLO.", + "The slot availability is out of SLO.", + "The slot availability is unknown.", + "Unspecified availability SLO status." + ], + "readOnly": true, + "type": "string" + }, + "healthStatus": { + "description": "Output only. The health status.", + "enum": [ + "HEALTH_STATUS_HEALTHY", + "HEALTH_STATUS_UNHEALTHY", + "HEALTH_STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The reservation slot is healthy.", + "The reservation slot is unhealthy.", + "Unspecified health status." + ], + "readOnly": true, + "type": "string" + }, + "repairCategory": { + "description": "Output only. The repair category.", + "enum": [ + "REPAIR_CATEGORY_CRITICAL_FAILURE", + "REPAIR_CATEGORY_EMERGENT_MAINTENANCE", + "REPAIR_CATEGORY_PLANNED_MAINTENANCE", + "REPAIR_CATEGORY_UNSPECIFIED", + "REPAIR_CATEGORY_USER_REPORTED_FAULT" + ], + "enumDescriptions": [ + "The repair is because of critical failures, that are scoped outside\nemergent maintenance", + "The repair is because of an emergent maintenance", + "The repair is because of a planned maintenance", + "Unspecified repair category.", + "The repair is because of a user reported fault" + ], + "readOnly": true, + "type": "string" + }, + "unhealthyReason": { + "description": "Output only. The reason for unhealthy status.", + "enum": [ + "UNHEALTHY_REASON_PENDING_USER_APPROVAL", + "UNHEALTHY_REASON_REPAIRING", + "UNHEALTHY_REASON_UNSCHEDULABLE", + "UNHEALTHY_REASON_UNSPECIFIED" + ], + "enumDescriptions": [ + "The slot is unhealthy because there is a pending repair, waiting for\ncustomer approval", + "The slot is unhealthy because repair is in progress", + "The slot is unhealthy because a vm cannot be scheduled on it, and no\nrepairs are running on the slot", + "Unspecified unhealthy reason." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when health info was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GetVersionOperationMetadata": { "id": "GetVersionOperationMetadata", "properties": { @@ -67220,6 +68928,68 @@ }, "type": "object" }, + "GlobalFrontendSettings": { + "description": "Represents the Global Frontend Bundle settings for a single project.", + "id": "GlobalFrontendSettings", + "properties": { + "bundleType": { + "description": "Customer-settable bundle type.", + "enum": [ + "BUNDLE_TYPE_UNSPECIFIED", + "GLOBAL_FRONT_END", + "INDIVIDUAL" + ], + "enumDescriptions": [ + "Bundling is not active", + "Standard Global Frontend bundle", + "Ala Carte mode" + ], + "type": "string" + }, + "creationTimestamp": { + "description": "Output only. [Output Only] Creation timestamp in RFC3339 text format.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. [Output Only] An optional description of this resource.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. For optimistic locking", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", + "format": "uint64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. OUTPUT_ONLY fields\n[Output Only] Name of the resource. Must be 1-63 characters long and match\nthe regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.", + "readOnly": true, + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for the resource.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GlobalFrontendSettingsPatchResponse": { + "description": "Response to an UpdateGlobalFrontendSettingsRequest.", + "id": "GlobalFrontendSettingsPatchResponse", + "properties": { + "operation": { + "$ref": "Operation" + } + }, + "type": "object" + }, "GlobalNetworkEndpointGroupsAttachEndpointsRequest": { "id": "GlobalNetworkEndpointGroupsAttachEndpointsRequest", "properties": { @@ -67867,9 +69637,10 @@ "id": "GuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. To add multiple values, use commas to\nseparate values. Set to one or more of the following values:\n \n - VIRTIO_SCSI_MULTIQUEUE\n - WINDOWS\n - MULTI_IP_SUBNET\n - UEFI_COMPATIBLE\n - GVNIC\n - SEV_CAPABLE\n - SUSPEND_RESUME_COMPATIBLE\n - SEV_LIVE_MIGRATABLE_V2\n - SEV_SNP_CAPABLE\n - TDX_CAPABLE\n - IDPF\n - SNP_SVSM_CAPABLE\n - CCA_CAPABLE\n\n\nFor more information, see\nEnabling guest operating system features.", + "description": "The ID of a supported feature. To add multiple values, use commas to\nseparate values. Set to one or more of the following values:\n \n - VIRTIO_SCSI_MULTIQUEUE\n - WINDOWS\n - MULTI_IP_SUBNET\n - UEFI_COMPATIBLE\n - GVNIC\n - SEV_CAPABLE\n - SUSPEND_RESUME_COMPATIBLE\n - SEV_LIVE_MIGRATABLE_V2\n - SEV_SNP_CAPABLE\n - TDX_CAPABLE\n - IDPF\n - SNP_SVSM_CAPABLE\n - CCA_CAPABLE\n - SUSPEND_SAFE_FPR\n\n\nFor more information, see\nEnabling guest operating system features.", "enum": [ "BARE_METAL_LINUX_COMPATIBLE", + "BMSAI_CAPABLE", "CCA_CAPABLE", "FEATURE_TYPE_UNSPECIFIED", "GVNIC", @@ -67881,6 +69652,7 @@ "SEV_LIVE_MIGRATABLE_V2", "SEV_SNP_CAPABLE", "SNP_SVSM_CAPABLE", + "SUSPEND_SAFE_FPR", "TDX_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", @@ -67888,6 +69660,7 @@ ], "enumDescriptions": [ "", + "Indicates the guest OS is capable of Bare Metal Secure AI (BMSAI)\nconfidential computing.", "", "", "", @@ -67899,6 +69672,7 @@ "", "", "", + "Indicates the guest OS is safe for free page reporting (FPR) during\nsuspend.", "", "", "", @@ -71350,6 +73124,10 @@ "$ref": "CorsPolicy", "description": "The specification for allowing client-side cross-origin requests. For more\ninformation about the W3C recommendation for cross-origin resource sharing\n(CORS), see Fetch API Living\nStandard.\n\nNot supported when the URL map is bound to a target gRPC proxy." }, + "dynamicCompressionPolicy": { + "$ref": "DynamicCompressionPolicy", + "description": "Dynamic compression policy for this URL Map's route. Available only for\nGlobal EXTERNAL_MANAGED load balancer schemes." + }, "faultInjectionPolicy": { "$ref": "HttpFaultInjection", "description": "The specification for fault injection introduced into traffic to test\nthe resiliency of clients to backend service failure. As part of fault\ninjection, when clients send requests to a backend service, delays can be\nintroduced by a load balancer on a percentage of requests before sending\nthose requests to the backend service. Similarly requests from clients can\nbe aborted by the load balancer for a percentage of requests.timeout and retry_policy is ignored by clients\nthat are configured with a fault_injection_policy if:\n1. The traffic is generated by fault injection AND\n2. The fault injection is not a delay fault injection.\nFault injection is not supported with the classic Application Load Balancer\n. To see which load balancers support fault injection,\nsee Load\nbalancing: Routing and traffic management features." @@ -76775,6 +78553,10 @@ "description": "Represents the change that you want to make to the instance properties.", "id": "InstancePropertiesPatch", "properties": { + "exposeHostTopology": { + "description": "This optional flag exposes the hashed physical host ID.", + "type": "boolean" + }, "labels": { "additionalProperties": { "type": "string" @@ -78880,6 +80662,11 @@ "readOnly": true, "type": "string" }, + "selfLinkWithId": { + "description": "Output only. Server-defined URL for this resource with the resource id.", + "readOnly": true, + "type": "string" + }, "state": { "description": "Output only. [Output Only] The current state of Interconnect functionality, which can\ntake one of the following values:\n \n - ACTIVE: The Interconnect is valid, turned up and ready to use.\n Attachments may be provisioned on this Interconnect.\n - UNPROVISIONED: The Interconnect has not completed turnup. No\n attachments may be provisioned on this Interconnect.\n - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance.\n No attachments may be provisioned or updated on this\n Interconnect.", "enum": [ @@ -81741,6 +83528,18 @@ "description": "Output only. The remote location for Cross-Site Interconnect wires. This specifies an\nInterconnectLocation city (metropolitan area designator), which itself\nmay match multiple InterconnectLocations.", "readOnly": true, "type": "string" + }, + "maxDynamicPathBandwidthGbps": { + "description": "Output only. The maximum unmetered bandwidth for dynamic paths allowable per\nWireGroup for this metro.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "maxFixedPathBandwidthGbps": { + "description": "Output only. The maximum unmetered bandwidth for fixed paths allowable per WireGroup\nfor this metro.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -81950,6 +83749,10 @@ "description": "If set to true, the Interconnect connection is configured with ashould-secure MACsec security policy, that allows the Google\nrouter to fallback to cleartext traffic if the MKA session cannot be\nestablished. By default, the Interconnect connection is configured with amust-secure security policy that drops all traffic if the\nMKA session cannot be established with your router.", "type": "boolean" }, + "interconnectKeyGroup": { + "description": "Optional. URL of the InterconnectKeyGroup resource to use for MACsec, in the\nformat:\nprojects/{project}/locations/{region}/interconnectKeyGroups/{interconnectKeyGroup}.", + "type": "string" + }, "preSharedKeys": { "description": "Required. A keychain placeholder describing a set of named key objects\nalong with their start times. A MACsec CKN/CAK is generated for each\nkey in the key chain. Google router automatically picks the key with\nthe most recent startTime when establishing or re-establishing a MACsec\nsecure link.", "items": { @@ -83310,6 +85113,179 @@ }, "type": "object" }, + "ListVmExtensionStatesResponse": { + "id": "ListVmExtensionStatesResponse", + "properties": { + "etag": { + "description": "Output only. Fingerprint of this resource. A hash of the contents stored\nin this object. This field is used in optimistic locking. This field will\nbe ignored when inserting a VmExtensionPolicy. An up-to-date\nfingerprint must be provided in order to update the VmExtensionPolicy.\n\nTo see the latest value of the fingerprint, make a get() request to\nretrieve a VmExtensionPolicy.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. Unique identifier for the resource; defined by the server.", + "readOnly": true, + "type": "string" + }, + "items": { + "description": "Output only. A list of VM extension policy resources.", + "items": { + "$ref": "VmExtensionState" + }, + "readOnly": true, + "type": "array" + }, + "kind": { + "default": "compute#vmExtensionStatesList", + "description": "Output only. Type of resource.", + "readOnly": true, + "type": "string" + }, + "nextPageToken": { + "description": "Output only. This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", + "readOnly": true, + "type": "string" + }, + "selfLink": { + "description": "Output only. Server-defined URL for this resource.", + "readOnly": true, + "type": "string" + }, + "unreachables": { + "description": "Output only. Unreachable resources.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "warning": { + "description": "Output only. Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed\noperation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as\ndeprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as\nexperimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden.\nDeprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g:\nregions.list).", + "The user attempted to use a resource that requires a TOS they have not\naccepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts 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" + } + }, + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, "LocalDisk": { "id": "LocalDisk", "properties": { @@ -84446,10 +86422,11 @@ "readOnly": true }, "targetStatus": { - "description": "Output only. [Output Only] The eventual status of the instance. The instance group\nmanager will not be identified as stable till each managed instance reaches\nits targetStatus.", + "description": "Output only. The eventual status of the instance. The instance group\nmanager will not be identified as stable till each managed instance reaches\nits targetStatus.", "enum": [ "ABANDONED", "DELETED", + "INVALID", "RUNNING", "STOPPED", "SUSPENDED" @@ -84457,6 +86434,7 @@ "enumDescriptions": [ "The managed instance will eventually be ABANDONED, i.e. dissociated\nfrom the managed instance group.", "The managed instance will eventually be DELETED.", + "Only present to map the STATUS_INVALID value.", "The managed instance will eventually reach status RUNNING.", "The managed instance will eventually reach status TERMINATED.", "The managed instance will eventually reach status SUSPENDED." @@ -86843,6 +88821,7 @@ "description": "Type of network endpoints in this network endpoint group. Can be one ofGCE_VM_IP, GCE_VM_IP_PORT,NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,INTERNET_IP_PORT, SERVERLESS,PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.", "enum": [ "GCE_VM_IP", + "GCE_VM_IP_DEDICATED_BACKEND", "GCE_VM_IP_PORT", "GCE_VM_IP_PORTMAP", "INTERNET_FQDN_PORT", @@ -86853,6 +88832,7 @@ ], "enumDescriptions": [ "The network endpoint is represented by an IP address.", + "The network endpoint for targeting a specific network interface of a\nVM instance in configurations with multiple network interfaces on the\nsame network.", "The network endpoint is represented by IP address and port pair.", "The network endpoint is represented by an IP, Port and Client Destination\nPort.", "The network endpoint is represented by fully qualified domain name and\nport.", @@ -92906,6 +94886,11 @@ }, "type": "object" }, + "getHealthOperationMetadata": { + "$ref": "GetHealthOperationMetadata", + "description": "Output only. Metadata for GetHealth operations.", + "readOnly": true + }, "getVersionOperationMetadata": { "$ref": "GetVersionOperationMetadata" }, @@ -96968,6 +98953,495 @@ }, "type": "object" }, + "RecoverableSnapshot": { + "description": "Represents a RecoverableSnapshot resource.\n\nA RecoverableSnapshot represents a snapshot in recycle bin.", + "id": "RecoverableSnapshot", + "properties": { + "creationTimestamp": { + "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. An optional description of this resource.", + "type": "string" + }, + "id": { + "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", + "format": "uint64", + "readOnly": true, + "type": "string" + }, + "kind": { + "default": "compute#recoverableSnapshot", + "description": "Output only. [Output Only] Type of the resource. Alwayscompute#recoverableSnapshot for RecoverableSnapshot\nresources.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. Name of the recoverable snapshot generated on the deletion of the snapshot.\nThe name will be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name will be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter will be a lowercase letter, and all following characters can be\na dash, lowercase letter, or digit, except the last character, which cannot\nbe a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "readOnly": true, + "type": "string" + }, + "originalResource": { + "$ref": "RecoverableSnapshotOriginalSnapshot", + "description": "Output only. Output Only] The original snapshot resource.", + "readOnly": true + }, + "purgeTimestamp": { + "description": "Output only. [Output Only] Purge timestamp of recoverable snapshot inRFC3339\ntext format.", + "readOnly": true, + "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. [Output Only] Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. [Output Only] Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for the resource.", + "readOnly": true, + "type": "string" + }, + "selfLinkWithId": { + "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. [Output Only] Status of the recoverable snapshot.", + "enum": [ + "CREATING", + "DELETING", + "FAILED", + "READY", + "RECOVERING", + "UNKNOWN" + ], + "enumDescriptions": [ + "Recoverable Snapshot creation is in progress.", + "Recovered Snapshot is currently being deleted.", + "Recoverable Snapshot creation failed.", + "Recoverable Snapshot has been created successfully.", + "Recoverable Snapshot is currently being recovered.", + "" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RecoverableSnapshotList": { + "id": "RecoverableSnapshotList", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of RecoverableSnapshots resources.", + "items": { + "$ref": "RecoverableSnapshot" + }, + "type": "array" + }, + "kind": { + "default": "compute#recoverableSnapshotList", + "description": "Output only. [Output Only] Type of resource. Alwayscompute#recoverableSnapshotList for lists of\nrecoverablesnapshots.", + "readOnly": true, + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for this resource.", + "readOnly": true, + "type": "string" + }, + "unreachables": { + "description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed\noperation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as\ndeprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as\nexperimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden.\nDeprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g:\nregions.list).", + "The user attempted to use a resource that requires a TOS they have not\naccepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts 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" + }, + "RecoverableSnapshotOriginalSnapshot": { + "id": "RecoverableSnapshotOriginalSnapshot", + "properties": { + "architecture": { + "description": "Output only. [Output Only] The architecture of the snapshot. Valid values are\nARM64 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" + ], + "readOnly": true, + "type": "string" + }, + "autoCreated": { + "description": "Output only. [Output Only] Set to true if snapshots are automatically created by\napplying resource policy on the target disk.", + "readOnly": true, + "type": "boolean" + }, + "chainName": { + "description": "Creates the new snapshot in the snapshot chain labeled with the\nspecified name. The chain name must be 1-63 characters long and comply\nwith RFC1035. This is an uncommon option only for advanced service\nowners who needs to create separate snapshot chains, for example,\nfor chargeback tracking. When you describe your snapshot resource, this\nfield is visible only if it has a non-empty value.", + "type": "string" + }, + "creationSizeBytes": { + "description": "Output only. [Output Only] Size in bytes of the snapshot at creation time.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "creationTimestamp": { + "description": "Output only. [Output Only] Creation timestamp inRFC3339 text format.", + "readOnly": true, + "type": "string" + }, + "deletionTimestamp": { + "description": "Output only. [Output Only] Deletion timestamp of snapshot inRFC3339 text format.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "An optional description of this resource.", + "type": "string" + }, + "diskSizeGb": { + "description": "Output only. [Output Only] Size of the source disk, specified in GB.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "downloadBytes": { + "description": "Output only. [Output Only] Number of bytes downloaded to restore a snapshot to a disk.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "enableConfidentialCompute": { + "description": "Output only. Whether this snapshot is created from a confidential compute mode disk.\n[Output Only]: This field is not set by user, but from source disk.", + "readOnly": true, + "type": "boolean" + }, + "guestOsFeatures": { + "description": "Output only. [Output Only] A list of features to enable on the guest operating system.\nApplicable only for bootable images. Read \nEnabling guest operating system features to see a list of available\noptions.", + "items": { + "$ref": "GuestOsFeature" + }, + "readOnly": true, + "type": "array" + }, + "id": { + "description": "Output only. [Output Only] The unique identifier for the original snapshot. This\nidentifier is defined by the server.", + "format": "uint64", + "readOnly": true, + "type": "string" + }, + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this snapshot, which is\nessentially a hash of the labels set used for optimistic locking. The\nfingerprint is initially generated by Compute Engine and changes after\nevery request to modify or update labels. You must always provide an\nup-to-date fingerprint hash in order to update or change labels,\notherwise the request will fail with error412 conditionNotMet.\n\nTo see the latest fingerprint, make a get() request to\nretrieve a snapshot.", + "format": "byte", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to apply to this snapshot. These can be later modified by\nthe setLabels method.\nLabel values may be empty.", + "type": "object" + }, + "licenseCodes": { + "description": "Output only. [Output Only] Integer license codes indicating which licenses are\nattached to this snapshot.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "licenses": { + "description": "Output only. [Output Only] A list of public visible licenses that apply to this\nsnapshot.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "maxRetentionDays": { + "description": "Number of days the snapshot should be retained before being deleted\nautomatically.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Name of the original snapshot provided by the client. The name must be\n1-63 characters long, and comply with RFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "region": { + "description": "Output only. [Output Only] URL of the region where the snapshot resides. Only\napplicable for regional snapshots.", + "readOnly": true, + "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. [Output Only] Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for the resource.", + "readOnly": true, + "type": "string" + }, + "selfLinkWithId": { + "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.", + "readOnly": true, + "type": "string" + }, + "snapshotEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Encrypts the snapshot using acustomer-supplied\nencryption key.\n\nAfter you encrypt a snapshot using a customer-supplied key, you must\nprovide the same key if you use the snapshot later. For example, you must\nprovide the encryption key when you create a disk from the encrypted\nsnapshot in a future request.\n\nCustomer-supplied encryption keys do not protect access to metadata\nof the snapshot.\n\nIf you do not provide an encryption key when creating the snapshot, then\nthe snapshot will be encrypted using an automatically generated key and\nyou do not need to provide a key to use the snapshot later." + }, + "snapshotGroupId": { + "description": "Output only. [Output Only] The unique ID of the snapshot group that this snapshot\nbelongs to. The usage of snapshot group feature is restricted.", + "readOnly": true, + "type": "string" + }, + "snapshotGroupName": { + "description": "Output only. [Output only] The snapshot group that this snapshot belongs to. The usage\nof snapshot group feature is restricted.", + "readOnly": true, + "type": "string" + }, + "snapshotType": { + "description": "Indicates the type of the snapshot.", + "enum": [ + "ARCHIVE", + "STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "sourceDisk": { + "description": "The source disk used to create this snapshot.", + "type": "string" + }, + "sourceDiskEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied\nencryption key of the source disk. Required if the source disk is\nprotected by a customer-supplied encryption key." + }, + "sourceDiskForRecoveryCheckpoint": { + "description": "The source disk whose recovery checkpoint will be used to create this\nsnapshot.", + "type": "string" + }, + "sourceDiskId": { + "description": "Output only. [Output Only] The ID value of the disk used to create this snapshot", + "readOnly": true, + "type": "string" + }, + "sourceInstantSnapshot": { + "description": "The source instant snapshot used to create this snapshot.", + "type": "string" + }, + "sourceInstantSnapshotEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Customer provided encryption key when creating Snapshot from Instant\nSnapshot." + }, + "sourceInstantSnapshotId": { + "description": "Output only. [Output Only] The unique ID of the instant snapshot used to create this\nsnapshot. This value identifies the exact instant snapshot that was used\nto create this persistent disk. For example, if you created the\npersistent disk from an instant snapshot that was later deleted and\nrecreated under the same name, the source instant snapshot ID would\nidentify the exact instant snapshot that was used.", + "readOnly": true, + "type": "string" + }, + "sourceSnapshotSchedulePolicy": { + "description": "Output only. [Output Only] URL of the resource policy which created this\nscheduled snapshot.", + "readOnly": true, + "type": "string" + }, + "sourceSnapshotSchedulePolicyId": { + "description": "Output only. [Output Only] ID of the resource policy which created this\nscheduled snapshot.", + "readOnly": true, + "type": "string" + }, + "storageBytes": { + "description": "Output only. [Output Only] A size of the storage used by the snapshot.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "storageBytesStatus": { + "description": "Output only. [Deprecated] Instead, check the storageBytes field. After\nsnapshot creation, the storageBytesStatus field is alwaysUP_TO_DATE.\n[Output Only] An indicator whether storageBytes is in a\nstable state or it is being adjusted as a result of shared storage\nreallocation. This status can either be unset, meaning the snapshot is\nbeing created, or UP_TO_DATE, meaning the size of the\nsnapshot is up-to-date.", + "enum": [ + "UPDATING", + "UP_TO_DATE" + ], + "enumDescriptions": [ + "", + "" + ], + "readOnly": true, + "type": "string" + }, + "storageLocations": { + "description": "Cloud Storage bucket storage location of the snapshot (regional or\nmulti-regional).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Reference": { "description": "Represents a reference to a resource.", "id": "Reference", @@ -99355,10 +101829,12 @@ }, "confidentialComputeType": { "enum": [ + "CONFIDENTIAL_COMPUTE_TYPE_BMSAI", "CONFIDENTIAL_COMPUTE_TYPE_TDX", "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED" ], "enumDescriptions": [ + "Bare Metal Secure AI.", "Intel Trust Domain Extensions.", "" ], @@ -102301,6 +104777,11 @@ "description": "[Output Only] The ID of the host on which the running instance is located.\nInstances on the same host experience the lowest possible network\nlatency.", "type": "string" }, + "machine": { + "description": "Output only. [Output Only] The ID of the machine on which the running instance is\nlocated. It is only populated for machines which have multiple hosts.", + "readOnly": true, + "type": "string" + }, "subblock": { "description": "[Output Only] The ID of the sub-block in which the running instance is\nlocated. Instances in the same sub-block experience lower network latency\nthan instances in the same block.", "type": "string" @@ -106275,6 +108756,10 @@ "format": "int32", "type": "integer" }, + "exposeHostTopology": { + "description": "This optional flag exposes the hashed physical host ID in the\nResourceStatus resource of the VM.", + "type": "boolean" + }, "gracefulShutdown": { "$ref": "SchedulingGracefulShutdown" }, @@ -109544,302 +112029,347 @@ }, "type": "object" }, - "SnapshotGroup": { - "description": "Represents a SnapshotGroup resource.\n\nA snapshot group is a set of snapshots that represents a point in time state\nof a consistency group.", - "id": "SnapshotGroup", - "properties": { - "creationTimestamp": { - "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Optional. An optional description of this resource. Provide this property when you\ncreate the resource.", - "type": "string" - }, - "id": { - "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", - "format": "uint64", - "readOnly": true, - "type": "string" - }, - "kind": { - "default": "compute#snapshotGroup", - "description": "Output only. [Output Only] Type of the resource. Alwayscompute#snapshotGroup for SnapshotGroup\nresources.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Identifier. Name of the resource; provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must be\na dash, lowercase letter, or digit, except the last character, which cannot\nbe a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "selfLink": { - "description": "Output only. [Output Only] Server-defined URL for the resource.", - "readOnly": true, - "type": "string" - }, - "selfLinkWithId": { - "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.", - "readOnly": true, - "type": "string" - }, - "sourceInfo": { - "$ref": "SnapshotGroupSourceInfo", - "description": "Output only. [Output Only]", - "readOnly": true - }, - "sourceInstantSnapshotGroup": { - "description": "Input field for the source instant snapshot group.", - "type": "string" - }, - "sourceInstantSnapshotGroupInfo": { - "$ref": "SnapshotGroupSourceInstantSnapshotGroupInfo", - "description": "Output only. [Output Only]", - "readOnly": true - }, - "status": { - "description": "Output only. [Output Only]", - "enum": [ - "CREATING", - "DELETING", - "FAILED", - "INVALID", - "READY", - "UNKNOWN", - "UPLOADING" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "SnapshotGroupParameters": { - "id": "SnapshotGroupParameters", + "SnapshotGroup": { + "description": "Represents a SnapshotGroup resource.\n\nA snapshot group is a set of snapshots that represents a point in time state\nof a consistency group.", + "id": "SnapshotGroup", + "properties": { + "creationTimestamp": { + "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. An optional description of this resource. Provide this property when you\ncreate the resource.", + "type": "string" + }, + "id": { + "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", + "format": "uint64", + "readOnly": true, + "type": "string" + }, + "kind": { + "default": "compute#snapshotGroup", + "description": "Output only. [Output Only] Type of the resource. Alwayscompute#snapshotGroup for SnapshotGroup\nresources.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Name of the resource; provided by the client when the resource is created.\nThe name must be 1-63 characters long, and comply withRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must be\na dash, lowercase letter, or digit, except the last character, which cannot\nbe a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for the resource.", + "readOnly": true, + "type": "string" + }, + "selfLinkWithId": { + "description": "Output only. [Output Only] Server-defined URL for this resource's resource id.", + "readOnly": true, + "type": "string" + }, + "sourceInfo": { + "$ref": "SnapshotGroupSourceInfo", + "description": "Output only. [Output Only]", + "readOnly": true + }, + "sourceInstantSnapshotGroup": { + "description": "Input field for the source instant snapshot group.", + "type": "string" + }, + "sourceInstantSnapshotGroupInfo": { + "$ref": "SnapshotGroupSourceInstantSnapshotGroupInfo", + "description": "Output only. [Output Only]", + "readOnly": true + }, + "status": { + "description": "Output only. [Output Only]", + "enum": [ + "CREATING", + "DELETING", + "FAILED", + "INVALID", + "READY", + "UNKNOWN", + "UPLOADING" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SnapshotGroupParameters": { + "id": "SnapshotGroupParameters", + "properties": { + "replicaZones": { + "description": "URLs of the zones where disks should be replicated to. Only applicable\nfor regional resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceSnapshotGroup": { + "description": "The source snapshot group used to create disks. You can provide this as a\npartial or full URL to the resource. For example, the following are valid\nvalues:\n \n \n - https://www.googleapis.com/compute/v1/projects/project/global/snapshotGroups/snapshotGroup \n - projects/project/global/snapshotGroups/snapshotGroup\n - global/snapshotGroups/snapshotGroup", + "type": "string" + }, + "type": { + "description": "URL of the disk type resource describing which disk type to use to create\ndisks. Provide this when creating the disk. For example:projects/project/zones/zone/diskTypes/pd-ssd. See Persistent disk\ntypes.", + "type": "string" + } + }, + "type": "object" + }, + "SnapshotGroupSourceInfo": { + "id": "SnapshotGroupSourceInfo", + "properties": { + "consistencyGroup": { + "readOnly": true, + "type": "string" + }, + "consistencyGroupId": { + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SnapshotGroupSourceInstantSnapshotGroupInfo": { + "id": "SnapshotGroupSourceInstantSnapshotGroupInfo", + "properties": { + "instantSnapshotGroup": { + "readOnly": true, + "type": "string" + }, + "instantSnapshotGroupId": { + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SnapshotList": { + "description": "Contains a list of Snapshot resources.", + "id": "SnapshotList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of Snapshot resources.", + "items": { + "$ref": "Snapshot" + }, + "type": "array" + }, + "kind": { + "default": "compute#snapshotList", + "description": "Output only. Type of resource.", + "readOnly": true, + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for this resource.", + "readOnly": true, + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed\noperation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as\ndeprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as\nexperimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden.\nDeprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g:\nregions.list).", + "The user attempted to use a resource that requires a TOS they have not\naccepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts 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" + }, + "SnapshotParams": { + "description": "Additional snapshot params.", + "id": "SnapshotParams", "properties": { - "replicaZones": { - "description": "URLs of the zones where disks should be replicated to. Only applicable\nfor regional resources.", - "items": { + "resourceManagerTags": { + "additionalProperties": { "type": "string" }, - "type": "array" - }, - "sourceSnapshotGroup": { - "description": "The source snapshot group used to create disks. You can provide this as a\npartial or full URL to the resource. For example, the following are valid\nvalues:\n \n \n - https://www.googleapis.com/compute/v1/projects/project/global/snapshotGroups/snapshotGroup \n - projects/project/global/snapshotGroups/snapshotGroup\n - global/snapshotGroups/snapshotGroup", - "type": "string" - }, - "type": { - "description": "URL of the disk type resource describing which disk type to use to create\ndisks. Provide this when creating the disk. For example:projects/project/zones/zone/diskTypes/pd-ssd. See Persistent disk\ntypes.", - "type": "string" + "description": "Input only. Resource manager tags to be bound to the snapshot. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", + "type": "object" } }, "type": "object" }, - "SnapshotGroupSourceInfo": { - "id": "SnapshotGroupSourceInfo", + "SnapshotRecycleBinPolicy": { + "description": "Represents the singleton resource Snapshot Recycle Bin Policy that\nconfigures the retention duration for snapshots in the recycle bin.\n\nYou can configure the retention duration for snapshots in the recycle bin\nat the project or organization level. If you configure the policy at the\norganization level, all projects in that organization will share the same\npolicy. If you configure the policy at the project level it will be merged\nwith org level policy (if any) and the snapshots in that project will use\nthat policy.", + "id": "SnapshotRecycleBinPolicy", "properties": { - "consistencyGroup": { - "readOnly": true, - "type": "string" + "rules": { + "additionalProperties": { + "$ref": "SnapshotRecycleBinPolicyRule" + }, + "description": "The rules for the snapshot recycle bin policy. The key is either 'default'\nor namespacedName of the TagValue which can be in the format:\n`{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or\n`{project_id}/{tag_key_short_name}/{tag_value_short_name}` or\n`{project_number}/{tag_key_short_name}/{tag_value_short_name}`. The default\nrule is applied if snapshots do not have any of these tags.\n The value is the rule for the key.", + "type": "object" }, - "consistencyGroupId": { + "systemRules": { + "additionalProperties": { + "$ref": "SnapshotRecycleBinPolicyRule" + }, + "description": "Output only. The system rules for snapshot recycle bin policy.\nDefines the default rule that applies if no customer-defined rule matches.", "readOnly": true, - "type": "string" + "type": "object" } }, "type": "object" }, - "SnapshotGroupSourceInstantSnapshotGroupInfo": { - "id": "SnapshotGroupSourceInstantSnapshotGroupInfo", + "SnapshotRecycleBinPolicyRule": { + "description": "A rule that defines the retention policy for snapshots in the recycle bin.", + "id": "SnapshotRecycleBinPolicyRule", "properties": { - "instantSnapshotGroup": { - "readOnly": true, - "type": "string" - }, - "instantSnapshotGroupId": { - "readOnly": true, - "type": "string" + "standardSnapshots": { + "$ref": "SnapshotRecycleBinPolicyRuleRuleConfig", + "description": "The rule config for standard snapshots." } }, "type": "object" }, - "SnapshotList": { - "description": "Contains a list of Snapshot resources.", - "id": "SnapshotList", + "SnapshotRecycleBinPolicyRuleRuleConfig": { + "description": "The rule config for snapshots in the recycle bin.", + "id": "SnapshotRecycleBinPolicyRuleRuleConfig", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of Snapshot resources.", - "items": { - "$ref": "Snapshot" - }, - "type": "array" - }, - "kind": { - "default": "compute#snapshotList", - "description": "Output only. Type of resource.", - "readOnly": true, - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "Output only. [Output Only] Server-defined URL for this resource.", - "readOnly": true, + "retentionDurationDays": { + "description": "The retention duration for snapshots in the recycle bin after which the\nsnapshots are automatically deleted from recycle bin.", + "format": "int64", "type": "string" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "QUOTA_INFO_UNAVAILABLE", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed\noperation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as\ndeprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as\nexperimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden.\nDeprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "Quota information is not available to client requests (e.g:\nregions.list).", - "The user attempted to use a resource that requires a TOS they have not\naccepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }]", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts 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" - }, - "SnapshotParams": { - "description": "Additional snapshot params.", - "id": "SnapshotParams", - "properties": { - "resourceManagerTags": { - "additionalProperties": { - "type": "string" - }, - "description": "Input only. Resource manager tags to be bound to the snapshot. Tag keys and values have\nthe same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT &\nPATCH) when empty.", - "type": "object" } }, "type": "object" @@ -109946,6 +112476,17 @@ }, "type": "object" }, + "SnapshotsGetEffectiveRecycleBinRuleResponse": { + "id": "SnapshotsGetEffectiveRecycleBinRuleResponse", + "properties": { + "retentionDurationDays": { + "description": "The retention duration of the snapshot in recycle bin.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "SnapshotsScopedList": { "id": "SnapshotsScopedList", "properties": { @@ -113415,10 +115956,14 @@ "description": "Configures subnet mask resolution for this subnetwork.", "enum": [ "ARP_ALL_RANGES", + "ARP_BROADCAST_PRIMARY_RANGE", + "ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING", "ARP_PRIMARY_RANGE" ], "enumDescriptions": [ "All ranges assigned to the VM NIC will respond to ARP.", + "VMs will receive an ARP response from a VM instance owning the target IP\naddress within the subnetwork's primary CIDR range, if such a VM instance\nexists and is running.", + "Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache\nmapping between IP addresses and custom MAC addresses of instances and\nuse of it to set the correct destination MAC address. If this option is\nchosen, the subnetwork must have /24 or a smaller CIDR range.", "Only the primary range of the VM NIC will respond to ARP." ], "type": "string" @@ -120433,6 +122978,83 @@ }, "type": "object" }, + "VmExtensionState": { + "description": "State of an extension on an instance.", + "id": "VmExtensionState", + "properties": { + "enforcementMsg": { + "description": "The status message of the extension if the extension fails to enforce.", + "type": "string" + }, + "enforcementState": { + "description": "The enforcement state of the extension.\nIf the extension is not enforced yet, then the health status will not be\nspecified.", + "enum": [ + "APPLYING_CONFIG", + "ENFORCEMENT_STATE_UNSPECIFIED", + "INCOMPATIBLE", + "INSTALLED", + "INSTALLING", + "INSTALL_FAILED", + "REMOVING", + "ROLLBACK_FAILED", + "ROLLED_BACK", + "ROLLING_BACK", + "SERVICE_DISABLED" + ], + "enumDescriptions": [ + "A new configuration is being applied to the extension.\nDepending on each extensions' behavior, an extension restart might be\ninvolved in this process to get new configuration applied properly.", + "Enforcement state of the extension is unspecified.", + "None of the extension revisions of the given extension version is\ncompatible with the VM's architecture and Operating System.", + "The extension has been successfully installed.", + "The extension is being installed.", + "The installation of the extension failed, and there's no recorded stable\nextension revision to rollback to.", + "The extension is being removed from the resource.", + "The rollback of the extension failed.", + "The extension has been successfully rolled back.\n\nThis value describes the rollback state of the extension, not the health\nstatus. It's possible that the extension is rolled back to the last\nstable revision but still keeps crashing, e.g. there's a change to the\nVM and no extension revisions can run normally.", + "The extension is being rolled back to the last stable revision the system\nrecorded.", + "The service requiring this extension is disabled." + ], + "type": "string" + }, + "healthMsg": { + "description": "The health status message of the extension.", + "type": "string" + }, + "healthStatus": { + "description": "The health status of the extension.", + "enum": [ + "CRASHED", + "HEALTH_STATUS_UNSPECIFIED", + "RUNNING", + "STARTING", + "STOPPED", + "STOPPING" + ], + "enumDescriptions": [ + "The extension crashed.", + "Health status is unspecified.", + "The extension is running.", + "The extension is starting.", + "The extension is stopped.", + "The extension is stopping." + ], + "type": "string" + }, + "name": { + "description": "The name of the extension.", + "type": "string" + }, + "policyId": { + "description": "The id of the policy that is enforced on the extension.", + "type": "string" + }, + "version": { + "description": "The version of the extension.", + "type": "string" + } + }, + "type": "object" + }, "VpnGateway": { "description": "Represents a HA VPN gateway.\n\nHA VPN is a high-availability (HA) Cloud VPN solution that lets you securely\nconnect your on-premises network to your Google Cloud Virtual Private Cloud\nnetwork through an IPsec VPN connection in a single region.\nFor more information about Cloud HA VPN solutions, see\nCloud VPN topologies .", "id": "VpnGateway", diff --git a/discovery/compute-v1.json b/discovery/compute-v1.json index 62e77361298..b2372fc1b7d 100644 --- a/discovery/compute-v1.json +++ b/discovery/compute-v1.json @@ -965,6 +965,80 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "capacity": { + "description": "Advice on making real-time decisions (such as choosing zone or\nmachine types) during deployment to maximize your chances of obtaining\ncapacity.", + "flatPath": "projects/{project}/regions/{region}/advice/capacity", + "httpMethod": "POST", + "id": "compute.advice.capacity", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/advice/capacity", + "request": { + "$ref": "CapacityAdviceRequest" + }, + "response": { + "$ref": "CapacityAdviceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "capacityHistory": { + "description": "Gets the capacity history.", + "flatPath": "projects/{project}/regions/{region}/advice/capacityHistory", + "httpMethod": "POST", + "id": "compute.advice.capacityHistory", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/advice/capacityHistory", + "request": { + "$ref": "CapacityHistoryRequest" + }, + "response": { + "$ref": "CapacityHistoryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -23189,6 +23263,45 @@ } } }, + "projectViews": { + "methods": { + "get": { + "description": "Returns the specified global ProjectViews resource, with a regional\ncontext.\nThis regional API endpoint reads resource metadata from regional\nread-only replicas. Because changes are copied to these regional replicas\nasynchronously, for real-time resource reads or any write operations\n(creating, updating, or deleting resources), use the global\n[projects.get](https://cloud.google.com/compute/docs/reference/rest/v1/projects/get)\nendpoint.", + "flatPath": "projects/{project}/regions/{region}/projectViews", + "httpMethod": "GET", + "id": "compute.projectViews.get", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Required. Project ID for this request. This is part of the URL path.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Required. Name of the region for this request. This is part of the URL path.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/projectViews", + "response": { + "$ref": "ProjectView" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "projects": { "methods": { "disableXpnHost": { @@ -48767,7 +48880,7 @@ } } }, - "revision": "20260821", + "revision": "20260828", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -53350,7 +53463,7 @@ "id": "BackendServiceHAPolicyLeaderNetworkEndpoint", "properties": { "instance": { - "description": "The name of the VM instance of the leader network endpoint. The\ninstance must already be attached to the NEG specified in the\nhaPolicy.leader.backendGroup.\n\nThe name must be 1-63 characters long, and comply with RFC1035.\nAuthorization requires the following IAM permission on the\nspecified resource instance: compute.instances.use", + "description": "The name of the VM instance of the leader network endpoint. The\ninstance must already be attached to the NEG specified in the\nhaPolicy.leader.backendGroup.\n\nThe value must be a valid RFC1035 name (1-63 characters) or a valid\ninstance URL.\nAuthorization requires the following IAM permission on the\nspecified resource instance: compute.instances.use", "type": "string" } }, @@ -54862,6 +54975,394 @@ }, "type": "object" }, + "CapacityAdviceRequest": { + "description": "A request to provide Assistant Scores. These scores determine VM\nobtainability and preemption likelihood.", + "id": "CapacityAdviceRequest", + "properties": { + "distributionPolicy": { + "$ref": "CapacityAdviceRequestDistributionPolicy", + "description": "Policy specifying the distribution of instances across\nzones within the requested region." + }, + "instanceFlexibilityPolicy": { + "$ref": "CapacityAdviceRequestInstanceFlexibilityPolicy", + "description": "Policy for instance selectors." + }, + "instanceProperties": { + "$ref": "CapacityAdviceRequestInstanceProperties", + "description": "Instance properties for this request." + }, + "size": { + "description": "The number of VM instances to request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "CapacityAdviceRequestDistributionPolicy": { + "description": "Distribution policy.", + "id": "CapacityAdviceRequestDistributionPolicy", + "properties": { + "targetShape": { + "description": "Target distribution shape. You can specify the following values:ANY, ANY_SINGLE_ZONE, or BALANCED.", + "enum": [ + "ANY", + "ANY_SINGLE_ZONE", + "BALANCED", + "TARGET_SHAPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Picks zones for creating VM instances to fulfill the requested number\nof VMs within present resource constraints.", + "Creates all VM instances within a single zone. The zone is selected\nbased on the present resource constraints.", + "Prioritizes acquisition of resources, scheduling VMs in zones where\nresources are available while distributing VMs as evenly as possible\nacross selected zones to minimize the impact of zonal failure.", + "Default value, unused." + ], + "type": "string" + }, + "zones": { + "description": "Zones where Capacity Advisor looks for capacity.", + "items": { + "$ref": "CapacityAdviceRequestDistributionPolicyZoneConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "CapacityAdviceRequestDistributionPolicyZoneConfiguration": { + "description": "Zone configuration for the distribution policy.", + "id": "CapacityAdviceRequestDistributionPolicyZoneConfiguration", + "properties": { + "zone": { + "description": "The URL of the zone. It can be a\npartial or full URL. For example, the following are valid values: \n \n \n - https://www.googleapis.com/compute/v1/projects/project/zones/zone \n - projects/project/zones/zone \n - zones/zone", + "type": "string" + } + }, + "type": "object" + }, + "CapacityAdviceRequestInstanceFlexibilityPolicy": { + "description": "Specification of alternative, flexible instance configurations.", + "id": "CapacityAdviceRequestInstanceFlexibilityPolicy", + "properties": { + "instanceSelections": { + "additionalProperties": { + "$ref": "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection" + }, + "description": "Named instance selections to configure properties.\nThe key is an arbitrary, unique RFC1035 string that identifies the\ninstance selection.", + "type": "object" + } + }, + "type": "object" + }, + "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection": { + "description": "Machine specification.", + "id": "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection", + "properties": { + "disks": { + "description": "Local SSDs.", + "items": { + "$ref": "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk" + }, + "type": "array" + }, + "guestAccelerators": { + "description": "Accelerators configuration.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "machineTypes": { + "description": "Full machine-type names, e.g. \"n1-standard-16\".", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk": { + "description": "Attached disk configuration.", + "id": "CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk", + "properties": { + "type": { + "description": "Specifies the type of the disk.", + "enum": [ + "DISK_TYPE_UNSPECIFIED", + "SCRATCH" + ], + "enumDescriptions": [ + "Default value, unspecified disk type.", + "Scratch disk (Local SSD)." + ], + "type": "string" + } + }, + "type": "object" + }, + "CapacityAdviceRequestInstanceProperties": { + "description": "Instance provisioning properties.", + "id": "CapacityAdviceRequestInstanceProperties", + "properties": { + "scheduling": { + "$ref": "CapacityAdviceRequestInstancePropertiesScheduling", + "description": "Specifies the scheduling options." + } + }, + "type": "object" + }, + "CapacityAdviceRequestInstancePropertiesScheduling": { + "description": "Defines the instance scheduling options.", + "id": "CapacityAdviceRequestInstancePropertiesScheduling", + "properties": { + "provisioningModel": { + "description": "Specifies the provisioning model.", + "enum": [ + "FLEX_START", + "RESERVATION_BOUND", + "SPOT", + "STANDARD" + ], + "enumDescriptions": [ + "Instance is provisioned using the Flex Start provisioning model and\nhas a limited runtime.", + "Bound to the lifecycle of the reservation in which it is provisioned.", + "Heavily discounted, no guaranteed runtime.", + "Standard provisioning with user controlled runtime, no discounts." + ], + "type": "string" + } + }, + "type": "object" + }, + "CapacityAdviceResponse": { + "description": "A response contains scoring recommendations.", + "id": "CapacityAdviceResponse", + "properties": { + "recommendations": { + "description": "Initially the API will provide one recommendation which balances the\nindividual scores according to the service provider's preference.", + "items": { + "$ref": "CapacityAdviceResponseRecommendation" + }, + "type": "array" + } + }, + "type": "object" + }, + "CapacityAdviceResponseRecommendation": { + "description": "Recommendation.", + "id": "CapacityAdviceResponseRecommendation", + "properties": { + "scores": { + "$ref": "CapacityAdviceResponseRecommendationScores", + "description": "Scores for the recommendation." + }, + "shards": { + "description": "Shards represent blocks of uniform capacity in recommendations.", + "items": { + "$ref": "CapacityAdviceResponseRecommendationShard" + }, + "type": "array" + } + }, + "type": "object" + }, + "CapacityAdviceResponseRecommendationScores": { + "description": "Groups information about a shard of capacity.", + "id": "CapacityAdviceResponseRecommendationScores", + "properties": { + "estimatedUptime": { + "description": "The estimated run time of the majority of Spot VMs in the request\nbefore preemption. The estimate is best-effort only. It is based on\nhistorical data and current conditions.", + "format": "google-duration", + "type": "string" + }, + "obtainability": { + "description": "The obtainability score indicates the likelihood of successfully\nobtaining (provisioning) the requested number of VMs.\nThe score range is 0.0 through 1.0. Higher is better.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "CapacityAdviceResponseRecommendationShard": { + "description": "Shards represent blocks of uniform capacity in recommendations.\nEach shard is for a single zone and a single machine shape. Each shard\ndefines a size expressed as the number of VMs.", + "id": "CapacityAdviceResponseRecommendationShard", + "properties": { + "instanceCount": { + "description": "The number of instances.", + "format": "int32", + "type": "integer" + }, + "machineType": { + "description": "The machine type corresponds to the instance selection in the request.", + "type": "string" + }, + "provisioningModel": { + "description": "The provisioning model that you want to view recommendations for.", + "enum": [ + "FLEX_START", + "RESERVATION_BOUND", + "SPOT", + "STANDARD" + ], + "enumDescriptions": [ + "Instance is provisioned using the Flex Start provisioning model and\nhas a limited runtime.", + "Bound to the lifecycle of the reservation in which it is provisioned.", + "Heavily discounted, no guaranteed runtime.", + "Standard provisioning with user controlled runtime, no discounts." + ], + "type": "string" + }, + "zone": { + "description": "Output only. The zone name for this shard.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CapacityHistoryRequest": { + "description": "A request to get the capacity history.", + "id": "CapacityHistoryRequest", + "properties": { + "instanceProperties": { + "$ref": "CapacityHistoryRequestInstanceProperties", + "description": "Instance properties for this request." + }, + "locationPolicy": { + "$ref": "CapacityHistoryRequestLocationPolicy", + "description": "Location policy for this request." + }, + "types": { + "description": "List of history types to get capacity history for.", + "items": { + "enum": [ + "HISTORY_TYPE_UNSPECIFIED", + "PREEMPTION", + "PRICE" + ], + "enumDescriptions": [ + "Default value, unused.", + "Preemption history.", + "Price history." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CapacityHistoryRequestInstanceProperties": { + "description": "Instance properties for this request.", + "id": "CapacityHistoryRequestInstanceProperties", + "properties": { + "machineType": { + "description": "The machine type for the VM, such as `n2-standard-4`.", + "type": "string" + }, + "scheduling": { + "$ref": "CapacityHistoryRequestInstancePropertiesScheduling", + "description": "Specifies the scheduling options." + } + }, + "type": "object" + }, + "CapacityHistoryRequestInstancePropertiesScheduling": { + "description": "Scheduling options.", + "id": "CapacityHistoryRequestInstancePropertiesScheduling", + "properties": { + "provisioningModel": { + "description": "The provisioning model to get capacity history for.\nThis field must be set to SPOT.\n\nFor more information, see\nCompute Engine instances provisioning models.", + "enum": [ + "FLEX_START", + "RESERVATION_BOUND", + "SPOT", + "STANDARD" + ], + "enumDescriptions": [ + "Instance is provisioned using the Flex Start provisioning model and\nhas a limited runtime.", + "Bound to the lifecycle of the reservation in which it is provisioned.", + "Heavily discounted, no guaranteed runtime.", + "Standard provisioning with user controlled runtime, no discounts." + ], + "type": "string" + } + }, + "type": "object" + }, + "CapacityHistoryRequestLocationPolicy": { + "description": "Location policy for this request.", + "id": "CapacityHistoryRequestLocationPolicy", + "properties": { + "location": { + "description": "The region or zone to get capacity history for.\n\nIt can be a partial or full URL. For example, the following are valid\nvalues: \n \n \n - https://www.googleapis.com/compute/v1/projects/project/zones/zone \n - projects/project/zones/zone \n - zones/zone\n\n\n\nThis field is optional.", + "type": "string" + } + }, + "type": "object" + }, + "CapacityHistoryResponse": { + "description": "Contains the capacity history.", + "id": "CapacityHistoryResponse", + "properties": { + "location": { + "description": "Output only. The location (region or zone) for which the capacity history is returned.\nIt is returned as a URL - For example,https://www.googleapis.com/compute/v1/projects/project/zones/zone.", + "readOnly": true, + "type": "string" + }, + "machineType": { + "description": "The machine type for which the capacity history is returned.", + "type": "string" + }, + "preemptionHistory": { + "description": "The preemption history for the requested machine type and location.", + "items": { + "$ref": "CapacityHistoryResponsePreemptionRecord" + }, + "type": "array" + }, + "priceHistory": { + "description": "The price history for the requested machine type and location.", + "items": { + "$ref": "CapacityHistoryResponsePriceRecord" + }, + "type": "array" + } + }, + "type": "object" + }, + "CapacityHistoryResponsePreemptionRecord": { + "description": "A record of Spot VM preemption history.", + "id": "CapacityHistoryResponsePreemptionRecord", + "properties": { + "interval": { + "$ref": "Interval", + "description": "The time interval for this preemption record." + }, + "preemptionRate": { + "description": "The preemption rate during the interval, representing the fraction of\nSpot VMs that were preempted. Range: 0.0 to 1.0. Preemption rate is\ncalculated as (total preempted Spots) / (total Spots that stopped\nrunning).", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "CapacityHistoryResponsePriceRecord": { + "description": "A record of price history.", + "id": "CapacityHistoryResponsePriceRecord", + "properties": { + "interval": { + "$ref": "Interval", + "description": "The time interval for this price record." + }, + "listPrice": { + "$ref": "Money", + "description": "The Spot VM list price during the interval." + } + }, + "type": "object" + }, "CircuitBreakers": { "description": "Settings controlling the volume of requests, connections and retries to this\nbackend service.", "id": "CircuitBreakers", @@ -62879,6 +63380,7 @@ "description": "The ID of a supported feature. To add multiple values, use commas to\nseparate values. Set to one or more of the following values:\n \n - VIRTIO_SCSI_MULTIQUEUE\n - WINDOWS\n - MULTI_IP_SUBNET\n - UEFI_COMPATIBLE\n - GVNIC\n - SEV_CAPABLE\n - SUSPEND_RESUME_COMPATIBLE\n - SEV_LIVE_MIGRATABLE_V2\n - SEV_SNP_CAPABLE\n - TDX_CAPABLE\n - IDPF\n - SNP_SVSM_CAPABLE\n - CCA_CAPABLE\n - SUSPEND_SAFE_FPR\n\n\nFor more information, see\nEnabling guest operating system features.", "enum": [ "BARE_METAL_LINUX_COMPATIBLE", + "BMSAI_CAPABLE", "CCA_CAPABLE", "FEATURE_TYPE_UNSPECIFIED", "GVNIC", @@ -62898,6 +63400,7 @@ ], "enumDescriptions": [ "", + "Indicates the guest OS is capable of Bare Metal Secure AI (BMSAI)\nconfidential computing.", "", "", "", @@ -71237,6 +71740,10 @@ "description": "Represents the change that you want to make to the instance properties.", "id": "InstancePropertiesPatch", "properties": { + "exposeHostTopology": { + "description": "This optional flag exposes the hashed physical host ID.", + "type": "boolean" + }, "labels": { "additionalProperties": { "type": "string" @@ -76932,6 +77439,23 @@ }, "type": "object" }, + "Interval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a\nTimestamp end (exclusive).\n\nThe start must be less than or equal to the end.\nWhen the start equals the end, the interval is empty (matches no time).\nWhen both start and end are unspecified, the interval matches any time.", + "id": "Interval", + "properties": { + "endTime": { + "description": "Optional. Exclusive end of the interval.\n\nIf specified, a Timestamp matching this interval will have to be before the\nend.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval.\n\nIf specified, a Timestamp matching this interval will have to be the same\nor after the start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "License": { "description": "Represents a License resource.\n\nA License represents billing and aggregate usage data forpublic andmarketplace images.\n *Caution* This resource is intended for\nuse only by third-party partners who are creatingCloud Marketplace\nimages.", "id": "License", @@ -78951,6 +79475,27 @@ }, "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.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor 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.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "NamedPort": { "description": "The named port. For example: <\"http\", 80>.", "id": "NamedPort", @@ -87745,6 +88290,17 @@ }, "type": "object" }, + "ProjectView": { + "description": "Represents a ProjectView resource.\n\nA ProjectView resource contains read-only project data which is available\nglobally.", + "id": "ProjectView", + "properties": { + "project": { + "$ref": "Project", + "description": "The project data.\nThe returned Project data does not contain regional or zonal quota\nusage data. Global quota limits are present. For accurate, real-time quota\nusage numbers, query the global\n[projects.get](https://cloud.google.com/compute/docs/reference/rest/v1/projects/get)\nendpoint." + } + }, + "type": "object" + }, "ProjectsDisableXpnResourceRequest": { "id": "ProjectsDisableXpnResourceRequest", "properties": { @@ -98422,6 +98978,10 @@ "format": "int32", "type": "integer" }, + "exposeHostTopology": { + "description": "This optional flag exposes the hashed physical host ID in the\nResourceStatus resource of the VM.", + "type": "boolean" + }, "gracefulShutdown": { "$ref": "SchedulingGracefulShutdown" }, diff --git a/discovery/contactcenterinsights-v1.json b/discovery/contactcenterinsights-v1.json index 2ce7233860e..a183e14d457 100644 --- a/discovery/contactcenterinsights-v1.json +++ b/discovery/contactcenterinsights-v1.json @@ -1595,12 +1595,14 @@ "enum": [ "CONVERSATION_VIEW_UNSPECIFIED", "FULL", - "BASIC" + "BASIC", + "FULL_WITH_STRUCTURED_TRANSCRIPT" ], "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." + "Populates all fields in the conversation except the transcript.", + "Populates all fields in the conversation, including the structured transcript parts." ], "location": "query", "type": "string" @@ -1656,12 +1658,14 @@ "enum": [ "CONVERSATION_VIEW_UNSPECIFIED", "FULL", - "BASIC" + "BASIC", + "FULL_WITH_STRUCTURED_TRANSCRIPT" ], "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." + "Populates all fields in the conversation except the transcript.", + "Populates all fields in the conversation, including the structured transcript parts." ], "location": "query", "type": "string" @@ -2668,12 +2672,14 @@ "enum": [ "CONVERSATION_VIEW_UNSPECIFIED", "FULL", - "BASIC" + "BASIC", + "FULL_WITH_STRUCTURED_TRANSCRIPT" ], "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." + "Populates all fields in the conversation except the transcript.", + "Populates all fields in the conversation, including the structured transcript parts." ], "location": "query", "type": "string" @@ -2757,12 +2763,14 @@ "enum": [ "CONVERSATION_VIEW_UNSPECIFIED", "FULL", - "BASIC" + "BASIC", + "FULL_WITH_STRUCTURED_TRANSCRIPT" ], "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." + "Populates all fields in the conversation except the transcript.", + "Populates all fields in the conversation, including the structured transcript parts." ], "location": "query", "type": "string" @@ -4274,12 +4282,14 @@ "enum": [ "CONVERSATION_VIEW_UNSPECIFIED", "FULL", - "BASIC" + "BASIC", + "FULL_WITH_STRUCTURED_TRANSCRIPT" ], "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." + "Populates all fields in the conversation except the transcript.", + "Populates all fields in the conversation, including the structured transcript parts." ], "location": "query", "type": "string" @@ -4363,12 +4373,14 @@ "enum": [ "CONVERSATION_VIEW_UNSPECIFIED", "FULL", - "BASIC" + "BASIC", + "FULL_WITH_STRUCTURED_TRANSCRIPT" ], "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." + "Populates all fields in the conversation except the transcript.", + "Populates all fields in the conversation, including the structured transcript parts." ], "location": "query", "type": "string" @@ -6236,7 +6248,7 @@ } } }, - "revision": "20260825", + "revision": "20260902", "rootUrl": "https://contactcenterinsights.googleapis.com/", "schemas": { "GoogleCloudCesV1mainAgentTransfer": { @@ -6349,6 +6361,10 @@ "description": "Represents an image input or output in the conversation.", "id": "GoogleCloudCesV1mainImage", "properties": { + "altText": { + "description": "Optional. The alternative text for the image.", + "type": "string" + }, "data": { "description": "Required. Raw bytes of the image.", "format": "byte", @@ -12144,12 +12160,14 @@ "enum": [ "PREDEFINED_QUESTION_TYPE_UNSPECIFIED", "CONVERSATION_OUTCOME", - "CONVERSATION_OUTCOME_ESCALATION_INITIATOR_ROLE" + "CONVERSATION_OUTCOME_ESCALATION_INITIATOR_ROLE", + "CONVERSATION_OUTCOME_AI_AVERSION" ], "enumDescriptions": [ "The type of the predefined question is unspecified.", "A prebuilt classifier classfying the outcome of the conversation. For example, if the customer issue mentioned in a conversation has been resolved or not.", - "A prebuilt classifier classfying the initiator of the conversation escalation. For example, if it was initiated by the customer or the agent." + "A prebuilt classifier classfying the initiator of the conversation escalation. For example, if it was initiated by the customer or the agent.", + "Classifies whether the customer demonstrates AI aversion by instantly requesting escalation to a human agent without attempting to work with the AI agent." ], "type": "string" } diff --git a/discovery/container-v1.json b/discovery/container-v1.json index 597d3766f8f..d4f1fbea055 100644 --- a/discovery/container-v1.json +++ b/discovery/container-v1.json @@ -2811,7 +2811,7 @@ } } }, - "revision": "20260727", + "revision": "20260818", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -7161,7 +7161,7 @@ "description": "Parameters for containerd customization." }, "diskSizeGb": { - "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.", + "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 15 GB for node pools running GKE versions 1.36.3-gke.1480000 or later. Or, for earlier versions, the smallest allowed disk size is 12 GB. If unspecified, the default disk size is 100GB.", "format": "int32", "type": "integer" }, @@ -8768,6 +8768,14 @@ "description": "The default version for newly created clusters on the channel.", "type": "string" }, + "previewVersions": { + "description": "Output only. List of preview versions for the channel.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "upgradeTargetVersion": { "description": "The auto upgrade target version for clusters on the channel.", "type": "string" diff --git a/discovery/container-v1beta1.json b/discovery/container-v1beta1.json index cff021a8cf2..76638d726c6 100644 --- a/discovery/container-v1beta1.json +++ b/discovery/container-v1beta1.json @@ -2837,7 +2837,7 @@ } } }, - "revision": "20260727", + "revision": "20260818", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3353,7 +3353,7 @@ "type": "string" }, "diskSizeGb": { - "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.", + "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 15 GB for node pools running GKE versions 1.36.3-gke.1480000 or later. Or, for earlier versions, the smallest allowed disk size is 12 GB. If unspecified, the default disk size is 100GB.", "format": "int32", "type": "integer" }, @@ -7557,7 +7557,7 @@ "description": "Parameters for containerd customization." }, "diskSizeGb": { - "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.", + "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 15 GB for node pools running GKE versions 1.36.2-gke.2933000 or later. Or, for earlier versions, the smallest allowed disk size is 12 GB. If unspecified, the default disk size is 100GB.", "format": "int32", "type": "integer" }, @@ -9263,6 +9263,14 @@ "description": "The default version for newly created clusters on the channel.", "type": "string" }, + "previewVersions": { + "description": "Output only. List of preview versions for the channel.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "upgradeTargetVersion": { "description": "The auto upgrade target version for clusters on the channel.", "type": "string" diff --git a/discovery/containeranalysis-v1.json b/discovery/containeranalysis-v1.json index 1f0461b78ed..9d8995aea5e 100644 --- a/discovery/containeranalysis-v1.json +++ b/discovery/containeranalysis-v1.json @@ -1715,7 +1715,7 @@ } } }, - "revision": "20260819", + "revision": "20260826", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AISkillAnalysisNote": { @@ -5902,6 +5902,10 @@ "Scan was not performed." ], "type": "string" + }, + "tokenUsage": { + "$ref": "TokenUsage", + "description": "Telemetry metrics tracking token usage for the AI scan." } }, "type": "object" @@ -7379,6 +7383,38 @@ }, "type": "object" }, + "TokenUsage": { + "description": "Token usage associated with an AI scan.", + "id": "TokenUsage", + "properties": { + "cacheCount": { + "description": "Cache matched tokens for implicit cache.", + "format": "int64", + "type": "string" + }, + "candidateCount": { + "description": "Tokens in the model response.", + "format": "int64", + "type": "string" + }, + "promptCount": { + "description": "Tokens in the user request.", + "format": "int64", + "type": "string" + }, + "thinkingCount": { + "description": "Tokens in the thinking output.", + "format": "int64", + "type": "string" + }, + "toolUsePromptCount": { + "description": "Prompt tokens for using tools.", + "format": "int64", + "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", diff --git a/discovery/containeranalysis-v1alpha1.json b/discovery/containeranalysis-v1alpha1.json index b904400a56b..7cdf0e42b09 100644 --- a/discovery/containeranalysis-v1alpha1.json +++ b/discovery/containeranalysis-v1alpha1.json @@ -1454,7 +1454,7 @@ } } }, - "revision": "20260819", + "revision": "20260826", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AISkillAnalysisNote": { @@ -5812,6 +5812,11 @@ ], "readOnly": true, "type": "string" + }, + "tokenUsage": { + "$ref": "TokenUsage", + "description": "Output only. Telemetry metrics tracking token usage for the AI scan.", + "readOnly": true } }, "type": "object" @@ -7753,6 +7758,43 @@ }, "type": "object" }, + "TokenUsage": { + "description": "Token usage associated with an AI scan.", + "id": "TokenUsage", + "properties": { + "cacheCount": { + "description": "Output only. Cache matched tokens for implicit cache.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "candidateCount": { + "description": "Output only. Tokens in the model response.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "promptCount": { + "description": "Output only. Tokens in the user request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "thinkingCount": { + "description": "Output only. Tokens in the thinking output.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "toolUsePromptCount": { + "description": "Output only. Prompt tokens for using tools.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "URI": { "description": "An URI message.", "id": "URI", diff --git a/discovery/containeranalysis-v1beta1.json b/discovery/containeranalysis-v1beta1.json index 80a0ce4d80e..aaf5773f0c0 100644 --- a/discovery/containeranalysis-v1beta1.json +++ b/discovery/containeranalysis-v1beta1.json @@ -1771,7 +1771,7 @@ } } }, - "revision": "20260819", + "revision": "20260826", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AISkillAnalysisNote": { @@ -6186,6 +6186,10 @@ "Scan was not performed." ], "type": "string" + }, + "tokenUsage": { + "$ref": "TokenUsage", + "description": "Telemetry metrics tracking token usage for the AI scan." } }, "type": "object" @@ -7782,6 +7786,38 @@ }, "type": "object" }, + "TokenUsage": { + "description": "Token usage associated with an AI scan.", + "id": "TokenUsage", + "properties": { + "cacheCount": { + "description": "Cache matched tokens for implicit cache.", + "format": "int64", + "type": "string" + }, + "candidateCount": { + "description": "Tokens in the model response.", + "format": "int64", + "type": "string" + }, + "promptCount": { + "description": "Tokens in the user request.", + "format": "int64", + "type": "string" + }, + "thinkingCount": { + "description": "Tokens in the thinking output.", + "format": "int64", + "type": "string" + }, + "toolUsePromptCount": { + "description": "Prompt tokens for using tools.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Version": { "description": "Version contains structured information about the version of a package.", "id": "Version", diff --git a/discovery/content-v2.1.json b/discovery/content-v2.1.json deleted file mode 100644 index efcfa5a1958..00000000000 --- a/discovery/content-v2.1.json +++ /dev/null @@ -1,13682 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/content": { - "description": "Manage your product listings and accounts for Google Shopping" - } - } - } - }, - "basePath": "/content/v2.1/", - "baseUrl": "https://shoppingcontent.googleapis.com/content/v2.1/", - "batchPath": "batch", - "canonicalName": "Shopping Content", - "description": "This API is deprecated. Please use Merchant API instead: https://developers.google.com/merchant/api. ", - "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/shopping-content/v2/", - "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": "content:v2.1", - "kind": "discovery#restDescription", - "mtlsRootUrl": "https://shoppingcontent.mtls.googleapis.com/", - "name": "content", - "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": { - "authinfo": { - "description": "Returns information about the authenticated user.", - "flatPath": "accounts/authinfo", - "httpMethod": "GET", - "id": "content.accounts.authinfo", - "parameterOrder": [], - "parameters": {}, - "path": "accounts/authinfo", - "response": { - "$ref": "AccountsAuthInfoResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "claimwebsite": { - "description": "Claims the website of a Merchant Center sub-account. Merchant accounts with approved third-party CSSs aren't required to claim a website.", - "flatPath": "{merchantId}/accounts/{accountId}/claimwebsite", - "httpMethod": "POST", - "id": "content.accounts.claimwebsite", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account whose website is claimed.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "overwrite": { - "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" - } - }, - "path": "{merchantId}/accounts/{accountId}/claimwebsite", - "response": { - "$ref": "AccountsClaimWebsiteResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "custombatch": { - "description": "Retrieves, inserts, updates, and deletes multiple Merchant Center (sub-)accounts in a single request.", - "flatPath": "accounts/batch", - "httpMethod": "POST", - "id": "content.accounts.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "accounts/batch", - "request": { - "$ref": "AccountsCustomBatchRequest" - }, - "response": { - "$ref": "AccountsCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes a Merchant Center sub-account.", - "flatPath": "{merchantId}/accounts/{accountId}", - "httpMethod": "DELETE", - "id": "content.accounts.delete", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "force": { - "default": "false", - "description": "Option to delete sub-accounts with products. The default value is false.", - "location": "query", - "type": "boolean" - }, - "merchantId": { - "description": "The ID of the managing account. This must be a multi-client account, and accountId must be the ID of a sub-account of this account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/accounts/{accountId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves a Merchant Center account.", - "flatPath": "{merchantId}/accounts/{accountId}", - "httpMethod": "GET", - "id": "content.accounts.get", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "view": { - "description": "Controls which fields will be populated. Acceptable values are: \"merchant\" and \"css\". The default value is \"merchant\".", - "enum": [ - "MERCHANT", - "CSS" - ], - "enumDescriptions": [ - "Default. View is populated with Merchant Center fields.", - "View is populated with Comparison Shopping Services fields." - ], - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/accounts/{accountId}", - "response": { - "$ref": "Account" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "insert": { - "description": "Creates a Merchant Center sub-account.", - "flatPath": "{merchantId}/accounts", - "httpMethod": "POST", - "id": "content.accounts.insert", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the managing account. This must be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/accounts", - "request": { - "$ref": "Account" - }, - "response": { - "$ref": "Account" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "link": { - "description": "Performs an action on a link between two Merchant Center accounts, namely accountId and linkedAccountId.", - "flatPath": "{merchantId}/accounts/{accountId}/link", - "httpMethod": "POST", - "id": "content.accounts.link", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account that should be linked.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/accounts/{accountId}/link", - "request": { - "$ref": "AccountsLinkRequest" - }, - "response": { - "$ref": "AccountsLinkResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the sub-accounts in your Merchant Center account.", - "flatPath": "{merchantId}/accounts", - "httpMethod": "GET", - "id": "content.accounts.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "label": { - "description": "If view is set to \"css\", only return accounts that are assigned label with given ID.", - "format": "uint64", - "location": "query", - "type": "string" - }, - "maxResults": { - "description": "The maximum number of accounts to return in the response, used for paging.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the managing account. This must be a multi-client account.", - "format": "uint64", - "location": "path", - "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", - "type": "string" - }, - "view": { - "description": "Controls which fields will be populated. Acceptable values are: \"merchant\" and \"css\". The default value is \"merchant\".", - "enum": [ - "MERCHANT", - "CSS" - ], - "enumDescriptions": [ - "Default. View is populated with Merchant Center fields.", - "View is populated with Comparison Shopping Services fields." - ], - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/accounts", - "response": { - "$ref": "AccountsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "listlinks": { - "description": "Returns the list of accounts linked to your Merchant Center account.", - "flatPath": "{merchantId}/accounts/{accountId}/listlinks", - "httpMethod": "GET", - "id": "content.accounts.listlinks", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to list links.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "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" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/accounts/{accountId}/listlinks", - "response": { - "$ref": "AccountsListLinksResponse" - }, - "scopes": [ - "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}", - "httpMethod": "PUT", - "id": "content.accounts.update", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/accounts/{accountId}", - "request": { - "$ref": "Account" - }, - "response": { - "$ref": "Account" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "updatelabels": { - "description": "Updates labels that are assigned to the Merchant Center account by CSS user.", - "flatPath": "{merchantId}/accounts/{accountId}/updatelabels", - "httpMethod": "POST", - "id": "content.accounts.updatelabels", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account whose labels are updated.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/accounts/{accountId}/updatelabels", - "request": { - "$ref": "AccountsUpdateLabelsRequest" - }, - "response": { - "$ref": "AccountsUpdateLabelsResponse" - }, - "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": { - "credentials": { - "methods": { - "create": { - "description": "Uploads credentials for the Merchant Center account. If credentials already exist for this Merchant Center account and purpose, this method updates them.", - "flatPath": "accounts/{accountId}/credentials", - "httpMethod": "POST", - "id": "content.accounts.credentials.create", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Required. The merchant id of the account these credentials belong to.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "accounts/{accountId}/credentials", - "request": { - "$ref": "AccountCredentials" - }, - "response": { - "$ref": "AccountCredentials" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "labels": { - "methods": { - "create": { - "description": "Creates a new label, not assigned to any account.", - "flatPath": "accounts/{accountId}/labels", - "httpMethod": "POST", - "id": "content.accounts.labels.create", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Required. The id of the account this label belongs to.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "accounts/{accountId}/labels", - "request": { - "$ref": "AccountLabel" - }, - "response": { - "$ref": "AccountLabel" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes a label and removes it from all accounts to which it was assigned.", - "flatPath": "accounts/{accountId}/labels/{labelId}", - "httpMethod": "DELETE", - "id": "content.accounts.labels.delete", - "parameterOrder": [ - "accountId", - "labelId" - ], - "parameters": { - "accountId": { - "description": "Required. The id of the account that owns the label.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "labelId": { - "description": "Required. The id of the label to delete.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "accounts/{accountId}/labels/{labelId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the labels assigned to an account.", - "flatPath": "accounts/{accountId}/labels", - "httpMethod": "GET", - "id": "content.accounts.labels.list", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Required. The account id for whose labels are to be listed.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of labels to return. The service may return fewer than this value. If unspecified, at most 50 labels 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 `ListAccountLabels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountLabels` must match the call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "accounts/{accountId}/labels", - "response": { - "$ref": "ListAccountLabelsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "patch": { - "description": "Updates a label.", - "flatPath": "accounts/{accountId}/labels/{labelId}", - "httpMethod": "PATCH", - "id": "content.accounts.labels.patch", - "parameterOrder": [ - "accountId", - "labelId" - ], - "parameters": { - "accountId": { - "description": "Required. The id of the account this label belongs to.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "labelId": { - "description": "Required. The id of the label to update.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "accounts/{accountId}/labels/{labelId}", - "request": { - "$ref": "AccountLabel" - }, - "response": { - "$ref": "AccountLabel" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "returncarrier": { - "methods": { - "create": { - "description": "Links return carrier to a merchant account.", - "flatPath": "accounts/{accountId}/returncarrier", - "httpMethod": "POST", - "id": "content.accounts.returncarrier.create", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Required. The Merchant Center Account Id under which the Return Carrier is to be linked.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "accounts/{accountId}/returncarrier", - "request": { - "$ref": "AccountReturnCarrier" - }, - "response": { - "$ref": "AccountReturnCarrier" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Delete a return carrier in the merchant account.", - "flatPath": "accounts/{accountId}/returncarrier/{carrierAccountId}", - "httpMethod": "DELETE", - "id": "content.accounts.returncarrier.delete", - "parameterOrder": [ - "accountId", - "carrierAccountId" - ], - "parameters": { - "accountId": { - "description": "Required. The Merchant Center Account Id under which the Return Carrier is to be linked.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "carrierAccountId": { - "description": "Required. The Google-provided unique carrier ID, used to update the resource.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "accounts/{accountId}/returncarrier/{carrierAccountId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists available return carriers in the merchant account.", - "flatPath": "accounts/{accountId}/returncarrier", - "httpMethod": "GET", - "id": "content.accounts.returncarrier.list", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Required. The Merchant Center Account Id under which the Return Carrier is to be linked.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "accounts/{accountId}/returncarrier", - "response": { - "$ref": "ListAccountReturnCarrierResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "patch": { - "description": "Updates a return carrier in the merchant account.", - "flatPath": "accounts/{accountId}/returncarrier/{carrierAccountId}", - "httpMethod": "PATCH", - "id": "content.accounts.returncarrier.patch", - "parameterOrder": [ - "accountId", - "carrierAccountId" - ], - "parameters": { - "accountId": { - "description": "Required. The Merchant Center Account Id under which the Return Carrier is to be linked.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "carrierAccountId": { - "description": "Required. The Google-provided unique carrier ID, used to update the resource.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "accounts/{accountId}/returncarrier/{carrierAccountId}", - "request": { - "$ref": "AccountReturnCarrier" - }, - "response": { - "$ref": "AccountReturnCarrier" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - } - } - }, - "accountstatuses": { - "methods": { - "custombatch": { - "description": "Retrieves multiple Merchant Center account statuses in a single request.", - "flatPath": "accountstatuses/batch", - "httpMethod": "POST", - "id": "content.accountstatuses.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "accountstatuses/batch", - "request": { - "$ref": "AccountstatusesCustomBatchRequest" - }, - "response": { - "$ref": "AccountstatusesCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves the status of a Merchant Center account. No itemLevelIssues are returned for multi-client accounts.", - "flatPath": "{merchantId}/accountstatuses/{accountId}", - "httpMethod": "GET", - "id": "content.accountstatuses.get", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "destinations": { - "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.", - "location": "query", - "repeated": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/accountstatuses/{accountId}", - "response": { - "$ref": "AccountStatus" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the statuses of the sub-accounts in your Merchant Center account.", - "flatPath": "{merchantId}/accountstatuses", - "httpMethod": "GET", - "id": "content.accountstatuses.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "destinations": { - "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.", - "location": "query", - "repeated": true, - "type": "string" - }, - "maxResults": { - "description": "The maximum number of account statuses to return in the response, used for paging.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the managing account. This must be a multi-client account.", - "format": "uint64", - "location": "path", - "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", - "type": "string" - } - }, - "path": "{merchantId}/accountstatuses", - "response": { - "$ref": "AccountstatusesListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "accounttax": { - "methods": { - "custombatch": { - "description": "Retrieves and updates tax settings of multiple accounts in a single request.", - "flatPath": "accounttax/batch", - "httpMethod": "POST", - "id": "content.accounttax.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "accounttax/batch", - "request": { - "$ref": "AccounttaxCustomBatchRequest" - }, - "response": { - "$ref": "AccounttaxCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves the tax settings of the account.", - "flatPath": "{merchantId}/accounttax/{accountId}", - "httpMethod": "GET", - "id": "content.accounttax.get", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to get/update account tax settings.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/accounttax/{accountId}", - "response": { - "$ref": "AccountTax" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the tax settings of the sub-accounts in your Merchant Center account.", - "flatPath": "{merchantId}/accounttax", - "httpMethod": "GET", - "id": "content.accounttax.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "maxResults": { - "description": "The maximum number of tax settings to return in the response, used for paging.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the managing account. This must be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/accounttax", - "response": { - "$ref": "AccounttaxListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "update": { - "description": "Updates the tax settings of the account. Any fields that are not provided are deleted from the resource.", - "flatPath": "{merchantId}/accounttax/{accountId}", - "httpMethod": "PUT", - "id": "content.accounttax.update", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to get/update account tax settings.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/accounttax/{accountId}", - "request": { - "$ref": "AccountTax" - }, - "response": { - "$ref": "AccountTax" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "collections": { - "methods": { - "create": { - "description": "Uploads a collection to your Merchant Center account. If a collection with the same collectionId already exists, this method updates that entry. In each update, the collection is completely replaced by the fields in the body of the update request.", - "flatPath": "{merchantId}/collections", - "httpMethod": "POST", - "id": "content.collections.create", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account that contains the collection. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/collections", - "request": { - "$ref": "Collection" - }, - "response": { - "$ref": "Collection" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes a collection from your Merchant Center account.", - "flatPath": "{merchantId}/collections/{collectionId}", - "httpMethod": "DELETE", - "id": "content.collections.delete", - "parameterOrder": [ - "merchantId", - "collectionId" - ], - "parameters": { - "collectionId": { - "description": "Required. The collectionId of the collection. CollectionId is the same as the REST ID of the collection.", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that contains the collection. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/collections/{collectionId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves a collection from your Merchant Center account.", - "flatPath": "{merchantId}/collections/{collectionId}", - "httpMethod": "GET", - "id": "content.collections.get", - "parameterOrder": [ - "merchantId", - "collectionId" - ], - "parameters": { - "collectionId": { - "description": "Required. The REST ID of the collection.", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that contains the collection. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/collections/{collectionId}", - "response": { - "$ref": "Collection" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the collections in your Merchant Center account. The response might contain fewer items than specified by page_size. Rely on next_page_token to determine if there are more items to be requested.", - "flatPath": "{merchantId}/collections", - "httpMethod": "GET", - "id": "content.collections.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account that contains the collection. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of collections to return in the response, used for paging. Defaults to 50; values above 1000 will be coerced to 1000.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/collections", - "response": { - "$ref": "ListCollectionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "collectionstatuses": { - "methods": { - "get": { - "description": "Gets the status of a collection from your Merchant Center account.", - "flatPath": "{merchantId}/collectionstatuses/{collectionId}", - "httpMethod": "GET", - "id": "content.collectionstatuses.get", - "parameterOrder": [ - "merchantId", - "collectionId" - ], - "parameters": { - "collectionId": { - "description": "Required. The collectionId of the collection. CollectionId is the same as the REST ID of the collection.", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that contains the collection. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/collectionstatuses/{collectionId}", - "response": { - "$ref": "CollectionStatus" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the statuses of the collections in your Merchant Center account.", - "flatPath": "{merchantId}/collectionstatuses", - "httpMethod": "GET", - "id": "content.collectionstatuses.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account that contains the collection. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of collection statuses to return in the response, used for paging. Defaults to 50; values above 1000 will be coerced to 1000.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/collectionstatuses", - "response": { - "$ref": "ListCollectionStatusesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "conversionsources": { - "methods": { - "create": { - "description": "Creates a new conversion source.", - "flatPath": "{merchantId}/conversionsources", - "httpMethod": "POST", - "id": "content.conversionsources.create", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account that owns the new conversion source.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/conversionsources", - "request": { - "$ref": "ConversionSource" - }, - "response": { - "$ref": "ConversionSource" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Archives an existing conversion source. It will be recoverable for 30 days. This archiving behavior is not typical in the Content API and unique to this service.", - "flatPath": "{merchantId}/conversionsources/{conversionSourceId}", - "httpMethod": "DELETE", - "id": "content.conversionsources.delete", - "parameterOrder": [ - "merchantId", - "conversionSourceId" - ], - "parameters": { - "conversionSourceId": { - "description": "Required. The ID of the conversion source to be deleted.", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that owns the new conversion source.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/conversionsources/{conversionSourceId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Fetches a conversion source.", - "flatPath": "{merchantId}/conversionsources/{conversionSourceId}", - "httpMethod": "GET", - "id": "content.conversionsources.get", - "parameterOrder": [ - "merchantId", - "conversionSourceId" - ], - "parameters": { - "conversionSourceId": { - "description": "Required. The REST ID of the collection.", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that owns the new conversion source.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/conversionsources/{conversionSourceId}", - "response": { - "$ref": "ConversionSource" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Retrieves the list of conversion sources the caller has access to.", - "flatPath": "{merchantId}/conversionsources", - "httpMethod": "GET", - "id": "content.conversionsources.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account that owns the new conversion source.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of conversion sources to return in a page. If no `page_size` is specified, `100` is used as the default value. The maximum value is `200`. Values above `200` will be coerced to `200`. Regardless of pagination, at most `200` conversion sources are returned in total.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Page token.", - "location": "query", - "type": "string" - }, - "showDeleted": { - "description": "If true, also returns archived conversion sources.", - "location": "query", - "type": "boolean" - } - }, - "path": "{merchantId}/conversionsources", - "response": { - "$ref": "ListConversionSourcesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "patch": { - "description": "Updates information of an existing conversion source.", - "flatPath": "{merchantId}/conversionsources/{conversionSourceId}", - "httpMethod": "PATCH", - "id": "content.conversionsources.patch", - "parameterOrder": [ - "merchantId", - "conversionSourceId" - ], - "parameters": { - "conversionSourceId": { - "description": "Required. The ID of the conversion source to be updated.", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that owns the new conversion source.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Optional. List of fields being updated. The following fields can be updated: `attribution_settings`, `display_name`, `currency_code`.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/conversionsources/{conversionSourceId}", - "request": { - "$ref": "ConversionSource" - }, - "response": { - "$ref": "ConversionSource" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "undelete": { - "description": "Re-enables an archived conversion source.", - "flatPath": "{merchantId}/conversionsources/{conversionSourceId}:undelete", - "httpMethod": "POST", - "id": "content.conversionsources.undelete", - "parameterOrder": [ - "merchantId", - "conversionSourceId" - ], - "parameters": { - "conversionSourceId": { - "description": "Required. The ID of the conversion source to be undeleted.", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that owns the new conversion source.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/conversionsources/{conversionSourceId}:undelete", - "request": { - "$ref": "UndeleteConversionSourceRequest" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "csses": { - "methods": { - "get": { - "description": "Retrieves a single CSS domain by ID.", - "flatPath": "{cssGroupId}/csses/{cssDomainId}", - "httpMethod": "GET", - "id": "content.csses.get", - "parameterOrder": [ - "cssGroupId", - "cssDomainId" - ], - "parameters": { - "cssDomainId": { - "description": "Required. The ID of the CSS domain to return.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "cssGroupId": { - "description": "Required. The ID of the managing account. If this parameter is not the same as [cssDomainId](#cssDomainId), then this ID must be a CSS group ID and `cssDomainId` must be the ID of a CSS domain affiliated with this group.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{cssGroupId}/csses/{cssDomainId}", - "response": { - "$ref": "Css" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists CSS domains affiliated with a CSS group.", - "flatPath": "{cssGroupId}/csses", - "httpMethod": "GET", - "id": "content.csses.list", - "parameterOrder": [ - "cssGroupId" - ], - "parameters": { - "cssGroupId": { - "description": "Required. The CSS group ID of CSS domains to be listed.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of CSS domains to return. The service may return fewer than this value. If unspecified, at most 50 CSS domains 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 `ListCsses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCsses` must match the call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "{cssGroupId}/csses", - "response": { - "$ref": "ListCssesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "updatelabels": { - "description": "Updates labels that are assigned to a CSS domain by its CSS group.", - "flatPath": "{cssGroupId}/csses/{cssDomainId}/updatelabels", - "httpMethod": "POST", - "id": "content.csses.updatelabels", - "parameterOrder": [ - "cssGroupId", - "cssDomainId" - ], - "parameters": { - "cssDomainId": { - "description": "Required. The ID of the updated CSS domain.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "cssGroupId": { - "description": "Required. The CSS group ID of the updated CSS domain.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{cssGroupId}/csses/{cssDomainId}/updatelabels", - "request": { - "$ref": "LabelIds" - }, - "response": { - "$ref": "Css" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "datafeeds": { - "methods": { - "custombatch": { - "description": "Deletes, fetches, gets, inserts and updates multiple datafeeds in a single request.", - "flatPath": "datafeeds/batch", - "httpMethod": "POST", - "id": "content.datafeeds.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "datafeeds/batch", - "request": { - "$ref": "DatafeedsCustomBatchRequest" - }, - "response": { - "$ref": "DatafeedsCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes a datafeed configuration from your Merchant Center account.", - "flatPath": "{merchantId}/datafeeds/{datafeedId}", - "httpMethod": "DELETE", - "id": "content.datafeeds.delete", - "parameterOrder": [ - "merchantId", - "datafeedId" - ], - "parameters": { - "datafeedId": { - "description": "The ID of the datafeed.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/datafeeds/{datafeedId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "fetchnow": { - "description": "Invokes a fetch for the datafeed in your Merchant Center account. If you need to call this method more than once per day, we recommend you use the [Products service](https://developers.google.com/shopping-content/reference/rest/v2.1/products) to update your product data.", - "flatPath": "{merchantId}/datafeeds/{datafeedId}/fetchNow", - "httpMethod": "POST", - "id": "content.datafeeds.fetchnow", - "parameterOrder": [ - "merchantId", - "datafeedId" - ], - "parameters": { - "datafeedId": { - "description": "The ID of the datafeed to be fetched.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/datafeeds/{datafeedId}/fetchNow", - "response": { - "$ref": "DatafeedsFetchNowResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves a datafeed configuration from your Merchant Center account.", - "flatPath": "{merchantId}/datafeeds/{datafeedId}", - "httpMethod": "GET", - "id": "content.datafeeds.get", - "parameterOrder": [ - "merchantId", - "datafeedId" - ], - "parameters": { - "datafeedId": { - "description": "The ID of the datafeed.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/datafeeds/{datafeedId}", - "response": { - "$ref": "Datafeed" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "insert": { - "description": "Registers a datafeed configuration with your Merchant Center account.", - "flatPath": "{merchantId}/datafeeds", - "httpMethod": "POST", - "id": "content.datafeeds.insert", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/datafeeds", - "request": { - "$ref": "Datafeed" - }, - "response": { - "$ref": "Datafeed" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the configurations for datafeeds in your Merchant Center account.", - "flatPath": "{merchantId}/datafeeds", - "httpMethod": "GET", - "id": "content.datafeeds.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "maxResults": { - "description": "The maximum number of products to return in the response, used for paging.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the account that manages the datafeeds. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/datafeeds", - "response": { - "$ref": "DatafeedsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "update": { - "description": "Updates a datafeed configuration of your Merchant Center account. Any fields that are not provided are deleted from the resource.", - "flatPath": "{merchantId}/datafeeds/{datafeedId}", - "httpMethod": "PUT", - "id": "content.datafeeds.update", - "parameterOrder": [ - "merchantId", - "datafeedId" - ], - "parameters": { - "datafeedId": { - "description": "The ID of the datafeed.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/datafeeds/{datafeedId}", - "request": { - "$ref": "Datafeed" - }, - "response": { - "$ref": "Datafeed" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "datafeedstatuses": { - "methods": { - "custombatch": { - "description": "Gets multiple Merchant Center datafeed statuses in a single request.", - "flatPath": "datafeedstatuses/batch", - "httpMethod": "POST", - "id": "content.datafeedstatuses.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "datafeedstatuses/batch", - "request": { - "$ref": "DatafeedstatusesCustomBatchRequest" - }, - "response": { - "$ref": "DatafeedstatusesCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves the status of a datafeed from your Merchant Center account.", - "flatPath": "{merchantId}/datafeedstatuses/{datafeedId}", - "httpMethod": "GET", - "id": "content.datafeedstatuses.get", - "parameterOrder": [ - "merchantId", - "datafeedId" - ], - "parameters": { - "country": { - "description": "Deprecated. Use `feedLabel` instead. The country to get the datafeed status for. If this parameter is provided then `language` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.", - "location": "query", - "type": "string" - }, - "datafeedId": { - "description": "The ID of the datafeed.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "feedLabel": { - "description": "The feed label to get the datafeed status for. If this parameter is provided then `language` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.", - "location": "query", - "type": "string" - }, - "language": { - "description": "The language to get the datafeed status for. If this parameter is provided then `country` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.", - "location": "query", - "type": "string" - }, - "merchantId": { - "description": "The ID of the account that manages the datafeed. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/datafeedstatuses/{datafeedId}", - "response": { - "$ref": "DatafeedStatus" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the statuses of the datafeeds in your Merchant Center account.", - "flatPath": "{merchantId}/datafeedstatuses", - "httpMethod": "GET", - "id": "content.datafeedstatuses.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "maxResults": { - "description": "The maximum number of products to return in the response, used for paging.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the account that manages the datafeeds. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/datafeedstatuses", - "response": { - "$ref": "DatafeedstatusesListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "freelistingsprogram": { - "methods": { - "get": { - "description": "Retrieves the status and review eligibility for the free listing program. Returns errors and warnings if they require action to resolve, will become disapprovals, or impact impressions. Use `accountstatuses` to view all issues for an account.", - "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 of free listings in a specific region. This method deprecated. Use the `MerchantSupportService` to view product and account issues and request a review.", - "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" - ] - } - }, - "resources": { - "checkoutsettings": { - "methods": { - "delete": { - "description": "Deletes `Checkout` settings and unenrolls merchant from `Checkout` program.", - "flatPath": "{merchantId}/freelistingsprogram/checkoutsettings", - "httpMethod": "DELETE", - "id": "content.freelistingsprogram.checkoutsettings.delete", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/freelistingsprogram/checkoutsettings", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Gets Checkout settings for the given merchant. This includes information about review state, enrollment state and URL settings.", - "flatPath": "{merchantId}/freelistingsprogram/checkoutsettings", - "httpMethod": "GET", - "id": "content.freelistingsprogram.checkoutsettings.get", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/freelistingsprogram/checkoutsettings", - "response": { - "$ref": "CheckoutSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "insert": { - "description": "Enrolls merchant in `Checkout` program.", - "flatPath": "{merchantId}/freelistingsprogram/checkoutsettings", - "httpMethod": "POST", - "id": "content.freelistingsprogram.checkoutsettings.insert", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/freelistingsprogram/checkoutsettings", - "request": { - "$ref": "InsertCheckoutSettingsRequest" - }, - "response": { - "$ref": "CheckoutSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - } - } - }, - "liasettings": { - "methods": { - "custombatch": { - "description": "Retrieves and/or updates the LIA settings of multiple accounts in a single request.", - "flatPath": "liasettings/batch", - "httpMethod": "POST", - "id": "content.liasettings.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "liasettings/batch", - "request": { - "$ref": "LiasettingsCustomBatchRequest" - }, - "response": { - "$ref": "LiasettingsCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves the LIA settings of the account.", - "flatPath": "{merchantId}/liasettings/{accountId}", - "httpMethod": "GET", - "id": "content.liasettings.get", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to get or update LIA settings.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/liasettings/{accountId}", - "response": { - "$ref": "LiaSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "getaccessiblegmbaccounts": { - "description": "Retrieves the list of accessible Business Profiles.", - "flatPath": "{merchantId}/liasettings/{accountId}/accessiblegmbaccounts", - "httpMethod": "GET", - "id": "content.liasettings.getaccessiblegmbaccounts", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to retrieve accessible Business Profiles.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/liasettings/{accountId}/accessiblegmbaccounts", - "response": { - "$ref": "LiasettingsGetAccessibleGmbAccountsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the LIA settings of the sub-accounts in your Merchant Center account.", - "flatPath": "{merchantId}/liasettings", - "httpMethod": "GET", - "id": "content.liasettings.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "maxResults": { - "description": "The maximum number of LIA settings to return in the response, used for paging.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the managing account. This must be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/liasettings", - "response": { - "$ref": "LiasettingsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "listposdataproviders": { - "description": "Retrieves the list of POS data providers that have active settings for the all eiligible countries.", - "flatPath": "liasettings/posdataproviders", - "httpMethod": "GET", - "id": "content.liasettings.listposdataproviders", - "parameterOrder": [], - "parameters": {}, - "path": "liasettings/posdataproviders", - "response": { - "$ref": "LiasettingsListPosDataProvidersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "requestgmbaccess": { - "description": "Requests access to a specified Business Profile.", - "flatPath": "{merchantId}/liasettings/{accountId}/requestgmbaccess", - "httpMethod": "POST", - "id": "content.liasettings.requestgmbaccess", - "parameterOrder": [ - "merchantId", - "accountId", - "gmbEmail" - ], - "parameters": { - "accountId": { - "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 Business Profile.", - "location": "query", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/liasettings/{accountId}/requestgmbaccess", - "response": { - "$ref": "LiasettingsRequestGmbAccessResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "requestinventoryverification": { - "description": "Requests inventory validation for the specified country.", - "flatPath": "{merchantId}/liasettings/{accountId}/requestinventoryverification/{country}", - "httpMethod": "POST", - "id": "content.liasettings.requestinventoryverification", - "parameterOrder": [ - "merchantId", - "accountId", - "country" - ], - "parameters": { - "accountId": { - "description": "The ID of the account that manages the order. This cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "country": { - "description": "The country for which inventory validation is requested.", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/liasettings/{accountId}/requestinventoryverification/{country}", - "response": { - "$ref": "LiasettingsRequestInventoryVerificationResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "setinventoryverificationcontact": { - "description": "Sets the inventory verification contact for the specified country.", - "flatPath": "{merchantId}/liasettings/{accountId}/setinventoryverificationcontact", - "httpMethod": "POST", - "id": "content.liasettings.setinventoryverificationcontact", - "parameterOrder": [ - "merchantId", - "accountId", - "country", - "language", - "contactName", - "contactEmail" - ], - "parameters": { - "accountId": { - "description": "The ID of the account that manages the order. This cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "contactEmail": { - "description": "The email of the inventory verification contact.", - "location": "query", - "required": true, - "type": "string" - }, - "contactName": { - "description": "The name of the inventory verification contact.", - "location": "query", - "required": true, - "type": "string" - }, - "country": { - "description": "The country for which inventory verification is requested.", - "location": "query", - "required": true, - "type": "string" - }, - "language": { - "description": "The language for which inventory verification is requested.", - "location": "query", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/liasettings/{accountId}/setinventoryverificationcontact", - "response": { - "$ref": "LiasettingsSetInventoryVerificationContactResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "setomnichannelexperience": { - "description": "Sets the omnichannel experience for the specified country. Only supported for merchants whose POS data provider is trusted to enable the corresponding experience. For more context, see these help articles [about LFP](https://support.google.com/merchants/answer/7676652) and [how to get started](https://support.google.com/merchants/answer/7676578) with it.", - "flatPath": "{merchantId}/liasettings/{accountId}/setomnichannelexperience", - "httpMethod": "POST", - "id": "content.liasettings.setomnichannelexperience", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to retrieve accessible Business Profiles.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "country": { - "description": "The CLDR country code (for example, \"US\") for which the omnichannel experience is selected.", - "location": "query", - "type": "string" - }, - "lsfType": { - "description": "The Local Store Front (LSF) type for this country. Acceptable values are: - \"`ghlsf`\" (Google-Hosted Local Store Front) - \"`mhlsfBasic`\" (Merchant-Hosted Local Store Front Basic) - \"`mhlsfFull`\" (Merchant-Hosted Local Store Front Full) More details about these types can be found here.", - "location": "query", - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pickupTypes": { - "description": "The Pickup types for this country. Acceptable values are: - \"`pickupToday`\" - \"`pickupLater`\" ", - "location": "query", - "repeated": true, - "type": "string" - } - }, - "path": "{merchantId}/liasettings/{accountId}/setomnichannelexperience", - "response": { - "$ref": "LiaOmnichannelExperience" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "setposdataprovider": { - "description": "Sets the POS data provider for the specified country.", - "flatPath": "{merchantId}/liasettings/{accountId}/setposdataprovider", - "httpMethod": "POST", - "id": "content.liasettings.setposdataprovider", - "parameterOrder": [ - "merchantId", - "accountId", - "country" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to retrieve accessible Business Profiles.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "country": { - "description": "The country for which the POS data provider is selected.", - "location": "query", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "posDataProviderId": { - "description": "The ID of POS data provider.", - "format": "uint64", - "location": "query", - "type": "string" - }, - "posExternalAccountId": { - "description": "The account ID by which this merchant is known to the POS data provider.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/liasettings/{accountId}/setposdataprovider", - "response": { - "$ref": "LiasettingsSetPosDataProviderResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "update": { - "description": "Updates the LIA settings of the account. Any fields that are not provided are deleted from the resource.", - "flatPath": "{merchantId}/liasettings/{accountId}", - "httpMethod": "PUT", - "id": "content.liasettings.update", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to get or update LIA settings.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/liasettings/{accountId}", - "request": { - "$ref": "LiaSettings" - }, - "response": { - "$ref": "LiaSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "localinventory": { - "methods": { - "custombatch": { - "description": "Updates local inventory for multiple products or stores in a single request.", - "flatPath": "localinventory/batch", - "httpMethod": "POST", - "id": "content.localinventory.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "localinventory/batch", - "request": { - "$ref": "LocalinventoryCustomBatchRequest" - }, - "response": { - "$ref": "LocalinventoryCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "insert": { - "description": "Updates the local inventory of a product in your Merchant Center account.", - "flatPath": "{merchantId}/products/{productId}/localinventory", - "httpMethod": "POST", - "id": "content.localinventory.insert", - "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 local inventory.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/products/{productId}/localinventory", - "request": { - "$ref": "LocalInventory" - }, - "response": { - "$ref": "LocalInventory" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "merchantsupport": { - "methods": { - "renderaccountissues": { - "description": "Provide a list of merchant's issues with a support content and available actions. This content and actions are meant to be rendered and shown in third-party applications.", - "flatPath": "{merchantId}/merchantsupport/renderaccountissues", - "httpMethod": "POST", - "id": "content.merchantsupport.renderaccountissues", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "languageCode": { - "description": "Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize support content. If not set, the result will be in default language `en-US`.", - "location": "query", - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account to fetch issues for.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "timeZone": { - "description": "Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in support content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/merchantsupport/renderaccountissues", - "request": { - "$ref": "RenderAccountIssuesRequestPayload" - }, - "response": { - "$ref": "RenderAccountIssuesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "renderproductissues": { - "description": "Provide a list of issues for merchant's product with a support content and available actions. This content and actions are meant to be rendered and shown in third-party applications.", - "flatPath": "{merchantId}/merchantsupport/renderproductissues/{productId}", - "httpMethod": "POST", - "id": "content.merchantsupport.renderproductissues", - "parameterOrder": [ - "merchantId", - "productId" - ], - "parameters": { - "languageCode": { - "description": "Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize support content. If not set, the result will be in default language `en-US`.", - "location": "query", - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that contains the product.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "productId": { - "description": "Required. The [REST_ID](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.id) of the product to fetch issues for.", - "location": "path", - "required": true, - "type": "string" - }, - "timeZone": { - "description": "Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in support content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/merchantsupport/renderproductissues/{productId}", - "request": { - "$ref": "RenderProductIssuesRequestPayload" - }, - "response": { - "$ref": "RenderProductIssuesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "triggeraction": { - "description": "Start an action. The action can be requested by merchants in third-party application. Before merchants can request the action, the third-party application needs to show them action specific content and display a user input form. You can submit an allowlist request in the [Shopping API Support Form](https://support.google.com/merchants/contact/shopping_api_support_form) under \"What is the issue/question?\" to get access to this feature. The action can be successfully started only once all `required` inputs are provided. If any `required` input is missing, or invalid value was provided, the service will return 400 error. Validation errors will contain Ids for all problematic field together with translated, human readable error messages that can be shown to the user.", - "flatPath": "{merchantId}/merchantsupport/triggeraction", - "httpMethod": "POST", - "id": "content.merchantsupport.triggeraction", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "languageCode": { - "description": "Optional. Language code [IETF BCP 47 syntax](https://tools.ietf.org/html/bcp47) used to localize the response. If not set, the result will be in default language `en-US`.", - "location": "query", - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the merchant's account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/merchantsupport/triggeraction", - "request": { - "$ref": "TriggerActionPayload" - }, - "response": { - "$ref": "TriggerActionResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "ordertrackingsignals": { - "methods": { - "create": { - "description": "Creates new order tracking signal.", - "flatPath": "{merchantId}/ordertrackingsignals", - "httpMethod": "POST", - "id": "content.ordertrackingsignals.create", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the merchant for which the order signal is created.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/ordertrackingsignals", - "request": { - "$ref": "OrderTrackingSignal" - }, - "response": { - "$ref": "OrderTrackingSignal" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "pos": { - "methods": { - "custombatch": { - "description": "Batches multiple POS-related calls in a single request.", - "flatPath": "pos/batch", - "httpMethod": "POST", - "id": "content.pos.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "pos/batch", - "request": { - "$ref": "PosCustomBatchRequest" - }, - "response": { - "$ref": "PosCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes a store for the given merchant.", - "flatPath": "{merchantId}/pos/{targetMerchantId}/store/{storeCode}", - "httpMethod": "DELETE", - "id": "content.pos.delete", - "parameterOrder": [ - "merchantId", - "targetMerchantId", - "storeCode" - ], - "parameters": { - "merchantId": { - "description": "The ID of the POS or inventory data provider.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "storeCode": { - "description": "A store code that is unique per merchant.", - "location": "path", - "required": true, - "type": "string" - }, - "targetMerchantId": { - "description": "The ID of the target merchant.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/pos/{targetMerchantId}/store/{storeCode}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves information about the given store.", - "flatPath": "{merchantId}/pos/{targetMerchantId}/store/{storeCode}", - "httpMethod": "GET", - "id": "content.pos.get", - "parameterOrder": [ - "merchantId", - "targetMerchantId", - "storeCode" - ], - "parameters": { - "merchantId": { - "description": "The ID of the POS or inventory data provider.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "storeCode": { - "description": "A store code that is unique per merchant.", - "location": "path", - "required": true, - "type": "string" - }, - "targetMerchantId": { - "description": "The ID of the target merchant.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/pos/{targetMerchantId}/store/{storeCode}", - "response": { - "$ref": "PosStore" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "insert": { - "description": "Creates a store for the given merchant.", - "flatPath": "{merchantId}/pos/{targetMerchantId}/store", - "httpMethod": "POST", - "id": "content.pos.insert", - "parameterOrder": [ - "merchantId", - "targetMerchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the POS or inventory data provider.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "targetMerchantId": { - "description": "The ID of the target merchant.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/pos/{targetMerchantId}/store", - "request": { - "$ref": "PosStore" - }, - "response": { - "$ref": "PosStore" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "inventory": { - "description": "Submit inventory for the given merchant.", - "flatPath": "{merchantId}/pos/{targetMerchantId}/inventory", - "httpMethod": "POST", - "id": "content.pos.inventory", - "parameterOrder": [ - "merchantId", - "targetMerchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the POS or inventory data provider.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "targetMerchantId": { - "description": "The ID of the target merchant.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/pos/{targetMerchantId}/inventory", - "request": { - "$ref": "PosInventoryRequest" - }, - "response": { - "$ref": "PosInventoryResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the stores of the target merchant.", - "flatPath": "{merchantId}/pos/{targetMerchantId}/store", - "httpMethod": "GET", - "id": "content.pos.list", - "parameterOrder": [ - "merchantId", - "targetMerchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the POS or inventory data provider.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "targetMerchantId": { - "description": "The ID of the target merchant.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/pos/{targetMerchantId}/store", - "response": { - "$ref": "PosListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "sale": { - "description": "Submit a sale event for the given merchant.", - "flatPath": "{merchantId}/pos/{targetMerchantId}/sale", - "httpMethod": "POST", - "id": "content.pos.sale", - "parameterOrder": [ - "merchantId", - "targetMerchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the POS or inventory data provider.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "targetMerchantId": { - "description": "The ID of the target merchant.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/pos/{targetMerchantId}/sale", - "request": { - "$ref": "PosSaleRequest" - }, - "response": { - "$ref": "PosSaleResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "productdeliverytime": { - "methods": { - "create": { - "description": "Creates or updates the delivery time of a product.", - "flatPath": "{merchantId}/productdeliverytime", - "httpMethod": "POST", - "id": "content.productdeliverytime.create", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/productdeliverytime", - "request": { - "$ref": "ProductDeliveryTime" - }, - "response": { - "$ref": "ProductDeliveryTime" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes the delivery time of a product.", - "flatPath": "{merchantId}/productdeliverytime/{productId}", - "httpMethod": "DELETE", - "id": "content.productdeliverytime.delete", - "parameterOrder": [ - "merchantId", - "productId" - ], - "parameters": { - "merchantId": { - "description": "Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "productId": { - "description": "Required. The Content API ID of the product, in the form `channel:contentLanguage:targetCountry:offerId`.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/productdeliverytime/{productId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Gets `productDeliveryTime` by `productId`.", - "flatPath": "{merchantId}/productdeliverytime/{productId}", - "httpMethod": "GET", - "id": "content.productdeliverytime.get", - "parameterOrder": [ - "merchantId", - "productId" - ], - "parameters": { - "merchantId": { - "description": "Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "productId": { - "description": "Required. The Content API ID of the product, in the form `channel:contentLanguage:targetCountry:offerId`.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/productdeliverytime/{productId}", - "response": { - "$ref": "ProductDeliveryTime" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "products": { - "methods": { - "custombatch": { - "description": "Retrieves, inserts, and deletes multiple products in a single request.", - "flatPath": "products/batch", - "httpMethod": "POST", - "id": "content.products.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "products/batch", - "request": { - "$ref": "ProductsCustomBatchRequest" - }, - "response": { - "$ref": "ProductsCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes a product from your Merchant Center account.", - "flatPath": "{merchantId}/products/{productId}", - "httpMethod": "DELETE", - "id": "content.products.delete", - "parameterOrder": [ - "merchantId", - "productId" - ], - "parameters": { - "feedId": { - "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" - }, - "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.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/products/{productId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves a product from your Merchant Center account.", - "flatPath": "{merchantId}/products/{productId}", - "httpMethod": "GET", - "id": "content.products.get", - "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.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/products/{productId}", - "response": { - "$ref": "Product" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "insert": { - "description": "Uploads a product to your Merchant Center account. If an item with the same channel, contentLanguage, offerId, and targetCountry already exists, this method updates that entry.", - "flatPath": "{merchantId}/products", - "httpMethod": "POST", - "id": "content.products.insert", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "feedId": { - "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" - }, - "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" - } - }, - "path": "{merchantId}/products", - "request": { - "$ref": "Product" - }, - "response": { - "$ref": "Product" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the products in your Merchant Center account. The response might contain fewer items than specified by maxResults. Rely on nextPageToken to determine if there are more items to be requested.", - "flatPath": "{merchantId}/products", - "httpMethod": "GET", - "id": "content.products.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "maxResults": { - "description": "The maximum number of products to return in the response, used for paging. The default value is 25. The maximum value is 250.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the account that contains the products. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/products", - "response": { - "$ref": "ProductsListResponse" - }, - "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. *You must specify the update mask to delete attributes.* 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" - ] - } - } - }, - "productstatuses": { - "methods": { - "custombatch": { - "description": "Gets the statuses of multiple products in a single request.", - "flatPath": "productstatuses/batch", - "httpMethod": "POST", - "id": "content.productstatuses.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "productstatuses/batch", - "request": { - "$ref": "ProductstatusesCustomBatchRequest" - }, - "response": { - "$ref": "ProductstatusesCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Gets the status of a product from your Merchant Center account.", - "flatPath": "{merchantId}/productstatuses/{productId}", - "httpMethod": "GET", - "id": "content.productstatuses.get", - "parameterOrder": [ - "merchantId", - "productId" - ], - "parameters": { - "destinations": { - "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.", - "location": "query", - "repeated": true, - "type": "string" - }, - "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.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/productstatuses/{productId}", - "response": { - "$ref": "ProductStatus" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the statuses of the products in your Merchant Center account.", - "flatPath": "{merchantId}/productstatuses", - "httpMethod": "GET", - "id": "content.productstatuses.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "destinations": { - "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.", - "location": "query", - "repeated": true, - "type": "string" - }, - "maxResults": { - "description": "The maximum number of product statuses to return in the response, used for paging. The default value is 25. The maximum value is 250.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the account that contains the products. This account cannot be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/productstatuses", - "response": { - "$ref": "ProductstatusesListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "promotions": { - "methods": { - "create": { - "description": "Inserts a promotion for your Merchant Center account. If the promotion already exists, then it updates the promotion instead. To [end or delete] (https://developers.google.com/shopping-content/guides/promotions#end_a_promotion) a promotion update the time period of the promotion to a time that has already passed.", - "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" - ] - }, - "list": { - "description": "List all promotions from your Merchant Center account.", - "flatPath": "{merchantId}/promotions", - "httpMethod": "GET", - "id": "content.promotions.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "countryCode": { - "description": "[CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) (for example, \"US\"), used as a filter on promotions target country.", - "location": "query", - "type": "string" - }, - "languageCode": { - "description": "The two-letter ISO 639-1 language code associated with the promotions, used as a filter.", - "location": "query", - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account that contains the collection.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of promotions to return. The service may return fewer than this value. If unspecified, at most 50 labels 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 `ListPromotion` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotion` must match the call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/promotions", - "response": { - "$ref": "ListPromotionResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "pubsubnotificationsettings": { - "methods": { - "get": { - "description": "Retrieves a Merchant Center account's pubsub notification settings.", - "flatPath": "{merchantId}/pubsubnotificationsettings", - "httpMethod": "GET", - "id": "content.pubsubnotificationsettings.get", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the account for which to get pubsub notification settings.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/pubsubnotificationsettings", - "response": { - "$ref": "PubsubNotificationSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "update": { - "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", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/pubsubnotificationsettings", - "request": { - "$ref": "PubsubNotificationSettings" - }, - "response": { - "$ref": "PubsubNotificationSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "quotas": { - "methods": { - "list": { - "description": "Lists the daily call quota and usage per method for your Merchant Center account.", - "flatPath": "{merchantId}/quotas", - "httpMethod": "GET", - "id": "content.quotas.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account that has quota. This account must be an admin.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of quotas to return in the response, used for paging. Defaults to 500; values above 1000 will be coerced to 1000.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/quotas", - "response": { - "$ref": "ListMethodQuotasResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "recommendations": { - "methods": { - "generate": { - "description": "Generates recommendations for a merchant.", - "flatPath": "{merchantId}/recommendations/generate", - "httpMethod": "GET", - "id": "content.recommendations.generate", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "allowedTag": { - "description": "Optional. List of allowed tags. Tags are a set of predefined strings that describe the category that individual recommendation types belong to. User can specify zero or more tags in this field to indicate what categories of recommendations they want to receive. Current list of supported tags: - TREND", - "location": "query", - "repeated": true, - "type": "string" - }, - "languageCode": { - "description": "Optional. Language code of the client. If not set, the result will be in default language (English). This language code affects all fields prefixed with \"localized\". This should be set to ISO 639-1 country code. List of currently verified supported language code: en, fr, cs, da, de, es, it, nl, no, pl, pt, pt, fi, sv, vi, tr, th, ko, zh-CN, zh-TW, ja, id, hi", - "location": "query", - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account to fetch recommendations for.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/recommendations/generate", - "response": { - "$ref": "GenerateRecommendationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "reportInteraction": { - "description": "Reports an interaction on a recommendation for a merchant.", - "flatPath": "{merchantId}/recommendations/reportInteraction", - "httpMethod": "POST", - "id": "content.recommendations.reportInteraction", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The ID of the account that wants to report an interaction.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/recommendations/reportInteraction", - "request": { - "$ref": "ReportInteractionRequest" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "regionalinventory": { - "methods": { - "custombatch": { - "description": "Updates regional inventory for multiple products or regions in a single request.", - "flatPath": "regionalinventory/batch", - "httpMethod": "POST", - "id": "content.regionalinventory.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "regionalinventory/batch", - "request": { - "$ref": "RegionalinventoryCustomBatchRequest" - }, - "response": { - "$ref": "RegionalinventoryCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "insert": { - "description": "Updates the regional inventory of a product in your Merchant Center account. If a regional inventory with the same region ID already exists, this method updates that entry.", - "flatPath": "{merchantId}/products/{productId}/regionalinventory", - "httpMethod": "POST", - "id": "content.regionalinventory.insert", - "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 the regional inventory.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/products/{productId}/regionalinventory", - "request": { - "$ref": "RegionalInventory" - }, - "response": { - "$ref": "RegionalInventory" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "regions": { - "methods": { - "create": { - "description": "Creates a region definition in your Merchant Center account.", - "flatPath": "{merchantId}/regions", - "httpMethod": "POST", - "id": "content.regions.create", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to create region definition.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "regionId": { - "description": "Required. The id of the region to create.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/regions", - "request": { - "$ref": "Region" - }, - "response": { - "$ref": "Region" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes a region definition from your Merchant Center account.", - "flatPath": "{merchantId}/regions/{regionId}", - "httpMethod": "DELETE", - "id": "content.regions.delete", - "parameterOrder": [ - "merchantId", - "regionId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to delete region definition.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "regionId": { - "description": "Required. The id of the region to delete.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/regions/{regionId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves a region defined in your Merchant Center account.", - "flatPath": "{merchantId}/regions/{regionId}", - "httpMethod": "GET", - "id": "content.regions.get", - "parameterOrder": [ - "merchantId", - "regionId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to retrieve region definition.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "regionId": { - "description": "Required. The id of the region to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/regions/{regionId}", - "response": { - "$ref": "Region" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the regions in your Merchant Center account.", - "flatPath": "{merchantId}/regions", - "httpMethod": "GET", - "id": "content.regions.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to list region definitions.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The maximum number of regions to return. The service may return fewer than this value. If unspecified, at most 50 rules 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 `ListRegions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegions` must match the call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/regions", - "response": { - "$ref": "ListRegionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "patch": { - "description": "Updates a region definition in your Merchant Center account.", - "flatPath": "{merchantId}/regions/{regionId}", - "httpMethod": "PATCH", - "id": "content.regions.patch", - "parameterOrder": [ - "merchantId", - "regionId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to update region definition.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "regionId": { - "description": "Required. The id of the region to update.", - "location": "path", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Optional. The comma-separated field mask indicating the fields to update. Example: `\"displayName,postalCodeArea.regionCode\"`.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/regions/{regionId}", - "request": { - "$ref": "Region" - }, - "response": { - "$ref": "Region" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "reports": { - "methods": { - "search": { - "description": "Retrieves merchant performance metrics matching the search query and optionally segmented by selected dimensions.", - "flatPath": "{merchantId}/reports/search", - "httpMethod": "POST", - "id": "content.reports.search", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. Id of the merchant making the call. Must be a standalone account or an MCA subaccount.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/reports/search", - "request": { - "$ref": "SearchRequest" - }, - "response": { - "$ref": "SearchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "returnpolicyonline": { - "methods": { - "create": { - "description": "Creates a new return policy.", - "flatPath": "{merchantId}/returnpolicyonline", - "httpMethod": "POST", - "id": "content.returnpolicyonline.create", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to retrieve the return policy online object.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/returnpolicyonline", - "request": { - "$ref": "ReturnPolicyOnline" - }, - "response": { - "$ref": "ReturnPolicyOnline" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "delete": { - "description": "Deletes an existing return policy.", - "flatPath": "{merchantId}/returnpolicyonline/{returnPolicyId}", - "httpMethod": "DELETE", - "id": "content.returnpolicyonline.delete", - "parameterOrder": [ - "merchantId", - "returnPolicyId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to retrieve the return policy online object.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "returnPolicyId": { - "description": "Required. The id of the return policy to delete.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/returnpolicyonline/{returnPolicyId}", - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Gets an existing return policy.", - "flatPath": "{merchantId}/returnpolicyonline/{returnPolicyId}", - "httpMethod": "GET", - "id": "content.returnpolicyonline.get", - "parameterOrder": [ - "merchantId", - "returnPolicyId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to retrieve the return policy online object.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "returnPolicyId": { - "description": "Required. The id of the return policy to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/returnpolicyonline/{returnPolicyId}", - "response": { - "$ref": "ReturnPolicyOnline" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists all existing return policies.", - "flatPath": "{merchantId}/returnpolicyonline", - "httpMethod": "GET", - "id": "content.returnpolicyonline.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to retrieve the return policy online object.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/returnpolicyonline", - "response": { - "$ref": "ListReturnPolicyOnlineResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "patch": { - "description": "Updates an existing return policy.", - "flatPath": "{merchantId}/returnpolicyonline/{returnPolicyId}", - "httpMethod": "PATCH", - "id": "content.returnpolicyonline.patch", - "parameterOrder": [ - "merchantId", - "returnPolicyId" - ], - "parameters": { - "merchantId": { - "description": "Required. The id of the merchant for which to retrieve the return policy online object.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "returnPolicyId": { - "description": "Required. The id of the return policy to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/returnpolicyonline/{returnPolicyId}", - "request": { - "$ref": "ReturnPolicyOnline" - }, - "response": { - "$ref": "ReturnPolicyOnline" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "shippingsettings": { - "methods": { - "custombatch": { - "description": "Retrieves and updates the shipping settings of multiple accounts in a single request.", - "flatPath": "shippingsettings/batch", - "httpMethod": "POST", - "id": "content.shippingsettings.custombatch", - "parameterOrder": [], - "parameters": {}, - "path": "shippingsettings/batch", - "request": { - "$ref": "ShippingsettingsCustomBatchRequest" - }, - "response": { - "$ref": "ShippingsettingsCustomBatchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "get": { - "description": "Retrieves the shipping settings of the account.", - "flatPath": "{merchantId}/shippingsettings/{accountId}", - "httpMethod": "GET", - "id": "content.shippingsettings.get", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to get/update shipping settings.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/shippingsettings/{accountId}", - "response": { - "$ref": "ShippingSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "getsupportedcarriers": { - "description": "Retrieves supported carriers and carrier services for an account.", - "flatPath": "{merchantId}/supportedCarriers", - "httpMethod": "GET", - "id": "content.shippingsettings.getsupportedcarriers", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the account for which to retrieve the supported carriers.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/supportedCarriers", - "response": { - "$ref": "ShippingsettingsGetSupportedCarriersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "getsupportedholidays": { - "description": "Retrieves supported holidays for an account.", - "flatPath": "{merchantId}/supportedHolidays", - "httpMethod": "GET", - "id": "content.shippingsettings.getsupportedholidays", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the account for which to retrieve the supported holidays.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/supportedHolidays", - "response": { - "$ref": "ShippingsettingsGetSupportedHolidaysResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "getsupportedpickupservices": { - "description": "Retrieves supported pickup services for an account.", - "flatPath": "{merchantId}/supportedPickupServices", - "httpMethod": "GET", - "id": "content.shippingsettings.getsupportedpickupservices", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "merchantId": { - "description": "The ID of the account for which to retrieve the supported pickup services.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/supportedPickupServices", - "response": { - "$ref": "ShippingsettingsGetSupportedPickupServicesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Lists the shipping settings of the sub-accounts in your Merchant Center account.", - "flatPath": "{merchantId}/shippingsettings", - "httpMethod": "GET", - "id": "content.shippingsettings.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "maxResults": { - "description": "The maximum number of shipping settings to return in the response, used for paging.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the managing account. This must be a multi-client account.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/shippingsettings", - "response": { - "$ref": "ShippingsettingsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "update": { - "description": "Updates the shipping settings of the account. Any fields that are not provided are deleted from the resource.", - "flatPath": "{merchantId}/shippingsettings/{accountId}", - "httpMethod": "PUT", - "id": "content.shippingsettings.update", - "parameterOrder": [ - "merchantId", - "accountId" - ], - "parameters": { - "accountId": { - "description": "The ID of the account for which to get/update shipping settings.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "merchantId": { - "description": "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": "uint64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/shippingsettings/{accountId}", - "request": { - "$ref": "ShippingSettings" - }, - "response": { - "$ref": "ShippingSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "shoppingadsprogram": { - "methods": { - "get": { - "description": "Retrieves the status and review eligibility for the Shopping Ads program. Returns errors and warnings if they require action to resolve, will become disapprovals, or impact impressions. Use `accountstatuses` to view all issues for an account.", - "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 of Shopping ads in a specific region. This method deprecated. Use the `MerchantSupportService` to view product and account issues and request a review.", - "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": "20260429", - "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'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 Google Ads API. To delete an active link, or to cancel a link request, remove it from the list.", - "items": { - "$ref": "AccountAdsLink" - }, - "type": "array" - }, - "adultContent": { - "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": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "businessIdentity": { - "$ref": "AccountBusinessIdentity", - "description": "The business identity attributes can be used to self-declare attributes that let customers know more about your business." - }, - "businessInformation": { - "$ref": "AccountBusinessInformation", - "description": "The business information of the account." - }, - "conversionSettings": { - "$ref": "AccountConversionSettings", - "description": "Settings for conversion tracking." - }, - "cssId": { - "description": "ID of CSS the account belongs to.", - "format": "uint64", - "type": "string" - }, - "googleMyBusinessLink": { - "$ref": "AccountGoogleMyBusinessLink", - "description": "The Business Profile which is linked or in the process of being linked with the Merchant Center account." - }, - "id": { - "description": "Required. 64-bit Merchant Center account ID.", - "format": "uint64", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#account`\".", - "type": "string" - }, - "labelIds": { - "description": "Manually created label IDs that are assigned to the account by CSS.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "Required. Display name for the account.", - "type": "string" - }, - "sellerId": { - "description": "Client-specific, locally-unique, internal ID for the child account.", - "type": "string" - }, - "users": { - "description": "Users with access to the account. Every account (except for subaccounts) must have at least one admin user.", - "items": { - "$ref": "AccountUser" - }, - "type": "array" - }, - "websiteUrl": { - "description": "The merchant's website.", - "type": "string" - }, - "youtubeChannelLinks": { - "description": "Linked YouTube channels 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 in the YT Creator Studio interface. To delete an active link, or to cancel a link request, remove it from the list.", - "items": { - "$ref": "AccountYouTubeChannelLink" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountAddress": { - "id": "AccountAddress", - "properties": { - "country": { - "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 (for example, neighborhoods or suburbs).", - "type": "string" - }, - "postalCode": { - "description": "Postal code or ZIP (for example, \"94043\").", - "type": "string" - }, - "region": { - "description": "Top-level administrative subdivision of the country. For example, a state like California (\"CA\") or a province like Quebec (\"QC\").", - "type": "string" - }, - "streetAddress": { - "description": "Street-level part of the address. Use `\\n` to add a second line.", - "type": "string" - } - }, - "type": "object" - }, - "AccountAdsLink": { - "id": "AccountAdsLink", - "properties": { - "adsId": { - "description": "Customer ID of the Ads account.", - "format": "uint64", - "type": "string" - }, - "status": { - "description": "Status of the link between this Merchant Center account and the Ads account. Upon retrieval, it represents the actual status of the link and can be either `active` if it was approved in Google Ads or `pending` if it's pending approval. Upon insertion, it represents the *intended* status of the link. Re-uploading a link with status `active` when it's still pending or with status `pending` when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status `inactive` is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending. Acceptable values are: - \"`active`\" - \"`pending`\" ", - "type": "string" - } - }, - "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" - }, - "AccountBusinessIdentity": { - "description": "The [business identity attributes](https://support.google.com/merchants/answer/10342414) can be used to self-declare attributes that let customers know more about your business.", - "id": "AccountBusinessIdentity", - "properties": { - "blackOwned": { - "$ref": "AccountIdentityType", - "description": "Specifies whether the business identifies itself as being black-owned. This optional field is only available for merchants with a business country set to \"US\". This field is not allowed for marketplaces or marketplace sellers." - }, - "includeForPromotions": { - "description": "Required. By setting this field, your business may be included in promotions for all the selected attributes. If you clear this option, it won't affect your identification with any of the attributes. For this field to be set, the merchant must self identify with at least one of the `AccountIdentityType`. If none are included, the request will be considered invalid.", - "type": "boolean" - }, - "latinoOwned": { - "$ref": "AccountIdentityType", - "description": "Specifies whether the business identifies itself as being latino-owned. This optional field is only available for merchants with a business country set to \"US\". This field is not allowed for marketplaces or marketplace sellers." - }, - "smallBusiness": { - "$ref": "AccountIdentityType", - "description": "Specifies whether the business identifies itself as a small business. This optional field is only available for merchants with a business country set to \"US\". It is also not allowed for marketplaces, but it is allowed to marketplace sellers." - }, - "veteranOwned": { - "$ref": "AccountIdentityType", - "description": "Specifies whether the business identifies itself as being veteran-owned. This optional field is only available for merchants with a business country set to \"US\". This field is not allowed for marketplaces or marketplace sellers." - }, - "womenOwned": { - "$ref": "AccountIdentityType", - "description": "Specifies whether the business identifies itself as being women-owned. This optional field is only available for merchants with a business country set to \"US\". This field is not allowed for marketplaces or marketplace sellers." - } - }, - "type": "object" - }, - "AccountBusinessInformation": { - "id": "AccountBusinessInformation", - "properties": { - "address": { - "$ref": "AccountAddress", - "description": "The address of the business. Use `\\n` to add a second address line." - }, - "customerService": { - "$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 in [E.164](https://en.wikipedia.org/wiki/E.164) format. 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" - } - }, - "type": "object" - }, - "AccountConversionSettings": { - "description": "Settings for conversion tracking.", - "id": "AccountConversionSettings", - "properties": { - "freeListingsAutoTaggingEnabled": { - "description": "When enabled, free listing URLs have a parameter to enable conversion tracking for products owned by the current merchant account. See [auto-tagging](https://support.google.com/merchants/answer/11127659).", - "type": "boolean" - } - }, - "type": "object" - }, - "AccountCredentials": { - "description": "Credentials allowing Google to call a partner's API on behalf of a merchant.", - "id": "AccountCredentials", - "properties": { - "accessToken": { - "description": "An OAuth access token.", - "type": "string" - }, - "expiresIn": { - "description": "The amount of time, in seconds, after which the access token is no longer valid.", - "format": "int64", - "type": "string" - }, - "purpose": { - "description": "Indicates to Google how Google should use these OAuth tokens.", - "enum": [ - "ACCOUNT_CREDENTIALS_PURPOSE_UNSPECIFIED", - "SHOPIFY_ORDER_MANAGEMENT", - "SHOPIFY_INTEGRATION" - ], - "enumDeprecated": [ - false, - true, - false - ], - "enumDescriptions": [ - "Unknown purpose.", - "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" - } - }, - "type": "object" - }, - "AccountCustomerService": { - "id": "AccountCustomerService", - "properties": { - "email": { - "description": "Customer service email.", - "type": "string" - }, - "phoneNumber": { - "description": "Customer service phone number.", - "type": "string" - }, - "url": { - "description": "Customer service URL.", - "type": "string" - } - }, - "type": "object" - }, - "AccountGoogleMyBusinessLink": { - "id": "AccountGoogleMyBusinessLink", - "properties": { - "gmbAccountId": { - "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 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 Business Profile. Acceptable values are: - \"`active`\" - \"`pending`\" ", - "type": "string" - } - }, - "type": "object" - }, - "AccountIdentifier": { - "id": "AccountIdentifier", - "properties": { - "aggregatorId": { - "description": "The aggregator ID, set for aggregators and subaccounts (in that case, it represents the aggregator of the subaccount).", - "format": "uint64", - "type": "string" - }, - "merchantId": { - "description": "The merchant account ID, set for individual accounts and subaccounts.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "AccountIdentityType": { - "description": "The account identity type used to specify attributes.", - "id": "AccountIdentityType", - "properties": { - "selfIdentified": { - "description": "Optional. Indicates that the business identifies itself with a given identity type. Setting this field does not automatically mean eligibility for promotions.", - "type": "boolean" - } - }, - "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" - }, - "AccountIssue": { - "description": "An issue affecting specific merchant.", - "id": "AccountIssue", - "properties": { - "actions": { - "description": "A list of actionable steps that can be executed to solve the issue. An example is requesting a re-review or providing arguments when merchant disagrees with the issue. Actions that are supported in (your) third-party application can be rendered as buttons and should be available to merchant when they expand the issue.", - "items": { - "$ref": "Action" - }, - "type": "array" - }, - "impact": { - "$ref": "AccountIssueImpact", - "description": "Clarifies the severity of the issue. The summarizing message, if present, should be shown right under the title for each issue. It helps merchants to quickly understand the impact of the issue. The detailed breakdown helps the merchant to fully understand the impact of the issue. It can be rendered as dialog that opens when the merchant mouse over the summarized impact statement. Issues with different severity can be styled differently. They may use a different color or icon to signal the difference between `ERROR`, `WARNING` and `INFO`." - }, - "prerenderedContent": { - "description": "Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `issue-detail` - top level container for the detail of the issue * `callout-banners` - section of the `issue-detail` with callout banners * `callout-banner` - single callout banner, inside `callout-banners` * `callout-banner-info` - callout with important information (default) * `callout-banner-warning` - callout with a warning * `callout-banner-error` - callout informing about an error (most severe) * `issue-content` - section of the `issue-detail`, contains multiple `content-element` * `content-element` - content element such as a list, link or paragraph, inside `issue-content` * `root-causes` - unordered list with items describing root causes of the issue, inside `issue-content` * `root-causes-intro` - intro text before the `root-causes` list, inside `issue-content` * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. * `content-moderation` - marks the paragraph that explains how the issue was identified. * `new-element` - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class.", - "type": "string" - }, - "prerenderedOutOfCourtDisputeSettlement": { - "description": "Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `ods-section`* - wrapper around the out-of-court dispute resolution section * `ods-description`* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link. * `ods-param`* - wrapper around the header-value pair for parameters that merchant may need to provide during the ODS process. * `ods-routing-id`* - ods param for the Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - value of the ODS parameter. This value should be rendered in a way that it is easy for merchants to identify and copy. * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon.", - "type": "string" - }, - "title": { - "description": "Title of the issue.", - "type": "string" - } - }, - "type": "object" - }, - "AccountIssueImpact": { - "description": "Overall impact of the issue.", - "id": "AccountIssueImpact", - "properties": { - "breakdowns": { - "description": "Detailed impact breakdown. Explains the types of restriction the issue has in different shopping destinations and territory. If present, it should be rendered to the merchant. Can be shown as a mouse over dropdown or a dialog. Each breakdown item represents a group of regions with the same impact details.", - "items": { - "$ref": "Breakdown" - }, - "type": "array" - }, - "message": { - "description": "Optional. Message summarizing the overall impact of the issue. If present, it should be rendered to the merchant. For example: \"Disapproves 90k offers in 25 countries\"", - "type": "string" - }, - "severity": { - "description": "The severity of the issue.", - "enum": [ - "SEVERITY_UNSPECIFIED", - "ERROR", - "WARNING", - "INFO" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Causes either an account suspension or an item disapproval. Errors should be resolved as soon as possible to ensure items are eligible to appear in results again.", - "Warnings can negatively impact the performance of ads and can lead to item or account suspensions in the future unless the issue is resolved.", - "Infos are suggested optimizations to increase data quality. Resolving these issues is recommended, but not required." - ], - "type": "string" - } - }, - "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’s 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", - "properties": { - "accountId": { - "description": "Immutable. The ID of account this label belongs to.", - "format": "int64", - "type": "string" - }, - "description": { - "description": "The description of this label.", - "type": "string" - }, - "labelId": { - "description": "Output only. The ID of the label.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "labelType": { - "description": "Output only. The type of this label.", - "enum": [ - "LABEL_TYPE_UNSPECIFIED", - "MANUAL", - "AUTOMATIC" - ], - "enumDescriptions": [ - "Unknown label type.", - "Indicates that the label was created manually.", - "Indicates that the label was created automatically by CSS Center." - ], - "readOnly": true, - "type": "string" - }, - "name": { - "description": "The display name of this label.", - "type": "string" - } - }, - "type": "object" - }, - "AccountReturnCarrier": { - "description": " The return carrier information. This service is designed for merchants enrolled in the Buy on Google program. ", - "id": "AccountReturnCarrier", - "properties": { - "carrierAccountId": { - "description": "Output only. Immutable. The Google-provided unique carrier ID, used to update the resource.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "carrierAccountName": { - "description": "Name of the carrier account.", - "type": "string" - }, - "carrierAccountNumber": { - "description": "Number of the carrier account.", - "type": "string" - }, - "carrierCode": { - "description": "The carrier code enum. Accepts the values FEDEX or UPS.", - "enum": [ - "CARRIER_CODE_UNSPECIFIED", - "FEDEX", - "UPS" - ], - "enumDescriptions": [ - "Carrier not specified", - "FedEx carrier", - "UPS carrier" - ], - "type": "string" - } - }, - "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, that is, information about its products, which is computed offline and not returned immediately at insertion time.", - "id": "AccountStatus", - "properties": { - "accountId": { - "description": "The ID of the account for which the status is reported.", - "type": "string" - }, - "accountLevelIssues": { - "description": "A list of account level issues.", - "items": { - "$ref": "AccountStatusAccountLevelIssue" - }, - "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" - }, - "products": { - "description": "List of product-related data by channel, destination, and country. Data in this field may be delayed by up to 30 minutes.", - "items": { - "$ref": "AccountStatusProducts" - }, - "type": "array" - }, - "websiteClaimed": { - "description": "Whether the account's website is claimed or not.", - "type": "boolean" - } - }, - "type": "object" - }, - "AccountStatusAccountLevelIssue": { - "id": "AccountStatusAccountLevelIssue", - "properties": { - "country": { - "description": "Country for which this issue is reported.", - "type": "string" - }, - "destination": { - "description": "The destination the issue applies to. If this field is empty then the issue applies to all available destinations.", - "type": "string" - }, - "detail": { - "description": "Additional details about the issue.", - "type": "string" - }, - "documentation": { - "description": "The URL of a web page to help resolving this issue.", - "type": "string" - }, - "id": { - "description": "Issue identifier.", - "type": "string" - }, - "severity": { - "description": "Severity of the issue. Acceptable values are: - \"`critical`\" - \"`error`\" - \"`suggestion`\" ", - "type": "string" - }, - "title": { - "description": "Short description of the issue.", - "type": "string" - } - }, - "type": "object" - }, - "AccountStatusItemLevelIssue": { - "id": "AccountStatusItemLevelIssue", - "properties": { - "attributeName": { - "description": "The attribute's name, if the issue is caused by a single attribute.", - "type": "string" - }, - "code": { - "description": "The error code of the issue.", - "type": "string" - }, - "description": { - "description": "A short issue description in English.", - "type": "string" - }, - "detail": { - "description": "A detailed issue description in English.", - "type": "string" - }, - "documentation": { - "description": "The URL of a web page to help with resolving this issue.", - "type": "string" - }, - "numItems": { - "description": "Number of items with this issue.", - "format": "int64", - "type": "string" - }, - "resolution": { - "description": "Whether the issue can be resolved by the merchant.", - "type": "string" - }, - "servability": { - "description": "How this issue affects serving of the offer.", - "type": "string" - } - }, - "type": "object" - }, - "AccountStatusProducts": { - "id": "AccountStatusProducts", - "properties": { - "channel": { - "description": "The channel the data applies to. Acceptable values are: - \"`local`\" - \"`online`\" ", - "type": "string" - }, - "country": { - "description": "The country the data applies to.", - "type": "string" - }, - "destination": { - "description": "The destination the data applies to.", - "type": "string" - }, - "itemLevelIssues": { - "description": "List of item-level issues.", - "items": { - "$ref": "AccountStatusItemLevelIssue" - }, - "type": "array" - }, - "statistics": { - "$ref": "AccountStatusStatistics", - "description": "Aggregated product statistics." - } - }, - "type": "object" - }, - "AccountStatusStatistics": { - "id": "AccountStatusStatistics", - "properties": { - "active": { - "description": "Number of active offers.", - "format": "int64", - "type": "string" - }, - "disapproved": { - "description": "Number of disapproved offers.", - "format": "int64", - "type": "string" - }, - "expiring": { - "description": "Number of expiring offers.", - "format": "int64", - "type": "string" - }, - "pending": { - "description": "Number of pending offers.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AccountTax": { - "description": "The tax settings of a merchant account. All methods require the admin role.", - "id": "AccountTax", - "properties": { - "accountId": { - "description": "Required. The ID of the account to which these account tax settings belong.", - "format": "uint64", - "type": "string" - }, - "kind": { - "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.", - "items": { - "$ref": "AccountTaxTaxRule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountTaxTaxRule": { - "description": "Tax calculation rule to apply in a state or province (US only).", - "id": "AccountTaxTaxRule", - "properties": { - "country": { - "description": "Country code in which tax is applicable.", - "type": "string" - }, - "locationId": { - "description": "Required. State (or province) is which the tax is applicable, described by its location ID (also called criteria ID).", - "format": "uint64", - "type": "string" - }, - "ratePercent": { - "description": "Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.", - "type": "string" - }, - "shippingTaxed": { - "description": "If true, shipping charges are also taxed.", - "type": "boolean" - }, - "useGlobalRate": { - "description": "Whether the tax rate is taken from a global tax table or specified explicitly.", - "type": "boolean" - } - }, - "type": "object" - }, - "AccountUser": { - "id": "AccountUser", - "properties": { - "admin": { - "description": "Whether user is an admin.", - "type": "boolean" - }, - "emailAddress": { - "description": "User's email address.", - "type": "string" - }, - "orderManager": { - "deprecated": true, - "description": "This role is deprecated and can no longer be assigned. Any value set will be ignored.", - "type": "boolean" - }, - "paymentsAnalyst": { - "deprecated": true, - "description": "This role is deprecated and can no longer be assigned. Any value set will be ignored.", - "type": "boolean" - }, - "paymentsManager": { - "deprecated": true, - "description": "This role is deprecated and can no longer be assigned. Any value set will be ignored.", - "type": "boolean" - }, - "readOnly": { - "description": "Optional. Whether user has standard read-only access.", - "type": "boolean" - }, - "reportingManager": { - "description": "Whether user is a reporting manager. This role is equivalent to the Performance and insights role in Merchant Center.", - "type": "boolean" - } - }, - "type": "object" - }, - "AccountYouTubeChannelLink": { - "id": "AccountYouTubeChannelLink", - "properties": { - "channelId": { - "description": "Channel ID.", - "type": "string" - }, - "status": { - "description": "Status of the link between this Merchant Center account and the YouTube channel. Upon retrieval, it represents the actual status of the link and can be either `active` if it was approved in YT Creator Studio or `pending` if it's pending approval. Upon insertion, it represents the *intended* status of the link. Re-uploading a link with status `active` when it's still pending or with status `pending` when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status `inactive` is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.", - "type": "string" - } - }, - "type": "object" - }, - "AccountsAuthInfoResponse": { - "id": "AccountsAuthInfoResponse", - "properties": { - "accountIdentifiers": { - "description": "The account identifiers corresponding to the authenticated user. - For an individual account: only the merchant ID is defined - For an aggregator: only the aggregator ID is defined - For a subaccount of an MCA: both the merchant ID and the aggregator ID are defined. ", - "items": { - "$ref": "AccountIdentifier" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsAuthInfoResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "AccountsClaimWebsiteResponse": { - "id": "AccountsClaimWebsiteResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsClaimWebsiteResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "AccountsCustomBatchRequest": { - "id": "AccountsCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "AccountsCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountsCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch accounts request.", - "id": "AccountsCustomBatchRequestEntry", - "properties": { - "account": { - "$ref": "Account", - "description": "The account to create or update. Only defined if the method is `insert` or `update`." - }, - "accountId": { - "description": "The ID of the targeted account. Only defined if the method is not `insert`.", - "format": "uint64", - "type": "string" - }, - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "force": { - "description": "Whether the account should be deleted if the account has offers. Only applicable if the method is `delete`.", - "type": "boolean" - }, - "labelIds": { - "description": "Label IDs for the 'updatelabels' request.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "linkRequest": { - "$ref": "AccountsCustomBatchRequestEntryLinkRequest", - "description": "Details about the `link` request." - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`claimWebsite`\" - \"`delete`\" - \"`get`\" - \"`insert`\" - \"`link`\" - \"`update`\" ", - "type": "string" - }, - "overwrite": { - "description": "Only applicable if the method is `claimwebsite`. Indicates whether or not to take the claim from another account in case there is a conflict.", - "type": "boolean" - }, - "view": { - "description": "Controls which fields are visible. Only applicable if the method is 'get'.", - "type": "string" - } - }, - "type": "object" - }, - "AccountsCustomBatchRequestEntryLinkRequest": { - "id": "AccountsCustomBatchRequestEntryLinkRequest", - "properties": { - "action": { - "description": "Action to perform for this link. The `\"request\"` action is only available to select merchants. Acceptable values are: - \"`approve`\" - \"`remove`\" - \"`request`\" ", - "type": "string" - }, - "linkType": { - "description": "Type of the link between the two accounts. Acceptable values are: - \"`channelPartner`\" - \"`eCommercePlatform`\" - \"`paymentServiceProvider`\" - \"`localProductManager`\" ", - "type": "string" - }, - "linkedAccountId": { - "description": "The ID of the linked account.", - "type": "string" - }, - "services": { - "description": "Provided services. Acceptable values are: - \"`shoppingAdsProductManagement`\" - \"`shoppingActionsProductManagement`\" - \"`shoppingActionsOrderManagement`\" - \"`paymentProcessing`\" - \"`localProductManagement`\" ", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountsCustomBatchResponse": { - "id": "AccountsCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "AccountsCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "AccountsCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch accounts response.", - "id": "AccountsCustomBatchResponseEntry", - "properties": { - "account": { - "$ref": "Account", - "description": "The retrieved, created, or updated account. Not defined if the method was `delete`, `claimwebsite` or `link`." - }, - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsCustomBatchResponseEntry`\"", - "type": "string" - } - }, - "type": "object" - }, - "AccountsLinkRequest": { - "id": "AccountsLinkRequest", - "properties": { - "action": { - "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`\" - \"`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`\" - \"`paymentProcessing`\" ", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountsLinkResponse": { - "id": "AccountsLinkResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsLinkResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "AccountsListLinksResponse": { - "id": "AccountsListLinksResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsListLinksResponse`\".", - "type": "string" - }, - "links": { - "description": "The list of available links.", - "items": { - "$ref": "LinkedAccount" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of links.", - "type": "string" - } - }, - "type": "object" - }, - "AccountsListResponse": { - "id": "AccountsListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of accounts.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "Account" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountsUpdateLabelsRequest": { - "id": "AccountsUpdateLabelsRequest", - "properties": { - "labelIds": { - "description": "The IDs of labels that should be assigned to the account.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountsUpdateLabelsResponse": { - "id": "AccountsUpdateLabelsResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsUpdateLabelsResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "AccountstatusesCustomBatchRequest": { - "id": "AccountstatusesCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "AccountstatusesCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountstatusesCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch accountstatuses request.", - "id": "AccountstatusesCustomBatchRequestEntry", - "properties": { - "accountId": { - "description": "The ID of the (sub-)account whose status to get.", - "format": "uint64", - "type": "string" - }, - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "destinations": { - "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.", - "items": { - "type": "string" - }, - "type": "array" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`get`\" ", - "type": "string" - } - }, - "type": "object" - }, - "AccountstatusesCustomBatchResponse": { - "id": "AccountstatusesCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "AccountstatusesCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountstatusesCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "AccountstatusesCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch accountstatuses response.", - "id": "AccountstatusesCustomBatchResponseEntry", - "properties": { - "accountStatus": { - "$ref": "AccountStatus", - "description": "The requested account status. Defined if and only if the request was successful." - }, - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - } - }, - "type": "object" - }, - "AccountstatusesListResponse": { - "id": "AccountstatusesListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountstatusesListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of account statuses.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "AccountStatus" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccounttaxCustomBatchRequest": { - "id": "AccounttaxCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "AccounttaxCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccounttaxCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch accounttax request.", - "id": "AccounttaxCustomBatchRequestEntry", - "properties": { - "accountId": { - "description": "The ID of the account for which to get/update account tax settings.", - "format": "uint64", - "type": "string" - }, - "accountTax": { - "$ref": "AccountTax", - "description": "The account tax settings to update. Only defined if the method is `update`." - }, - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`get`\" - \"`update`\" ", - "type": "string" - } - }, - "type": "object" - }, - "AccounttaxCustomBatchResponse": { - "id": "AccounttaxCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "AccounttaxCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accounttaxCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "AccounttaxCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch accounttax response.", - "id": "AccounttaxCustomBatchResponseEntry", - "properties": { - "accountTax": { - "$ref": "AccountTax", - "description": "The retrieved or updated account tax settings." - }, - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accounttaxCustomBatchResponseEntry`\"", - "type": "string" - } - }, - "type": "object" - }, - "AccounttaxListResponse": { - "id": "AccounttaxListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accounttaxListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of account tax settings.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "AccountTax" - }, - "type": "array" - } - }, - "type": "object" - }, - "Action": { - "description": "An actionable step that can be executed to solve the issue.", - "id": "Action", - "properties": { - "builtinSimpleAction": { - "$ref": "BuiltInSimpleAction", - "description": "Action implemented and performed in (your) third-party application. The application should point the merchant to the place, where they can access the corresponding functionality or provide instructions, if the specific functionality is not available." - }, - "builtinUserInputAction": { - "$ref": "BuiltInUserInputAction", - "description": "Action implemented and performed in (your) third-party application. The application needs to show an additional content and input form to the merchant as specified for given action. They can trigger the action only when they provided all required inputs." - }, - "buttonLabel": { - "description": "Label of the action button.", - "type": "string" - }, - "externalAction": { - "$ref": "ExternalAction", - "description": "Action that is implemented and performed outside of (your) third-party application. The application needs to redirect the merchant to the external location where they can perform the action." - }, - "isAvailable": { - "description": "Controlling whether the button is active or disabled. The value is 'false' when the action was already requested or is not available. If the action is not available then a reason will be present. If (your) third-party application shows a disabled button for action that is not available, then it should also show reasons.", - "type": "boolean" - }, - "reasons": { - "description": "List of reasons why the action is not available. The list of reasons is empty if the action is available. If there is only one reason, it can be displayed next to the disabled button. If there are more reasons, all of them should be displayed, for example in a pop-up dialog.", - "items": { - "$ref": "ActionReason" - }, - "type": "array" - } - }, - "type": "object" - }, - "ActionFlow": { - "description": "Flow that can be selected for an action. When merchant selects a flow, application should open a dialog with more information and input form.", - "id": "ActionFlow", - "properties": { - "dialogButtonLabel": { - "description": "Label for the button to trigger the action from the action dialog. For example: \"Request review\"", - "type": "string" - }, - "dialogCallout": { - "$ref": "Callout", - "description": "Important message to be highlighted in the request dialog. For example: \"You can only request a review for disagreeing with this issue once. If it's not approved, you'll need to fix the issue and wait a few days before you can request another review.\"" - }, - "dialogMessage": { - "$ref": "TextWithTooltip", - "description": "Message displayed in the request dialog. For example: \"Make sure you've fixed all your country-specific issues. If not, you may have to wait 7 days to request another review\". There may be an more information to be shown in a tooltip." - }, - "dialogTitle": { - "description": "Title of the request dialog. For example: \"Before you request a review\"", - "type": "string" - }, - "id": { - "description": "Not for display but need to be sent back for the selected action flow.", - "type": "string" - }, - "inputs": { - "description": "A list of input fields.", - "items": { - "$ref": "InputField" - }, - "type": "array" - }, - "label": { - "description": "Text value describing the intent for the action flow. It can be used as an input label if merchant needs to pick one of multiple flows. For example: \"I disagree with the issue\"", - "type": "string" - } - }, - "type": "object" - }, - "ActionInput": { - "description": "Input provided by the merchant.", - "id": "ActionInput", - "properties": { - "actionFlowId": { - "description": "Required. Id of the selected action flow.", - "type": "string" - }, - "inputValues": { - "description": "Required. Values for input fields.", - "items": { - "$ref": "InputValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "ActionReason": { - "description": "A single reason why the action is not available.", - "id": "ActionReason", - "properties": { - "action": { - "$ref": "Action", - "description": "Optional. An action that needs to be performed to solve the problem represented by this reason. This action will always be available. Should be rendered as a link or button next to the summarizing message. For example, the review may be available only once merchant configure all required attributes. In such a situation this action can be a link to the form, where they can fill the missing attribute to unblock the main action." - }, - "detail": { - "description": "Detailed explanation of the reason. Should be displayed as a hint if present.", - "type": "string" - }, - "message": { - "description": "Messages summarizing the reason, why the action is not available. For example: \"Review requested on Jan 03. Review requests can take a few days to complete.\"", - "type": "string" - } - }, - "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. Use `\\n` to add a second line.", - "type": "string" - } - }, - "type": "object" - }, - "AlternateDisputeResolution": { - "description": "The Alternate Dispute Resolution (ADR) that may be available to merchants in some regions. If present, the link should be shown on the same page as the list of issues.", - "id": "AlternateDisputeResolution", - "properties": { - "label": { - "description": "The label for the alternate dispute resolution link.", - "type": "string" - }, - "uri": { - "description": "The URL pointing to a page, where merchant can request alternative dispute resolution with an [external body](https://support.google.com/european-union-digital-services-act-redress-options/answer/13535501).", - "type": "string" - } - }, - "type": "object" - }, - "AttributionSettings": { - "description": "Represents attribution settings for conversion sources receiving pre-attribution data.", - "id": "AttributionSettings", - "properties": { - "attributionLookbackWindowInDays": { - "description": "Required. Lookback windows (in days) used for attribution in this source. Supported values are 7, 30, 40.", - "format": "int32", - "type": "integer" - }, - "attributionModel": { - "enum": [ - "ATTRIBUTION_MODEL_UNSPECIFIED", - "CROSS_CHANNEL_LAST_CLICK", - "ADS_PREFERRED_LAST_CLICK", - "CROSS_CHANNEL_DATA_DRIVEN", - "CROSS_CHANNEL_FIRST_CLICK", - "CROSS_CHANNEL_LINEAR", - "CROSS_CHANNEL_POSITION_BASED", - "CROSS_CHANNEL_TIME_DECAY" - ], - "enumDescriptions": [ - "", - "Cross-channel Last Click model.", - "Ads-preferred Last Click model.", - "Cross-channel Data Driven model.", - "Cross-channel First Click model.", - "Cross-channel Linear model.", - "Cross-channel Position Based model.", - "Cross-channel Time Decay model." - ], - "type": "string" - }, - "conversionType": { - "description": "Immutable. Unordered list. List of different conversion types a conversion event can be classified as. A standard \"purchase\" type will be automatically created if this list is empty at creation time.", - "items": { - "$ref": "AttributionSettingsConversionType" - }, - "type": "array" - } - }, - "type": "object" - }, - "AttributionSettingsConversionType": { - "description": "Message representing a types of conversion events", - "id": "AttributionSettingsConversionType", - "properties": { - "includeInReporting": { - "description": "Output only. Option indicating if the type should be included in Merchant Center reporting.", - "readOnly": true, - "type": "boolean" - }, - "name": { - "description": "Output only. Conversion event name, as it'll be reported by the client.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "BestSellers": { - "description": "Fields related to the [Best sellers reports](https://support.google.com/merchants/answer/9488679).", - "id": "BestSellers", - "properties": { - "categoryId": { - "description": "Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). If a `WHERE` condition on `best_sellers.category_id` is not specified in the query, rankings for all top-level categories are returned.", - "format": "int64", - "type": "string" - }, - "countryCode": { - "description": "Country where the ranking is calculated. A `WHERE` condition on `best_sellers.country_code` is required in the query.", - "type": "string" - }, - "previousRank": { - "description": "Popularity rank in the previous week or month.", - "format": "int64", - "type": "string" - }, - "previousRelativeDemand": { - "description": "Estimated demand in relation to the item with the highest popularity rank in the same category and country in the previous week or month.", - "enum": [ - "RELATIVE_DEMAND_UNSPECIFIED", - "VERY_LOW", - "LOW", - "MEDIUM", - "HIGH", - "VERY_HIGH" - ], - "enumDescriptions": [ - "Relative demand is unknown.", - "Demand is 0-5% of the demand of the highest ranked product clusters or brands.", - "Demand is 6-10% of the demand of the highest ranked product clusters or brands.", - "Demand is 11-20% of the demand of the highest ranked product clusters or brands.", - "Demand is 21-50% of the demand of the highest ranked product clusters or brands.", - "Demand is 51-100% of the demand of the highest ranked product clusters or brands." - ], - "type": "string" - }, - "rank": { - "description": "Popularity on Shopping ads and free listings, in the selected category and country, based on the estimated number of units sold.", - "format": "int64", - "type": "string" - }, - "relativeDemand": { - "description": "Estimated demand in relation to the item with the highest popularity rank in the same category and country.", - "enum": [ - "RELATIVE_DEMAND_UNSPECIFIED", - "VERY_LOW", - "LOW", - "MEDIUM", - "HIGH", - "VERY_HIGH" - ], - "enumDescriptions": [ - "Relative demand is unknown.", - "Demand is 0-5% of the demand of the highest ranked product clusters or brands.", - "Demand is 6-10% of the demand of the highest ranked product clusters or brands.", - "Demand is 11-20% of the demand of the highest ranked product clusters or brands.", - "Demand is 21-50% of the demand of the highest ranked product clusters or brands.", - "Demand is 51-100% of the demand of the highest ranked product clusters or brands." - ], - "type": "string" - }, - "relativeDemandChange": { - "description": "Change in the estimated demand. Whether it rose, sank or remained flat.", - "enum": [ - "RELATIVE_DEMAND_CHANGE_TYPE_UNSPECIFIED", - "SINKER", - "FLAT", - "RISER" - ], - "enumDescriptions": [ - "Relative demand change is unknown.", - "Relative demand is lower than previous time period.", - "Relative demand is equal to previous time period.", - "Relative demand is higher than the previous time period." - ], - "type": "string" - }, - "reportDate": { - "$ref": "Date", - "description": "Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports. * The first day of the month for monthly reports. If a `WHERE` condition on `best_sellers.report_date` is not specified in the query, the latest available weekly or monthly report is returned." - }, - "reportGranularity": { - "description": "Granularity of the report. The ranking can be done over a week or a month timeframe. A `WHERE` condition on `best_sellers.report_granularity` is required in the query.", - "enum": [ - "REPORT_GRANULARITY_UNSPECIFIED", - "WEEKLY", - "MONTHLY" - ], - "enumDescriptions": [ - "Report granularity is unknown.", - "Ranking is done over a week timeframe.", - "Ranking is done over a month timeframe." - ], - "type": "string" - } - }, - "type": "object" - }, - "Brand": { - "description": "Brand fields. Values are only set for fields requested explicitly in the request's search query.", - "id": "Brand", - "properties": { - "name": { - "description": "Name of the brand.", - "type": "string" - } - }, - "type": "object" - }, - "Breakdown": { - "description": "A detailed impact breakdown for a group of regions where the impact of the issue on different shopping destinations is the same.", - "id": "Breakdown", - "properties": { - "details": { - "description": "Human readable, localized description of issue's effect on different targets. Should be rendered as a list. For example: * \"Products not showing in ads\" * \"Products not showing organically\"", - "items": { - "type": "string" - }, - "type": "array" - }, - "regions": { - "description": "Lists of regions. Should be rendered as a title for this group of details. The full list should be shown to merchant. If the list is too long, it is recommended to make it expandable.", - "items": { - "$ref": "BreakdownRegion" - }, - "type": "array" - } - }, - "type": "object" - }, - "BreakdownRegion": { - "description": "Region with code and localized name.", - "id": "BreakdownRegion", - "properties": { - "code": { - "description": "The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)", - "type": "string" - }, - "name": { - "description": "The localized name of the region. For region with code='001' the value is 'All countries' or the equivalent in other languages.", - "type": "string" - } - }, - "type": "object" - }, - "BuiltInSimpleAction": { - "description": "Action that is implemented and performed in (your) third-party application. Represents various functionality that is expected to be available to merchant and will help them with resolving the issue. The application should point the merchant to the place, where they can access the corresponding functionality. If the functionality is not supported, it is recommended to explain the situation to merchant and provide them with instructions how to solve the issue.", - "id": "BuiltInSimpleAction", - "properties": { - "additionalContent": { - "$ref": "BuiltInSimpleActionAdditionalContent", - "description": "Long text from an external source that should be available to the merchant. Present when the type is `SHOW_ADDITIONAL_CONTENT`." - }, - "attributeCode": { - "description": "The attribute that needs to be updated. Present when the type is `EDIT_ITEM_ATTRIBUTE`. This field contains a code for attribute, represented in snake_case. You can find a list of product's attributes, with their codes [here](https://support.google.com/merchants/answer/7052112).", - "type": "string" - }, - "type": { - "description": "The type of action that represents a functionality that is expected to be available in third-party application.", - "enum": [ - "BUILT_IN_SIMPLE_ACTION_TYPE_UNSPECIFIED", - "VERIFY_PHONE", - "CLAIM_WEBSITE", - "ADD_PRODUCTS", - "ADD_CONTACT_INFO", - "LINK_ADS_ACCOUNT", - "ADD_BUSINESS_REGISTRATION_NUMBER", - "EDIT_ITEM_ATTRIBUTE", - "FIX_ACCOUNT_ISSUE", - "SHOW_ADDITIONAL_CONTENT" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Redirect merchant to the part of your application where they can verify their phone.", - "Redirect merchant to the part of your application where they can claim their website.", - "Redirect merchant to the part of your application where they can add products.", - "Open a form where the merchant can edit their contact information.", - "Redirect merchant to the part of your application where they can link ads account.", - "Open a form where the merchant can add their business registration number.", - "Open a form where the merchant can edit an attribute. The attribute that needs to be updated is specified in attribute_code field of the action.", - "Redirect merchant from the product issues to the diagnostic page with their account issues in your application. This action will be returned only for product issues that are caused by an account issue and thus merchant should resolve the problem on the account level.", - "Show additional content to the merchant. This action will be used for example to deliver a justification from national authority." - ], - "type": "string" - } - }, - "type": "object" - }, - "BuiltInSimpleActionAdditionalContent": { - "description": "Long text from external source.", - "id": "BuiltInSimpleActionAdditionalContent", - "properties": { - "paragraphs": { - "description": "Long text organized into paragraphs.", - "items": { - "type": "string" - }, - "type": "array" - }, - "title": { - "description": "Title of the additional content;", - "type": "string" - } - }, - "type": "object" - }, - "BuiltInUserInputAction": { - "description": "Action that is implemented and performed in (your) third-party application. The application needs to show an additional content and input form to the merchant. They can start the action only when they provided all required inputs. The application will request processing of the action by calling the [triggeraction method](https://developers.google.com/shopping-content/reference/rest/v2.1/merchantsupport/triggeraction).", - "id": "BuiltInUserInputAction", - "properties": { - "actionContext": { - "description": "Internal details. Not for display but need to be sent back when triggering the action.", - "type": "string" - }, - "flows": { - "description": "Actions may provide multiple different flows. Merchant selects one that fits best to their intent. Selecting the flow is the first step in user's interaction with the action. It affects what input fields will be available and required and also how the request will be processed.", - "items": { - "$ref": "ActionFlow" - }, - "type": "array" - } - }, - "type": "object" - }, - "BusinessDayConfig": { - "id": "BusinessDayConfig", - "properties": { - "businessDays": { - "description": "Regular business days, such as '\"monday\"'. May not be empty.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Callout": { - "description": "An important message that should be highlighted. Usually displayed as a banner.", - "id": "Callout", - "properties": { - "fullMessage": { - "$ref": "TextWithTooltip", - "description": "A full message that needs to be shown to the merchant." - }, - "styleHint": { - "description": "Can be used to render messages with different severity in different styles. Snippets off all types contain important information that should be displayed to merchants.", - "enum": [ - "CALLOUT_STYLE_HINT_UNSPECIFIED", - "ERROR", - "WARNING", - "INFO" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "The most important type of information highlighting problems, like an unsuccessful outcome of previously requested actions.", - "Information warning about pending problems, risks or deadlines.", - "Default severity for important information like pending status of previously requested action or cooldown for re-review." - ], - "type": "string" - } - }, - "type": "object" - }, - "CarrierRate": { - "id": "CarrierRate", - "properties": { - "carrierName": { - "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 through the `getSupportedCarriers` method. Required.", - "type": "string" - }, - "flatAdjustment": { - "$ref": "Price", - "description": "Additive shipping rate modifier. Can be negative. For example `{ \"value\": \"1\", \"currency\" : \"USD\" }` adds $1 to the rate, `{ \"value\": \"-3\", \"currency\" : \"USD\" }` removes $3 from the rate. Optional." - }, - "name": { - "description": "Name of the carrier rate. Must be unique per rate group. Required.", - "type": "string" - }, - "originPostalCode": { - "description": "Shipping origin for this carrier rate. Required.", - "type": "string" - }, - "percentageAdjustment": { - "description": "Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example `\"5.4\"` increases the rate by 5.4%, `\"-3\"` decreases the rate by 3%. Optional.", - "type": "string" - } - }, - "type": "object" - }, - "CarriersCarrier": { - "id": "CarriersCarrier", - "properties": { - "country": { - "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 (for example, `\"UPS\"`). Always present.", - "type": "string" - }, - "services": { - "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" - }, - "type": "array" - } - }, - "type": "object" - }, - "CheckoutSettings": { - "description": "`CheckoutSettings` for a specific merchant ID.", - "id": "CheckoutSettings", - "properties": { - "effectiveEnrollmentState": { - "description": "Output only. The effective value of enrollment state for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account.", - "enum": [ - "CHECKOUT_ON_MERCHANT_ENROLLMENT_STATE_UNSPECIFIED", - "INACTIVE", - "ENROLLED", - "OPT_OUT" - ], - "enumDescriptions": [ - "Default enrollment state when enrollment state is not specified.", - "Merchant has not enrolled into the feature.", - "Merchant has enrolled into the feature by providing either an account level URL or checkout URLs as part of their feed.", - "Merchant has previously enrolled but opted out of the feature." - ], - "readOnly": true, - "type": "string" - }, - "effectiveReviewState": { - "description": "Output only. The effective value of review state for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account.", - "enum": [ - "CHECKOUT_ON_MERCHANT_REVIEW_STATE_UNSPECIFIED", - "IN_REVIEW", - "APPROVED", - "DISAPPROVED" - ], - "enumDescriptions": [ - "Default review state when review state is not specified.", - "Merchant provided URLs are being reviewed for data quality issues.", - "Merchant account has been approved. Indicates the data quality checks have passed.", - "Merchant account has been disapproved due to data quality issues." - ], - "readOnly": true, - "type": "string" - }, - "effectiveUriSettings": { - "$ref": "UrlSettings", - "description": "The effective value of `url_settings` for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account." - }, - "enrollmentState": { - "description": "Output only. Reflects the merchant enrollment state in `Checkout` feature.", - "enum": [ - "CHECKOUT_ON_MERCHANT_ENROLLMENT_STATE_UNSPECIFIED", - "INACTIVE", - "ENROLLED", - "OPT_OUT" - ], - "enumDescriptions": [ - "Default enrollment state when enrollment state is not specified.", - "Merchant has not enrolled into the feature.", - "Merchant has enrolled into the feature by providing either an account level URL or checkout URLs as part of their feed.", - "Merchant has previously enrolled but opted out of the feature." - ], - "readOnly": true, - "type": "string" - }, - "merchantId": { - "description": "Required. The ID of the account.", - "format": "int64", - "type": "string" - }, - "reviewState": { - "description": "Output only. Reflects the merchant review state in `Checkout` feature. This is set based on the data quality reviews of the URL provided by the merchant. A merchant with enrollment state as `ENROLLED` can be in the following review states: `IN_REVIEW`, `APPROVED` or `DISAPPROVED`. A merchant must be in an enrollment_state of `ENROLLED` before a review can begin for the merchant.", - "enum": [ - "CHECKOUT_ON_MERCHANT_REVIEW_STATE_UNSPECIFIED", - "IN_REVIEW", - "APPROVED", - "DISAPPROVED" - ], - "enumDescriptions": [ - "Default review state when review state is not specified.", - "Merchant provided URLs are being reviewed for data quality issues.", - "Merchant account has been approved. Indicates the data quality checks have passed.", - "Merchant account has been disapproved due to data quality issues." - ], - "readOnly": true, - "type": "string" - }, - "uriSettings": { - "$ref": "UrlSettings", - "description": "URL settings for cart or checkout URL." - } - }, - "type": "object" - }, - "CloudExportAdditionalProperties": { - "description": "Product property for the Cloud Retail API. For example, properties for a TV product could be \"Screen-Resolution\" or \"Screen-Size\".", - "id": "CloudExportAdditionalProperties", - "properties": { - "boolValue": { - "description": "Boolean value of the given property. For example for a TV product, \"True\" or \"False\" if the screen is UHD.", - "type": "boolean" - }, - "floatValue": { - "description": "Float values of the given property. For example for a TV product 1.2345. Maximum number of specified values for this field is 400. Values are stored in an arbitrary but consistent order.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "intValue": { - "description": "Integer values of the given property. For example, 1080 for a screen resolution of a TV product. Maximum number of specified values for this field is 400. Values are stored in an arbitrary but consistent order.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "maxValue": { - "description": "Maximum float value of the given property. For example for a TV product 100.00.", - "format": "float", - "type": "number" - }, - "minValue": { - "description": "Minimum float value of the given property. For example for a TV product 1.00.", - "format": "float", - "type": "number" - }, - "propertyName": { - "description": "Name of the given property. For example, \"Screen-Resolution\" for a TV product. Maximum string size is 256 characters.", - "type": "string" - }, - "textValue": { - "description": "Text value of the given property. For example, \"8K(UHD)\" could be a text value for a TV product. Maximum number of specified values for this field is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters.", - "items": { - "type": "string" - }, - "type": "array" - }, - "unitCode": { - "description": "Unit of the given property. For example, \"Pixels\" for a TV product. Maximum string size is 256 bytes.", - "type": "string" - } - }, - "type": "object" - }, - "Collection": { - "description": "The collection message.", - "id": "Collection", - "properties": { - "customLabel0": { - "description": "Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns. [Custom label](https://support.google.com/merchants/answer/9674217)", - "type": "string" - }, - "customLabel1": { - "description": "Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns.", - "type": "string" - }, - "customLabel2": { - "description": "Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns.", - "type": "string" - }, - "customLabel3": { - "description": "Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns.", - "type": "string" - }, - "customLabel4": { - "description": "Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns.", - "type": "string" - }, - "featuredProduct": { - "description": "This identifies one or more products associated with the collection. Used as a lookup to the corresponding product ID in your product feeds. Provide a maximum of 100 featuredProduct (for collections). Provide up to 10 featuredProduct (for Shoppable Images only) with ID and X and Y coordinates. [featured_product attribute](https://support.google.com/merchants/answer/9703736)", - "items": { - "$ref": "CollectionFeaturedProduct" - }, - "type": "array" - }, - "headline": { - "description": "Your collection's name. [headline attribute](https://support.google.com/merchants/answer/9673580)", - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "Required. The REST ID of the collection. Content API methods that operate on collections take this as their collectionId parameter. The REST ID for a collection is of the form collectionId. [id attribute](https://support.google.com/merchants/answer/9649290)", - "type": "string" - }, - "imageLink": { - "description": "The URL of a collection’s image. [image_link attribute](https://support.google.com/merchants/answer/9703236)", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "description": "The language of a collection and the language of any featured products linked to the collection. [language attribute](https://support.google.com/merchants/answer/9673781)", - "type": "string" - }, - "link": { - "description": "A collection’s landing page. URL directly linking to your collection's page on your website. [link attribute](https://support.google.com/merchants/answer/9673983)", - "type": "string" - }, - "mobileLink": { - "description": "A collection’s mobile-optimized landing page when you have a different URL for mobile and desktop traffic. [mobile_link attribute](https://support.google.com/merchants/answer/9646123)", - "type": "string" - }, - "productCountry": { - "description": "[product_country attribute](https://support.google.com/merchants/answer/9674155)", - "type": "string" - } - }, - "type": "object" - }, - "CollectionFeaturedProduct": { - "description": "The message for FeaturedProduct. [FeaturedProduct](https://support.google.com/merchants/answer/9703736)", - "id": "CollectionFeaturedProduct", - "properties": { - "offerId": { - "description": "The unique identifier for the product item.", - "type": "string" - }, - "x": { - "description": "Required. X-coordinate of the product callout on the Shoppable Image.", - "format": "float", - "type": "number" - }, - "y": { - "description": "Required. Y-coordinate of the product callout on the Shoppable Image.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "CollectionStatus": { - "description": "The collectionstatus message.", - "id": "CollectionStatus", - "properties": { - "collectionLevelIssuses": { - "description": "A list of all issues associated with the collection.", - "items": { - "$ref": "CollectionStatusItemLevelIssue" - }, - "type": "array" - }, - "creationDate": { - "description": "Date on which the collection has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example \"2020-01-02T09:00:00+01:00\" or \"2020-01-02T09:00:00Z\"", - "type": "string" - }, - "destinationStatuses": { - "description": "The intended destinations for the collection.", - "items": { - "$ref": "CollectionStatusDestinationStatus" - }, - "type": "array" - }, - "id": { - "description": "Required. The ID of the collection for which status is reported.", - "type": "string" - }, - "lastUpdateDate": { - "description": "Date on which the collection has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example \"2020-01-02T09:00:00+01:00\" or \"2020-01-02T09:00:00Z\"", - "type": "string" - } - }, - "type": "object" - }, - "CollectionStatusDestinationStatus": { - "description": "Destination status message.", - "id": "CollectionStatusDestinationStatus", - "properties": { - "approvedCountries": { - "description": "Country codes (ISO 3166-1 alpha-2) where the collection is approved.", - "items": { - "type": "string" - }, - "type": "array" - }, - "destination": { - "description": "The name of the destination", - "type": "string" - }, - "disapprovedCountries": { - "description": "Country codes (ISO 3166-1 alpha-2) where the collection is disapproved.", - "items": { - "type": "string" - }, - "type": "array" - }, - "pendingCountries": { - "description": "Country codes (ISO 3166-1 alpha-2) where the collection is pending approval.", - "items": { - "type": "string" - }, - "type": "array" - }, - "status": { - "description": "The status for the specified destination in the collections target country.", - "type": "string" - } - }, - "type": "object" - }, - "CollectionStatusItemLevelIssue": { - "description": "Issue associated with the collection.", - "id": "CollectionStatusItemLevelIssue", - "properties": { - "applicableCountries": { - "description": "Country codes (ISO 3166-1 alpha-2) where issue applies to the offer.", - "items": { - "type": "string" - }, - "type": "array" - }, - "attributeName": { - "description": "The attribute's name, if the issue is caused by a single attribute.", - "type": "string" - }, - "code": { - "description": "The error code of the issue.", - "type": "string" - }, - "description": { - "description": "A short issue description in English.", - "type": "string" - }, - "destination": { - "description": "The destination the issue applies to.", - "type": "string" - }, - "detail": { - "description": "A detailed issue description in English.", - "type": "string" - }, - "documentation": { - "description": "The URL of a web page to help with resolving this issue.", - "type": "string" - }, - "resolution": { - "description": "Whether the issue can be resolved by the merchant.", - "type": "string" - }, - "servability": { - "description": "How this issue affects the serving of the collection.", - "type": "string" - } - }, - "type": "object" - }, - "CompetitiveVisibility": { - "description": "Fields related to [competitive visibility reports] (https://support.google.com/merchants/answer/11366442).", - "id": "CompetitiveVisibility", - "properties": { - "adsOrganicRatio": { - "description": "[Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cadsfree-ratio) shows how often a merchant receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause.", - "format": "double", - "type": "number" - }, - "categoryBenchmarkVisibilityTrend": { - "description": "Change in visibility based on impressions with respect to the start of the selected time range (or first day with non-zero impressions) for a combined set of merchants with highest visibility approximating the market. Available only in `CompetitiveVisibilityBenchmarkView`. Cannot be filtered on in the 'WHERE' clause.", - "format": "double", - "type": "number" - }, - "categoryId": { - "description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A `WHERE` condition on `competitive_visibility.category_id` is required in the query.", - "format": "int64", - "type": "string" - }, - "countryCode": { - "description": "The country where impression appeared. Required in the `SELECT` clause. A `WHERE` condition on `competitive_visibility.country_code` is required in the query.", - "type": "string" - }, - "date": { - "$ref": "Date", - "description": "Date of this row. Available only in `CompetitiveVisibilityBenchmarkView` and `CompetitiveVisibilityCompetitorView`. Required in the `SELECT` clause for `CompetitiveVisibilityMarketBenchmarkView`." - }, - "domain": { - "description": "Domain of your competitor or your domain, if 'is_your_domain' is true. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Required in the `SELECT` clause for `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause.", - "type": "string" - }, - "higherPositionRate": { - "description": "Higher position rate shows how often a competitor’s offer got placed in a higher position on the page than your offer. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause.", - "format": "double", - "type": "number" - }, - "isYourDomain": { - "description": "True if this row contains data for your domain. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause.", - "type": "boolean" - }, - "pageOverlapRate": { - "description": "Page overlap rate describes how frequently competing retailers’ offers are shown together with your offers on the same page. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause.", - "format": "double", - "type": "number" - }, - "rank": { - "description": "Position of the domain in the top merchants ranking for the selected keys (`date`, `category_id`, `country_code`, `listing_type`) based on impressions. 1 is the highest. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause.", - "format": "uint64", - "type": "string" - }, - "relativeVisibility": { - "description": "Relative visibility shows how often your competitors’ offers are shown compared to your offers. In other words, this is the number of displayed impressions of a competitor retailer divided by the number of your displayed impressions during a selected time range for a selected product category and country. Available only in `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause.", - "format": "double", - "type": "number" - }, - "trafficSource": { - "description": "Type of impression listing. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause.", - "enum": [ - "UNKNOWN", - "ORGANIC", - "ADS", - "ALL" - ], - "enumDescriptions": [ - "Traffic source is unknown.", - "Organic traffic.", - "Traffic from Ads.", - "Organic and Ads traffic." - ], - "type": "string" - }, - "yourDomainVisibilityTrend": { - "description": "Change in visibility based on impressions for your domain with respect to the start of the selected time range (or first day with non-zero impressions). Available only in `CompetitiveVisibilityBenchmarkView`. Cannot be filtered on in the 'WHERE' clause.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ConversionSource": { - "description": "Represents a conversion source owned by a Merchant account. A merchant account can have up to 200 conversion sources.", - "id": "ConversionSource", - "properties": { - "conversionSourceId": { - "description": "Output only. Generated by the Content API upon creation of a new `ConversionSource`. Format: [a-z]{4}:.+ The four characters before the colon represent the type of conversio source. Content after the colon represents the ID of the conversion source within that type. The ID of two different conversion sources might be the same across different types. The following type prefixes are supported: - galk: For GoogleAnalyticsLink sources. - mcdn: For MerchantCenterDestination sources.", - "readOnly": true, - "type": "string" - }, - "expireTime": { - "description": "Output only. The time when an archived conversion source becomes permanently deleted and is no longer available to undelete.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "googleAnalyticsLink": { - "$ref": "GoogleAnalyticsLink", - "description": "Immutable. Conversion Source of type \"Link to Google Analytics Property\"." - }, - "merchantCenterDestination": { - "$ref": "MerchantCenterDestination", - "description": "Conversion Source of type \"Merchant Center Tag Destination\"." - }, - "state": { - "description": "Output only. Current state of this conversion source. Can't be edited through the API.", - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "ARCHIVED", - "PENDING" - ], - "enumDescriptions": [ - "", - "Conversion source is fully functional.", - "Conversion source has been archived in the last 30 days and not currently functional. Can be restored using the undelete method.", - "Conversion source creation has started but not fully finished yet." - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "Css": { - "description": "Information about CSS domain.", - "id": "Css", - "properties": { - "cssDomainId": { - "description": "Output only. Immutable. The CSS domain ID.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "cssGroupId": { - "description": "Output only. Immutable. The ID of the CSS group this CSS domain is affiliated with. Only populated for CSS group users.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Output only. Immutable. The CSS domain's display name, used when space is constrained.", - "readOnly": true, - "type": "string" - }, - "fullName": { - "description": "Output only. Immutable. The CSS domain's full name.", - "readOnly": true, - "type": "string" - }, - "homepageUri": { - "description": "Output only. Immutable. The CSS domain's homepage.", - "readOnly": true, - "type": "string" - }, - "labelIds": { - "description": "A list of label IDs that are assigned to this CSS domain by its CSS group. Only populated for CSS group users.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CustomAttribute": { - "description": "A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per merchant, with total size of 102.4kB.", - "id": "CustomAttribute", - "properties": { - "groupValues": { - "description": "Subattributes within this attribute group. Exactly one of value or groupValues must be provided.", - "items": { - "$ref": "CustomAttribute" - }, - "type": "array" - }, - "name": { - "description": "The name of the attribute. Underscores will be replaced by spaces upon insertion.", - "type": "string" - }, - "value": { - "description": "The value of the attribute.", - "type": "string" - } - }, - "type": "object" - }, - "CutoffTime": { - "id": "CutoffTime", - "properties": { - "hour": { - "description": "Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.", - "format": "uint32", - "type": "integer" - }, - "minute": { - "description": "Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.", - "format": "uint32", - "type": "integer" - }, - "timezone": { - "description": "Timezone identifier for the cutoff time (for example, \"Europe/Zurich\"). List of identifiers. Required.", - "type": "string" - } - }, - "type": "object" - }, - "Datafeed": { - "description": "Datafeed configuration data.", - "id": "Datafeed", - "properties": { - "attributeLanguage": { - "description": "The two-letter ISO 639-1 language in which the attributes are defined in the data feed.", - "type": "string" - }, - "contentType": { - "description": "Required. The type of data feed. For product inventory feeds, only feeds for local stores, not online stores, are supported. Acceptable values are: - \"`local products`\" - \"`product inventory`\" - \"`products`\" ", - "type": "string" - }, - "fetchSchedule": { - "$ref": "DatafeedFetchSchedule", - "description": "Fetch schedule for the feed file." - }, - "fileName": { - "description": "Required. The filename of the feed. All feeds must have a unique file name.", - "type": "string" - }, - "format": { - "$ref": "DatafeedFormat", - "description": "Format of the feed file." - }, - "id": { - "description": "Required for update. The ID of the data feed.", - "format": "int64", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeed`\"", - "type": "string" - }, - "name": { - "description": "Required for insert. A descriptive name of the data feed.", - "type": "string" - }, - "targets": { - "description": "The targets this feed should apply to (country, language, destinations).", - "items": { - "$ref": "DatafeedTarget" - }, - "type": "array" - } - }, - "type": "object" - }, - "DatafeedFetchSchedule": { - "description": "The required fields vary based on the frequency of fetching. For a monthly fetch schedule, day_of_month and hour are required. For a weekly fetch schedule, weekday and hour are required. For a daily fetch schedule, only hour is required.", - "id": "DatafeedFetchSchedule", - "properties": { - "dayOfMonth": { - "description": "The day of the month the feed file should be fetched (1-31).", - "format": "uint32", - "type": "integer" - }, - "fetchUrl": { - "description": "The URL where the feed file can be fetched. Google Merchant Center will support automatic scheduled uploads using the HTTP, HTTPS, FTP, or SFTP protocols, so the value will need to be a valid link using one of those four protocols.", - "type": "string" - }, - "hour": { - "description": "The hour of the day the feed file should be fetched (0-23).", - "format": "uint32", - "type": "integer" - }, - "minuteOfHour": { - "description": "The minute of the hour the feed file should be fetched (0-59). Read-only.", - "format": "uint32", - "type": "integer" - }, - "password": { - "description": "An optional password for fetch_url.", - "type": "string" - }, - "paused": { - "description": "Whether the scheduled fetch is paused or not.", - "type": "boolean" - }, - "timeZone": { - "description": "Time zone used for schedule. UTC by default. For example, \"America/Los_Angeles\".", - "type": "string" - }, - "username": { - "description": "An optional user name for fetch_url.", - "type": "string" - }, - "weekday": { - "description": "The day of the week the feed file should be fetched. Acceptable values are: - \"`monday`\" - \"`tuesday`\" - \"`wednesday`\" - \"`thursday`\" - \"`friday`\" - \"`saturday`\" - \"`sunday`\" ", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedFormat": { - "id": "DatafeedFormat", - "properties": { - "columnDelimiter": { - "description": "Delimiter for the separation of values in a delimiter-separated values feed. If not specified, the delimiter will be auto-detected. Ignored for non-DSV data feeds. Acceptable values are: - \"`pipe`\" - \"`tab`\" - \"`tilde`\" ", - "type": "string" - }, - "fileEncoding": { - "description": "Character encoding scheme of the data feed. If not specified, the encoding will be auto-detected. Acceptable values are: - \"`latin-1`\" - \"`utf-16be`\" - \"`utf-16le`\" - \"`utf-8`\" - \"`windows-1252`\" ", - "type": "string" - }, - "quotingMode": { - "description": "Specifies how double quotes are interpreted. If not specified, the mode will be auto-detected. Ignored for non-DSV data feeds. Acceptable values are: - \"`normal character`\" - \"`value quoting`\" ", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedStatus": { - "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": { - "description": "The country for which the status is reported, represented as a CLDR territory code.", - "type": "string" - }, - "datafeedId": { - "description": "The ID of the feed for which the status is reported.", - "format": "uint64", - "type": "string" - }, - "errors": { - "description": "The list of errors occurring in the feed.", - "items": { - "$ref": "DatafeedStatusError" - }, - "type": "array" - }, - "feedLabel": { - "description": "The feed label status is reported for.", - "type": "string" - }, - "itemsTotal": { - "description": "The number of items in the feed that were processed.", - "format": "uint64", - "type": "string" - }, - "itemsValid": { - "description": "The number of items in the feed that were valid.", - "format": "uint64", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedStatus`\"", - "type": "string" - }, - "language": { - "description": "The two-letter ISO 639-1 language for which the status is reported.", - "type": "string" - }, - "lastUploadDate": { - "description": "The last date at which the feed was uploaded.", - "type": "string" - }, - "processingStatus": { - "description": "The processing status of the feed. Acceptable values are: - \"`\"`failure`\": The feed could not be processed or all items had errors.`\" - \"`in progress`\": The feed is being processed. - \"`none`\": The feed has not yet been processed. For example, a feed that has never been uploaded will have this processing status. - \"`success`\": The feed was processed successfully, though some items might have had errors. ", - "type": "string" - }, - "warnings": { - "description": "The list of errors occurring in the feed.", - "items": { - "$ref": "DatafeedStatusError" - }, - "type": "array" - } - }, - "type": "object" - }, - "DatafeedStatusError": { - "description": "An error occurring in the feed, like \"invalid price\".", - "id": "DatafeedStatusError", - "properties": { - "code": { - "description": "The code of the error, for example, \"validation/invalid_value\".", - "type": "string" - }, - "count": { - "description": "The number of occurrences of the error in the feed.", - "format": "uint64", - "type": "string" - }, - "examples": { - "description": "A list of example occurrences of the error, grouped by product.", - "items": { - "$ref": "DatafeedStatusExample" - }, - "type": "array" - }, - "message": { - "description": "The error message, for example, \"Invalid price\".", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedStatusExample": { - "description": "An example occurrence for a particular error.", - "id": "DatafeedStatusExample", - "properties": { - "itemId": { - "description": "The ID of the example item.", - "type": "string" - }, - "lineNumber": { - "description": "Line number in the data feed where the example is found.", - "format": "uint64", - "type": "string" - }, - "value": { - "description": "The problematic value.", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedTarget": { - "id": "DatafeedTarget", - "properties": { - "country": { - "description": "Deprecated. Use `feedLabel` instead. The country where the items in the feed will be included in the search index, represented as a CLDR territory code.", - "type": "string" - }, - "excludedDestinations": { - "description": "The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.", - "items": { - "type": "string" - }, - "type": "array" - }, - "feedLabel": { - "description": "Feed label for the DatafeedTarget. Either `country` or `feedLabel` is required. If both `feedLabel` and `country` is specified, the values must match. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).", - "type": "string" - }, - "includedDestinations": { - "description": "The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "language": { - "description": "The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for `targets[].country`.", - "type": "string" - }, - "targetCountries": { - "description": "The countries where the items may be displayed. Represented as a CLDR territory code. Will be ignored for \"product inventory\" feeds.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "DatafeedsCustomBatchRequest": { - "id": "DatafeedsCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "DatafeedsCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "DatafeedsCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch datafeeds request.", - "id": "DatafeedsCustomBatchRequestEntry", - "properties": { - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "datafeed": { - "$ref": "Datafeed", - "description": "The data feed to insert." - }, - "datafeedId": { - "description": "The ID of the data feed to get, delete or fetch.", - "format": "uint64", - "type": "string" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`delete`\" - \"`fetchNow`\" - \"`get`\" - \"`insert`\" - \"`update`\" ", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedsCustomBatchResponse": { - "id": "DatafeedsCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "DatafeedsCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedsCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedsCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch datafeeds response.", - "id": "DatafeedsCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "datafeed": { - "$ref": "Datafeed", - "description": "The requested data feed. Defined if and only if the request was successful." - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - } - }, - "type": "object" - }, - "DatafeedsFetchNowResponse": { - "id": "DatafeedsFetchNowResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedsFetchNowResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedsListResponse": { - "id": "DatafeedsListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedsListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of datafeeds.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "Datafeed" - }, - "type": "array" - } - }, - "type": "object" - }, - "DatafeedstatusesCustomBatchRequest": { - "id": "DatafeedstatusesCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "DatafeedstatusesCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "DatafeedstatusesCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch datafeedstatuses request.", - "id": "DatafeedstatusesCustomBatchRequestEntry", - "properties": { - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "country": { - "description": "Deprecated. Use `feedLabel` instead. The country to get the datafeed status for. If this parameter is provided, then `language` must also be provided. Note that for multi-target datafeeds this parameter is required.", - "type": "string" - }, - "datafeedId": { - "description": "The ID of the data feed to get.", - "format": "uint64", - "type": "string" - }, - "feedLabel": { - "description": "The feed label to get the datafeed status for. If this parameter is provided, then `language` must also be provided. Note that for multi-target datafeeds this parameter is required.", - "type": "string" - }, - "language": { - "description": "The language to get the datafeed status for. If this parameter is provided then `country` must also be provided. Note that for multi-target datafeeds this parameter is required.", - "type": "string" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`get`\" ", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedstatusesCustomBatchResponse": { - "id": "DatafeedstatusesCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "DatafeedstatusesCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedstatusesCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "DatafeedstatusesCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch datafeedstatuses response.", - "id": "DatafeedstatusesCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "datafeedStatus": { - "$ref": "DatafeedStatus", - "description": "The requested data feed status. Defined if and only if the request was successful." - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - } - }, - "type": "object" - }, - "DatafeedstatusesListResponse": { - "id": "DatafeedstatusesListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedstatusesListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of datafeed statuses.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "DatafeedStatus" - }, - "type": "array" - } - }, - "type": "object" - }, - "Date": { - "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", - "id": "Date", - "properties": { - "day": { - "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", - "format": "int32", - "type": "integer" - }, - "month": { - "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", - "format": "int32", - "type": "integer" - }, - "year": { - "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "DateTime": { - "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", - "id": "DateTime", - "properties": { - "day": { - "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", - "format": "int32", - "type": "integer" - }, - "hours": { - "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", - "format": "int32", - "type": "integer" - }, - "minutes": { - "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", - "format": "int32", - "type": "integer" - }, - "month": { - "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", - "format": "int32", - "type": "integer" - }, - "nanos": { - "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", - "format": "int32", - "type": "integer" - }, - "seconds": { - "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", - "format": "int32", - "type": "integer" - }, - "timeZone": { - "$ref": "TimeZone", - "description": "Time zone." - }, - "utcOffset": { - "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", - "format": "google-duration", - "type": "string" - }, - "year": { - "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "DeliveryArea": { - "description": "A delivery area for the product. Only one of `countryCode` or `postalCodeRange` must be set.", - "id": "DeliveryArea", - "properties": { - "countryCode": { - "description": "Required. The country that the product can be delivered to. Submit a [unicode CLDR region](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) such as `US` or `CH`.", - "type": "string" - }, - "postalCodeRange": { - "$ref": "DeliveryAreaPostalCodeRange", - "description": "A postal code, postal code range or postal code prefix that defines this area. Limited to US and AUS." - }, - "regionCode": { - "description": "A state, territory, or prefecture. This is supported for the United States, Australia, and Japan. Provide a subdivision code from the ISO 3166-2 code tables ([US](https://en.wikipedia.org/wiki/ISO_3166-2:US), [AU](https://en.wikipedia.org/wiki/ISO_3166-2:AU), or [JP](https://en.wikipedia.org/wiki/ISO_3166-2:JP)) without country prefix (for example, `\"NY\"`, `\"NSW\"`, `\"03\"`).", - "type": "string" - } - }, - "type": "object" - }, - "DeliveryAreaPostalCodeRange": { - "description": "A range of postal codes that defines the delivery area. Only set `firstPostalCode` when specifying a single postal code.", - "id": "DeliveryAreaPostalCodeRange", - "properties": { - "firstPostalCode": { - "description": "Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: `\"94108\"`, `\"9410*\"`, `\"9*\"`.", - "type": "string" - }, - "lastPostalCode": { - "description": "A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area (for example [070* - 078*] results in the range [07000 - 07899]). It must have the same length as `firstPostalCode`: if `firstPostalCode` is a postal code then `lastPostalCode` must be a postal code too; if firstPostalCode is a pattern then `lastPostalCode` must be a pattern with the same prefix length. Ignored if not set, then the area is defined as being all the postal codes matching `firstPostalCode`.", - "type": "string" - } - }, - "type": "object" - }, - "DeliveryTime": { - "id": "DeliveryTime", - "properties": { - "cutoffTime": { - "$ref": "CutoffTime", - "description": "Business days cutoff time definition. If not configured, the cutoff time will be defaulted to 8AM PST. If local delivery, use Service.StoreConfig.CutoffConfig." - }, - "handlingBusinessDayConfig": { - "$ref": "BusinessDayConfig", - "description": "The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed." - }, - "holidayCutoffs": { - "description": "Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.", - "items": { - "$ref": "HolidayCutoff" - }, - "type": "array" - }, - "maxHandlingTimeInDays": { - "description": "Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to `minHandlingTimeInDays`.", - "format": "uint32", - "type": "integer" - }, - "maxTransitTimeInDays": { - "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" - }, - "minHandlingTimeInDays": { - "description": "Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.", - "format": "uint32", - "type": "integer" - }, - "minTransitTimeInDays": { - "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" - }, - "transitBusinessDayConfig": { - "$ref": "BusinessDayConfig", - "description": "The business days during which orders can be in-transit. If not provided, Monday to Friday business days will be assumed." - }, - "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" - }, - "Distance": { - "description": "Distance represented by an integer and unit.", - "id": "Distance", - "properties": { - "unit": { - "description": "The distance unit. Acceptable values are `None`, `Miles`, and `Kilometers`.", - "type": "string" - }, - "value": { - "description": "The distance represented as a number.", - "format": "int64", - "type": "string" - } - }, - "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" - }, - "Error": { - "description": "An error returned by the API.", - "id": "Error", - "properties": { - "domain": { - "description": "The domain of the error.", - "type": "string" - }, - "message": { - "description": "A description of the error.", - "type": "string" - }, - "reason": { - "description": "The error code.", - "type": "string" - } - }, - "type": "object" - }, - "Errors": { - "description": "A list of errors returned by a failed batch entry.", - "id": "Errors", - "properties": { - "code": { - "description": "The HTTP status of the first error in `errors`.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "description": "A list of errors.", - "items": { - "$ref": "Error" - }, - "type": "array" - }, - "message": { - "description": "The message of the first error in `errors`.", - "type": "string" - } - }, - "type": "object" - }, - "ExternalAction": { - "description": "Action that is implemented and performed outside of the third-party application. It should redirect the merchant to the provided URL of an external system where they can perform the action. For example to request a review in the Merchant Center.", - "id": "ExternalAction", - "properties": { - "type": { - "description": "The type of external action.", - "enum": [ - "EXTERNAL_ACTION_TYPE_UNSPECIFIED", - "REVIEW_PRODUCT_ISSUE_IN_MERCHANT_CENTER", - "REVIEW_ACCOUNT_ISSUE_IN_MERCHANT_CENTER", - "LEGAL_APPEAL_IN_HELP_CENTER", - "VERIFY_IDENTITY_IN_MERCHANT_CENTER" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Redirect to Merchant Center where the merchant can request a review for issue related to their product.", - "Redirect to Merchant Center where the merchant can request a review for issue related to their account.", - "Redirect to the form in Help Center where the merchant can request a legal appeal for the issue.", - "Redirect to Merchant Center where the merchant can perform identity verification." - ], - "type": "string" - }, - "uri": { - "description": "URL to external system, for example Merchant Center, where the merchant can perform the action.", - "type": "string" - } - }, - "type": "object" - }, - "FreeListingsProgramStatus": { - "description": "Response message for GetFreeListingsProgramStatus.", - "id": "FreeListingsProgramStatus", - "properties": { - "globalState": { - "description": "State of the program. `ENABLED` if there are offers for at least one region.", - "enum": [ - "PROGRAM_STATE_UNSPECIFIED", - "NOT_ENABLED", - "NO_OFFERS_UPLOADED", - "ENABLED" - ], - "enumDescriptions": [ - "State is unknown.", - "Program is not enabled for any country.", - "No products have been uploaded for any region. Upload products to Merchant Center.", - "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 eligibilityStatus will go from `WARNING` to `DISAPPROVED`. Only visible when your eligibilityStatus is WARNING. In [ISO 8601](https://en.wikipedia.org/wiki/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.", - "Account is waiting for review to start.", - "Program is currently onboarding. Upload valid offers to complete onboarding." - ], - "type": "string" - }, - "onboardingIssues": { - "description": "Issues that must be fixed to be eligible for 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 is eligible for review in a specific region. Only visible if `eligibilityStatus` is `DISAPPROVED`.", - "enum": [ - "REVIEW_ELIGIBILITY_UNSPECIFIED", - "ELIGIBLE", - "INELIGIBLE" - ], - "enumDescriptions": [ - "Review eligibility 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", - "WILL_BE_REVIEWED_AUTOMATICALLY", - "IS_RETIRED", - "ALREADY_REVIEWED" - ], - "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.", - "Account will be automatically reviewed at the end of the grace period.", - "Account is retired. Should not appear in MC.", - "Account has already been reviewed. You can't request further reviews." - ], - "type": "string" - }, - "reviewIneligibilityReasonDescription": { - "description": "Reason a program in a specific region isn’t eligible for review. Only visible if `reviewEligibilityStatus` is `INELIGIBLE`.", - "type": "string" - }, - "reviewIneligibilityReasonDetails": { - "$ref": "FreeListingsProgramStatusReviewIneligibilityReasonDetails", - "description": "Additional information for ineligibility. If `reviewIneligibilityReason` is `IN_COOLDOWN_PERIOD`, a timestamp for the end of the cooldown period is provided." - }, - "reviewIssues": { - "description": "Issues evaluated in the review process. Fix all issues before requesting a 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" - }, - "FreeShippingThreshold": { - "description": "Conditions to be met for a product to have free shipping.", - "id": "FreeShippingThreshold", - "properties": { - "country": { - "description": "Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.", - "type": "string" - }, - "priceThreshold": { - "$ref": "Price", - "description": "Required. The minimum product price for the shipping cost to become free. Represented as a number." - } - }, - "type": "object" - }, - "GenerateRecommendationsResponse": { - "description": "Response containing generated recommendations.", - "id": "GenerateRecommendationsResponse", - "properties": { - "recommendations": { - "description": "Recommendations generated for a request.", - "items": { - "$ref": "Recommendation" - }, - "type": "array" - }, - "responseToken": { - "description": "Output only. Response token is a string created for each `GenerateRecommendationsResponse`. This token doesn't expire, and is globally unique. This token must be used when reporting interactions for recommendations.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GmbAccounts": { - "id": "GmbAccounts", - "properties": { - "accountId": { - "description": "The ID of the Merchant Center account.", - "format": "uint64", - "type": "string" - }, - "gmbAccounts": { - "description": "A list of Business Profiles which are available to the merchant.", - "items": { - "$ref": "GmbAccountsGmbAccount" - }, - "type": "array" - } - }, - "type": "object" - }, - "GmbAccountsGmbAccount": { - "id": "GmbAccountsGmbAccount", - "properties": { - "email": { - "description": "The email which identifies the Business Profile.", - "type": "string" - }, - "listingCount": { - "description": "Number of listings under this account.", - "format": "uint64", - "type": "string" - }, - "name": { - "description": "The name of the Business Profile.", - "type": "string" - }, - "type": { - "description": "The type of the Business Profile (User or Business).", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAnalyticsLink": { - "description": "\"Google Analytics Link\" sources can be used to get conversion data from an existing Google Analytics property into the linked Merchant Center account.", - "id": "GoogleAnalyticsLink", - "properties": { - "attributionSettings": { - "$ref": "AttributionSettings", - "description": "Output only. Attribution settings for the linked Google Analytics property.", - "readOnly": true - }, - "propertyId": { - "description": "Required. Immutable. ID of the Google Analytics property the merchant is linked to.", - "format": "int64", - "type": "string" - }, - "propertyName": { - "description": "Output only. Name of the Google Analytics property the merchant is linked to.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "Headers": { - "description": "A non-empty list of row or column headers for a table. Exactly one of `prices`, `weights`, `numItems`, `postalCodeGroupNames`, or `location` must be set.", - "id": "Headers", - "properties": { - "locations": { - "description": "A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.", - "items": { - "$ref": "LocationIdSet" - }, - "type": "array" - }, - "numberOfItems": { - "description": "A list of inclusive number of items upper bounds. The last value can be `\"infinity\"`. For example `[\"10\", \"50\", \"infinity\"]` represents the headers \"<= 10 items\", \"<= 50 items\", and \"> 50 items\". Must be non-empty. Can only be set if all other fields are not set.", - "items": { - "type": "string" - }, - "type": "array" - }, - "postalCodeGroupNames": { - "description": "A list of postal group names. The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.", - "items": { - "type": "string" - }, - "type": "array" - }, - "prices": { - "description": "A list of inclusive order price upper bounds. The last price's value can be `\"infinity\"`. For example `[{\"value\": \"10\", \"currency\": \"USD\"}, {\"value\": \"500\", \"currency\": \"USD\"}, {\"value\": \"infinity\", \"currency\": \"USD\"}]` represents the headers \"<= $10\", \"<= $500\", and \"> $500\". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.", - "items": { - "$ref": "Price" - }, - "type": "array" - }, - "weights": { - "description": "A list of inclusive order weight upper bounds. The last weight's value can be `\"infinity\"`. For example `[{\"value\": \"10\", \"unit\": \"kg\"}, {\"value\": \"50\", \"unit\": \"kg\"}, {\"value\": \"infinity\", \"unit\": \"kg\"}]` represents the headers \"<= 10kg\", \"<= 50kg\", and \"> 50kg\". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.", - "items": { - "$ref": "Weight" - }, - "type": "array" - } - }, - "type": "object" - }, - "HolidayCutoff": { - "id": "HolidayCutoff", - "properties": { - "deadlineDate": { - "description": "Date of the order deadline, in ISO 8601 format. For example, \"2016-11-29\" for 29th November 2016. Required.", - "type": "string" - }, - "deadlineHour": { - "description": "Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.", - "format": "uint32", - "type": "integer" - }, - "deadlineTimezone": { - "description": "Timezone identifier for the deadline hour (for example, \"Europe/Zurich\"). List of identifiers. Required.", - "type": "string" - }, - "holidayId": { - "description": "Unique identifier for the holiday. Required.", - "type": "string" - }, - "visibleFromDate": { - "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" - } - }, - "type": "object" - }, - "HolidaysHoliday": { - "id": "HolidaysHoliday", - "properties": { - "countryCode": { - "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. 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. For example, \"2016-12-24\" for 24th December 2016. Always present.", - "type": "string" - }, - "deliveryGuaranteeHour": { - "description": "Hour of the day in the delivery location's timezone on the guaranteed delivery date by which the order has to arrive at the customer's. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Always present.", - "format": "uint64", - "type": "string" - }, - "id": { - "description": "Unique identifier for the holiday to be used when configuring holiday cutoffs. Always present.", - "type": "string" - }, - "type": { - "description": "The holiday type. Always present. Acceptable values are: - \"`Christmas`\" - \"`Easter`\" - \"`Father's Day`\" - \"`Halloween`\" - \"`Independence Day (USA)`\" - \"`Mother's Day`\" - \"`Thanksgiving`\" - \"`Valentine's Day`\" ", - "type": "string" - } - }, - "type": "object" - }, - "InputField": { - "description": "Input field that needs to be available to the merchant. If the field is marked as required, then a value needs to be provided for a successful processing of the request.", - "id": "InputField", - "properties": { - "checkboxInput": { - "$ref": "InputFieldCheckboxInput", - "description": "Input field to provide a boolean value. Corresponds to the [html input type=checkbox](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.checkbox.html#input.checkbox)." - }, - "choiceInput": { - "$ref": "InputFieldChoiceInput", - "description": "Input field to select one of the offered choices. Corresponds to the [html input type=radio](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.radio.html#input.radio)." - }, - "id": { - "description": "Not for display but need to be sent back for the given input field.", - "type": "string" - }, - "label": { - "$ref": "TextWithTooltip", - "description": "Input field label. There may be more information to be shown in a tooltip." - }, - "required": { - "description": "Whether the field is required. The action button needs to stay disabled till values for all required fields are provided.", - "type": "boolean" - }, - "textInput": { - "$ref": "InputFieldTextInput", - "description": "Input field to provide text information. Corresponds to the [html input type=text](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.text.html#input.text) or [html textarea](https://www.w3.org/TR/2012/WD-html-markup-20121025/textarea.html#textarea)." - } - }, - "type": "object" - }, - "InputFieldCheckboxInput": { - "description": "Checkbox input allows merchants to provide a boolean value. Corresponds to the [html input type=checkbox](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.checkbox.html#input.checkbox). If merchant checks the box, the input value for the field is `true`, otherwise it is `false`. This type of input is often used as a confirmation that the merchant completed required steps before they are allowed to start the action. In such a case, the input field is marked as required and the button to trigger the action should stay disabled until the merchant checks the box.", - "id": "InputFieldCheckboxInput", - "properties": {}, - "type": "object" - }, - "InputFieldChoiceInput": { - "description": "Choice input allows merchants to select one of the offered choices. Some choices may be linked to additional input fields that should be displayed under or next to the choice option. The value for the additional input field needs to be provided only when the specific choice is selected by the merchant. For example, additional input field can be hidden or disabled until the merchant selects the specific choice.", - "id": "InputFieldChoiceInput", - "properties": { - "options": { - "description": "A list of choices. Only one option can be selected.", - "items": { - "$ref": "InputFieldChoiceInputChoiceInputOption" - }, - "type": "array" - } - }, - "type": "object" - }, - "InputFieldChoiceInputChoiceInputOption": { - "description": "A choice that merchant can select.", - "id": "InputFieldChoiceInputChoiceInputOption", - "properties": { - "additionalInput": { - "$ref": "InputField", - "description": "Input that should be displayed when this option is selected. The additional input will not contain a `ChoiceInput`." - }, - "id": { - "description": "Not for display but need to be sent back for the selected choice option.", - "type": "string" - }, - "label": { - "$ref": "TextWithTooltip", - "description": "Short description of the choice option. There may be more information to be shown as a tooltip." - } - }, - "type": "object" - }, - "InputFieldTextInput": { - "description": "Text input allows merchants to provide a text value.", - "id": "InputFieldTextInput", - "properties": { - "additionalInfo": { - "$ref": "TextWithTooltip", - "description": "Additional info regarding the field to be displayed to merchant. For example, warning to not include personal identifiable information. There may be more information to be shown in a tooltip." - }, - "ariaLabel": { - "description": "Text to be used as the [aria-label](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html) for the input.", - "type": "string" - }, - "formatInfo": { - "description": "Information about the required format. If present, it should be shown close to the input field to help merchants to provide a correct value. For example: \"VAT numbers should be in a format similar to SK9999999999\"", - "type": "string" - }, - "type": { - "description": "Type of the text input", - "enum": [ - "TEXT_INPUT_TYPE_UNSPECIFIED", - "GENERIC_SHORT_TEXT", - "GENERIC_LONG_TEXT" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Used when a short text is expected. The field can be rendered as a [text field](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.text.html#input.text).", - "Used when a longer text is expected. The field should be rendered as a [textarea](https://www.w3.org/TR/2012/WD-html-markup-20121025/textarea.html#textarea)." - ], - "type": "string" - } - }, - "type": "object" - }, - "InputValue": { - "description": "Input provided by the merchant for input field.", - "id": "InputValue", - "properties": { - "checkboxInputValue": { - "$ref": "InputValueCheckboxInputValue", - "description": "Value for checkbox input field." - }, - "choiceInputValue": { - "$ref": "InputValueChoiceInputValue", - "description": "Value for choice input field." - }, - "inputFieldId": { - "description": "Required. Id of the corresponding input field.", - "type": "string" - }, - "textInputValue": { - "$ref": "InputValueTextInputValue", - "description": "Value for text input field." - } - }, - "type": "object" - }, - "InputValueCheckboxInputValue": { - "description": "Value for checkbox input field.", - "id": "InputValueCheckboxInputValue", - "properties": { - "value": { - "description": "Required. True if the merchant checked the box field. False otherwise.", - "type": "boolean" - } - }, - "type": "object" - }, - "InputValueChoiceInputValue": { - "description": "Value for choice input field.", - "id": "InputValueChoiceInputValue", - "properties": { - "choiceInputOptionId": { - "description": "Required. Id of the option that was selected by the merchant.", - "type": "string" - } - }, - "type": "object" - }, - "InputValueTextInputValue": { - "description": "Value for text input field.", - "id": "InputValueTextInputValue", - "properties": { - "value": { - "description": "Required. Text provided by the merchant.", - "type": "string" - } - }, - "type": "object" - }, - "InsertCheckoutSettingsRequest": { - "description": "Request message for the `InsertCheckoutSettings` method.", - "id": "InsertCheckoutSettingsRequest", - "properties": { - "uriSettings": { - "$ref": "UrlSettings", - "description": "Required. The `UrlSettings` for the request. The presence of URL settings indicates `Checkout` enrollment." - } - }, - "type": "object" - }, - "Installment": { - "description": "Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments.", - "id": "Installment", - "properties": { - "amount": { - "$ref": "Price", - "description": "The amount the buyer has to pay per month." - }, - "creditType": { - "description": "Optional. Type of installment payments. Supported values are: - \"`finance`\" - \"`lease`\" ", - "type": "string" - }, - "downpayment": { - "$ref": "Price", - "description": "Optional. The initial down payment amount the buyer has to pay." - }, - "months": { - "description": "The number of installments the buyer has to pay.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "LabelIds": { - "description": "The IDs of labels that should be assigned to the CSS domain.", - "id": "LabelIds", - "properties": { - "labelIds": { - "description": "The list of label IDs.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "LiaAboutPageSettings": { - "id": "LiaAboutPageSettings", - "properties": { - "status": { - "description": "The status of the verification process for the About page. Supported values are: - \"`active`\" - \"`inactive`\" - \"`pending`\" ", - "type": "string" - }, - "url": { - "description": "The URL for the About page.", - "type": "string" - } - }, - "type": "object" - }, - "LiaCountrySettings": { - "id": "LiaCountrySettings", - "properties": { - "about": { - "$ref": "LiaAboutPageSettings", - "description": "The settings for the About page." - }, - "country": { - "description": "Required. CLDR country code (for example, \"US\").", - "type": "string" - }, - "hostedLocalStorefrontActive": { - "description": "The status of the \"Merchant hosted local storefront\" feature.", - "type": "boolean" - }, - "inventory": { - "$ref": "LiaInventorySettings", - "description": "LIA inventory verification settings." - }, - "omnichannelExperience": { - "$ref": "LiaOmnichannelExperience", - "description": "The omnichannel experience configured for this country." - }, - "onDisplayToOrder": { - "$ref": "LiaOnDisplayToOrderSettings", - "description": "LIA \"On Display To Order\" settings." - }, - "posDataProvider": { - "$ref": "LiaPosDataProvider", - "description": "The POS data provider linked with this country." - }, - "storePickupActive": { - "description": "The status of the \"Store pickup\" feature.", - "type": "boolean" - } - }, - "type": "object" - }, - "LiaInventorySettings": { - "id": "LiaInventorySettings", - "properties": { - "inventoryVerificationContactEmail": { - "description": "The email of the contact for the inventory verification process.", - "type": "string" - }, - "inventoryVerificationContactName": { - "description": "The name of the contact for the inventory verification process.", - "type": "string" - }, - "inventoryVerificationContactStatus": { - "description": "The status of the verification contact. Acceptable values are: - \"`active`\" - \"`inactive`\" - \"`pending`\" ", - "type": "string" - }, - "status": { - "description": "The status of the inventory verification process. Acceptable values are: - \"`active`\" - \"`inactive`\" - \"`pending`\" ", - "type": "string" - } - }, - "type": "object" - }, - "LiaOmnichannelExperience": { - "description": "Omnichannel experience details.", - "id": "LiaOmnichannelExperience", - "properties": { - "country": { - "description": "The CLDR country code (for example, \"US\").", - "type": "string" - }, - "lsfType": { - "description": "The Local Store Front (LSF) type for this country. Acceptable values are: - \"`ghlsf`\" (Google-Hosted Local Store Front) - \"`mhlsfBasic`\" (Merchant-Hosted Local Store Front Basic) - \"`mhlsfFull`\" (Merchant-Hosted Local Store Front Full) More details about these types can be found here.", - "type": "string" - }, - "pickupTypes": { - "description": "The Pickup types for this country. Acceptable values are: - \"`pickupToday`\" - \"`pickupLater`\" ", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "LiaOnDisplayToOrderSettings": { - "id": "LiaOnDisplayToOrderSettings", - "properties": { - "shippingCostPolicyUrl": { - "description": "Shipping cost and policy URL.", - "type": "string" - }, - "status": { - "description": "The status of the ?On display to order? feature. Acceptable values are: - \"`active`\" - \"`inactive`\" - \"`pending`\" ", - "type": "string" - } - }, - "type": "object" - }, - "LiaPosDataProvider": { - "id": "LiaPosDataProvider", - "properties": { - "posDataProviderId": { - "description": "The ID of the POS data provider.", - "format": "uint64", - "type": "string" - }, - "posExternalAccountId": { - "description": "The account ID by which this merchant is known to the POS data provider.", - "type": "string" - } - }, - "type": "object" - }, - "LiaSettings": { - "description": "Local Inventory ads (LIA) settings. All methods except listposdataproviders require the admin role.", - "id": "LiaSettings", - "properties": { - "accountId": { - "description": "The ID of the account to which these LIA settings belong. Ignored upon update, always present in get request responses.", - "format": "uint64", - "type": "string" - }, - "countrySettings": { - "description": "The LIA settings for each country.", - "items": { - "$ref": "LiaCountrySettings" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liaSettings`\"", - "type": "string" - } - }, - "type": "object" - }, - "LiasettingsCustomBatchRequest": { - "id": "LiasettingsCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "LiasettingsCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "LiasettingsCustomBatchRequestEntry": { - "id": "LiasettingsCustomBatchRequestEntry", - "properties": { - "accountId": { - "description": "The ID of the account for which to get/update account LIA settings.", - "format": "uint64", - "type": "string" - }, - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "contactEmail": { - "description": "Inventory validation contact email. Required only for SetInventoryValidationContact.", - "type": "string" - }, - "contactName": { - "description": "Inventory validation contact name. Required only for SetInventoryValidationContact.", - "type": "string" - }, - "country": { - "description": "The country code. Required only for RequestInventoryVerification.", - "type": "string" - }, - "gmbEmail": { - "description": "The Business Profile. Required only for RequestGmbAccess.", - "type": "string" - }, - "liaSettings": { - "$ref": "LiaSettings", - "description": "The account Lia settings to update. Only defined if the method is `update`." - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`get`\" - \"`getAccessibleGmbAccounts`\" - \"`requestGmbAccess`\" - \"`requestInventoryVerification`\" - \"`setInventoryVerificationContact`\" - \"`update`\" ", - "type": "string" - }, - "omnichannelExperience": { - "$ref": "LiaOmnichannelExperience", - "description": "The omnichannel experience for a country. Required only for SetOmnichannelExperience." - }, - "posDataProviderId": { - "description": "The ID of POS data provider. Required only for SetPosProvider.", - "format": "uint64", - "type": "string" - }, - "posExternalAccountId": { - "description": "The account ID by which this merchant is known to the POS provider.", - "type": "string" - } - }, - "type": "object" - }, - "LiasettingsCustomBatchResponse": { - "id": "LiasettingsCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "LiasettingsCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "LiasettingsCustomBatchResponseEntry": { - "id": "LiasettingsCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry to which this entry responds.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors defined if, and only if, the request failed." - }, - "gmbAccounts": { - "$ref": "GmbAccounts", - "description": "The list of accessible Business Profiles." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsCustomBatchResponseEntry`\"", - "type": "string" - }, - "liaSettings": { - "$ref": "LiaSettings", - "description": "The retrieved or updated Lia settings." - }, - "omnichannelExperience": { - "$ref": "LiaOmnichannelExperience", - "description": "The updated omnichannel experience for a country." - }, - "posDataProviders": { - "description": "The list of POS data providers.", - "items": { - "$ref": "PosDataProviders" - }, - "type": "array" - } - }, - "type": "object" - }, - "LiasettingsGetAccessibleGmbAccountsResponse": { - "id": "LiasettingsGetAccessibleGmbAccountsResponse", - "properties": { - "accountId": { - "description": "The ID of the Merchant Center account.", - "format": "uint64", - "type": "string" - }, - "gmbAccounts": { - "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`\".", - "type": "string" - } - }, - "type": "object" - }, - "LiasettingsListPosDataProvidersResponse": { - "id": "LiasettingsListPosDataProvidersResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsListPosDataProvidersResponse`\".", - "type": "string" - }, - "posDataProviders": { - "description": "The list of POS data providers for each eligible country", - "items": { - "$ref": "PosDataProviders" - }, - "type": "array" - } - }, - "type": "object" - }, - "LiasettingsListResponse": { - "id": "LiasettingsListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of LIA settings.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "LiaSettings" - }, - "type": "array" - } - }, - "type": "object" - }, - "LiasettingsRequestGmbAccessResponse": { - "id": "LiasettingsRequestGmbAccessResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsRequestGmbAccessResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "LiasettingsRequestInventoryVerificationResponse": { - "id": "LiasettingsRequestInventoryVerificationResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsRequestInventoryVerificationResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "LiasettingsSetInventoryVerificationContactResponse": { - "id": "LiasettingsSetInventoryVerificationContactResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsSetInventoryVerificationContactResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "LiasettingsSetPosDataProviderResponse": { - "id": "LiasettingsSetPosDataProviderResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsSetPosDataProviderResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "LinkService": { - "id": "LinkService", - "properties": { - "service": { - "description": "Service provided to or by the linked account. Acceptable values are: - \"`shoppingActionsOrderManagement`\" - \"`shoppingActionsProductManagement`\" - \"`shoppingAdsProductManagement`\" - \"`paymentProcessing`\" ", - "type": "string" - }, - "status": { - "description": "Status of the link Acceptable values are: - \"`active`\" - \"`inactive`\" - \"`pending`\" ", - "type": "string" - } - }, - "type": "object" - }, - "LinkedAccount": { - "id": "LinkedAccount", - "properties": { - "linkedAccountId": { - "description": "The ID of the linked account.", - "type": "string" - }, - "services": { - "description": "List of provided services.", - "items": { - "$ref": "LinkService" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListAccountLabelsResponse": { - "description": "Response message for the `ListAccountLabels` method.", - "id": "ListAccountLabelsResponse", - "properties": { - "accountLabels": { - "description": "The labels from the specified account.", - "items": { - "$ref": "AccountLabel" - }, - "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" - }, - "ListAccountReturnCarrierResponse": { - "description": "Response for listing account return carriers.", - "id": "ListAccountReturnCarrierResponse", - "properties": { - "accountReturnCarriers": { - "description": "List of all available account return carriers for the merchant.", - "items": { - "$ref": "AccountReturnCarrier" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListCollectionStatusesResponse": { - "description": "Response message for the ListCollectionStatuses method.", - "id": "ListCollectionStatusesResponse", - "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" - }, - "resources": { - "description": "The collectionstatuses listed.", - "items": { - "$ref": "CollectionStatus" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListCollectionsResponse": { - "description": "Response message for the ListCollections method.", - "id": "ListCollectionsResponse", - "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" - }, - "resources": { - "description": "The collections listed.", - "items": { - "$ref": "Collection" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListConversionSourcesResponse": { - "description": "Response message for the ListConversionSources method.", - "id": "ListConversionSourcesResponse", - "properties": { - "conversionSources": { - "description": "List of conversion sources.", - "items": { - "$ref": "ConversionSource" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to be used to fetch the next results page.", - "type": "string" - } - }, - "type": "object" - }, - "ListCssesResponse": { - "description": "The response message for the `ListCsses` method", - "id": "ListCssesResponse", - "properties": { - "csses": { - "description": "The CSS domains affiliated with the specified CSS group.", - "items": { - "$ref": "Css" - }, - "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" - }, - "ListMethodQuotasResponse": { - "description": "Response message for the ListMethodQuotas method.", - "id": "ListMethodQuotasResponse", - "properties": { - "methodQuotas": { - "description": "The current quota usage and limits per each method.", - "items": { - "$ref": "MethodQuota" - }, - "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" - }, - "ListPromotionResponse": { - "description": "Response message for Promotions.List method.", - "id": "ListPromotionResponse", - "properties": { - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - }, - "promotions": { - "description": "List of all available promotions for the merchant.", - "items": { - "$ref": "Promotion" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListRegionsResponse": { - "description": "Response message for the `ListRegions` method.", - "id": "ListRegionsResponse", - "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" - }, - "regions": { - "description": "The regions from the specified merchant.", - "items": { - "$ref": "Region" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListReturnPolicyOnlineResponse": { - "description": "Response message for the `ListReturnPolicyOnline` method.", - "id": "ListReturnPolicyOnlineResponse", - "properties": { - "returnPolicies": { - "description": "The retrieved return policies.", - "items": { - "$ref": "ReturnPolicyOnline" - }, - "type": "array" - } - }, - "type": "object" - }, - "LocalInventory": { - "description": "Local inventory resource. For accepted attribute values, see the local product inventory feed specification.", - "id": "LocalInventory", - "properties": { - "availability": { - "description": "The availability of the product. For accepted attribute values, see the local product inventory feed specification.", - "type": "string" - }, - "customAttributes": { - "description": "A list of custom (merchant-provided) attributes. Can also be used to submit any attribute of the feed specification in its generic form, for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`.", - "items": { - "$ref": "CustomAttribute" - }, - "type": "array" - }, - "instoreProductLocation": { - "description": "The in-store product location.", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#localInventory`\"", - "type": "string" - }, - "pickupMethod": { - "description": "The 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": { - "description": "The expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the local product inventory feed specification.", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "The price of the product." - }, - "quantity": { - "description": "The quantity of the product. Must be nonnegative.", - "format": "uint32", - "type": "integer" - }, - "salePrice": { - "$ref": "Price", - "description": "The sale price of the product. Mandatory if `sale_price_effective_date` is defined." - }, - "salePriceEffectiveDate": { - "description": "A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates may be specified as 'null' if undecided.", - "type": "string" - }, - "storeCode": { - "description": "Required. The store code of this local inventory resource.", - "type": "string" - } - }, - "type": "object" - }, - "LocalinventoryCustomBatchRequest": { - "id": "LocalinventoryCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "LocalinventoryCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "LocalinventoryCustomBatchRequestEntry": { - "description": "Batch entry encoding a single local inventory update request.", - "id": "LocalinventoryCustomBatchRequestEntry", - "properties": { - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "localInventory": { - "$ref": "LocalInventory", - "description": "Local inventory of the product." - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "Method of the batch request entry. Acceptable values are: - \"`insert`\" ", - "type": "string" - }, - "productId": { - "description": "The ID of the product for which to update local inventory.", - "type": "string" - } - }, - "type": "object" - }, - "LocalinventoryCustomBatchResponse": { - "id": "LocalinventoryCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "LocalinventoryCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#localinventoryCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "LocalinventoryCustomBatchResponseEntry": { - "description": "Batch entry encoding a single local inventory update response.", - "id": "LocalinventoryCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#localinventoryCustomBatchResponseEntry`\"", - "type": "string" - } - }, - "type": "object" - }, - "LocationIdSet": { - "id": "LocationIdSet", - "properties": { - "locationIds": { - "description": "A non-empty list of location IDs. They must all be of the same location type (for example, state).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "LoyaltyProgram": { - "description": "Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446", - "id": "LoyaltyProgram", - "properties": { - "cashbackForFutureUse": { - "$ref": "Price", - "description": "Optional. The cashback that can be used for future purchases." - }, - "loyaltyPoints": { - "description": "Optional. The amount of loyalty points earned on a purchase.", - "format": "int64", - "type": "string" - }, - "memberPriceEffectiveDate": { - "description": "Optional. A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash.", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price." - }, - "programLabel": { - "description": "Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.", - "type": "string" - }, - "shippingLabel": { - "description": "Optional. The shipping label for the loyalty program. You can use this label to indicate whether this offer has the loyalty shipping benefit. If not specified, the item is not eligible for loyalty shipping for the given loyalty tier.", - "type": "string" - }, - "tierLabel": { - "description": "Required. The label of the tier within the loyalty program. Must match one of the labels within the program.", - "type": "string" - } - }, - "type": "object" - }, - "MerchantCenterDestination": { - "description": "\"Merchant Center Destination\" sources can be used to send conversion events from a website using a Google tag directly to a Merchant Center account where the source is created.", - "id": "MerchantCenterDestination", - "properties": { - "attributionSettings": { - "$ref": "AttributionSettings", - "description": "Required. Attribution settings being used for the Merchant Center Destination." - }, - "currencyCode": { - "description": "Required. Three-letter currency code (ISO 4217). The currency code defines in which currency the conversions sent to this destination will be reported in Merchant Center.", - "type": "string" - }, - "destinationId": { - "description": "Output only. Merchant Center Destination ID.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Required. Merchant-specified display name for the destination. This is the name that identifies the conversion source within the Merchant Center UI. Limited to 64 characters.", - "type": "string" - } - }, - "type": "object" - }, - "MethodQuota": { - "description": "The quota information per method in the Content API.", - "id": "MethodQuota", - "properties": { - "method": { - "description": "Output only. The method name, for example `products.list`. Method name does not contain version because quota can be shared between different API versions of the same method.", - "readOnly": true, - "type": "string" - }, - "quotaLimit": { - "description": "Output only. The maximum number of calls allowed per day for the method.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "quotaMinuteLimit": { - "description": "Output only. The maximum number of calls allowed per minute for the method.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "quotaUsage": { - "description": "Output only. The current quota usage, meaning the number of calls already made to the method per day. Usage is reset every day at 12 PM midday UTC.", - "format": "int64", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "Metrics": { - "description": "Performance metrics. Values are only set for metrics requested explicitly in the request's search query.", - "id": "Metrics", - "properties": { - "aos": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Average order size - the average number of items in an order. **This metric cannot be segmented by product dimensions and customer_country_code.**", - "format": "double", - "type": "number" - }, - "aovMicros": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Average order value in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) - 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 and customer_country_code.**", - "format": "double", - "type": "number" - }, - "clicks": { - "description": "Number of clicks.", - "format": "int64", - "type": "string" - }, - "conversionRate": { - "description": "Number of conversions divided by the number of clicks, reported on the impression date. The metric is currently available only for the `FREE_PRODUCT_LISTING` program.", - "format": "double", - "type": "number" - }, - "conversionValueMicros": { - "description": "Value of conversions in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) attributed to the product, reported on the conversion date. The metric is currently available only for the `FREE_PRODUCT_LISTING` program. 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" - }, - "conversions": { - "description": "Number of conversions attributed to the product, reported on the conversion date. Depending on the attribution model, a conversion might be distributed across multiple clicks, where each click gets its own credit assigned. This metric is a sum of all such credits. The metric is currently available only for the `FREE_PRODUCT_LISTING` program.", - "format": "double", - "type": "number" - }, - "ctr": { - "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": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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 and customer_country_code.**", - "format": "double", - "type": "number" - }, - "impressions": { - "description": "Number of times merchant's products are shown.", - "format": "int64", - "type": "string" - }, - "itemDaysToShip": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Average number of days between an item being ordered and the item being **This metric cannot be segmented by customer_country_code.**", - "format": "double", - "type": "number" - }, - "itemFillRate": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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. **This metric cannot be segmented by customer_country_code.**", - "format": "double", - "type": "number" - }, - "orderedItemSalesMicros": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Total price of ordered items in micros (1 millionth of a standard unit, 1 USD = 1000000 micros). 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. **This metric cannot be segmented by customer_country_code.**", - "format": "int64", - "type": "string" - }, - "orderedItems": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of ordered items. Excludes customer cancellations that happened within 30 minutes of placing the order. **This metric cannot be segmented by customer_country_code.**", - "format": "int64", - "type": "string" - }, - "orders": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of placed orders. Excludes customer cancellations that happened within 30 minutes of placing the order. **This metric cannot be segmented by product dimensions and customer_country_code.**", - "format": "int64", - "type": "string" - }, - "rejectedItems": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of ordered items canceled by the merchant, reported on the order date. **This metric cannot be segmented by customer_country_code.**", - "format": "int64", - "type": "string" - }, - "returnRate": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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. **This metric cannot be segmented by customer_country_code.**", - "format": "double", - "type": "number" - }, - "returnedItems": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of ordered items sent back for return, reported on the date when the merchant accepted the return. **This metric cannot be segmented by customer_country_code.**", - "format": "int64", - "type": "string" - }, - "returnsMicros": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Total price of ordered items sent back for return in micros (1 millionth of a standard unit, 1 USD = 1000000 micros), 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. **This metric cannot be segmented by customer_country_code.**", - "format": "int64", - "type": "string" - }, - "shippedItemSalesMicros": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Total price of shipped items in micros (1 millionth of a standard unit, 1 USD = 1000000 micros), 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. **This metric cannot be segmented by customer_country_code.**", - "format": "int64", - "type": "string" - }, - "shippedItems": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of shipped items, reported on the shipment date. **This metric cannot be segmented by customer_country_code.**", - "format": "int64", - "type": "string" - }, - "shippedOrders": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of fully shipped orders, reported on the last shipment date. **This metric cannot be segmented by product dimensions and customer_country_code.**", - "format": "int64", - "type": "string" - }, - "unshippedItems": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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. **This metric cannot be segmented by customer_country_code.**", - "format": "double", - "type": "number" - }, - "unshippedOrders": { - "description": "*Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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 and customer_country_code.**", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "MinimumOrderValueTable": { - "id": "MinimumOrderValueTable", - "properties": { - "storeCodeSetWithMovs": { - "items": { - "$ref": "MinimumOrderValueTableStoreCodeSetWithMov" - }, - "type": "array" - } - }, - "type": "object" - }, - "MinimumOrderValueTableStoreCodeSetWithMov": { - "description": "A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.", - "id": "MinimumOrderValueTableStoreCodeSetWithMov", - "properties": { - "storeCodes": { - "description": "A list of unique store codes or empty for the catch all.", - "items": { - "type": "string" - }, - "type": "array" - }, - "value": { - "$ref": "Price", - "description": "The minimum order value for the given stores." - } - }, - "type": "object" - }, - "OrderTrackingSignal": { - "description": "Represents a merchant trade from which signals are extracted, e.g. shipping.", - "id": "OrderTrackingSignal", - "properties": { - "customerShippingFee": { - "$ref": "PriceAmount", - "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\". This field will be anonymized in returned OrderTrackingSignal creation response.", - "type": "string" - }, - "deliveryRegionCode": { - "description": "Required. The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping destination.", - "type": "string" - }, - "lineItems": { - "description": "Information about line items in the order.", - "items": { - "$ref": "OrderTrackingSignalLineItemDetails" - }, - "type": "array" - }, - "merchantId": { - "description": "The Google merchant ID of this order tracking signal. This value is optional. If left unset, the caller's merchant ID is used. You must request access in order to provide data on behalf of another merchant. For more information, see [Submitting Order Tracking Signals](/shopping-content/guides/order-tracking-signals).", - "format": "int64", - "type": "string" - }, - "orderCreatedTime": { - "$ref": "DateTime", - "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. This field will be hashed in returned OrderTrackingSignal creation response.", - "type": "string" - }, - "orderTrackingSignalId": { - "description": "Output only. The ID that uniquely identifies this order tracking signal.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "shipmentLineItemMapping": { - "description": "The mapping of the line items to the shipment information.", - "items": { - "$ref": "OrderTrackingSignalShipmentLineItemMapping" - }, - "type": "array" - }, - "shippingInfo": { - "description": "The shipping information for the order.", - "items": { - "$ref": "OrderTrackingSignalShippingInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "OrderTrackingSignalLineItemDetails": { - "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" - }, - "lineItemId": { - "description": "Required. The ID for this line item.", - "type": "string" - }, - "mpn": { - "description": "The manufacturer part number.", - "type": "string" - }, - "productDescription": { - "deprecated": true, - "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": "The quantity of the line item in the order.", - "format": "int64", - "type": "string" - }, - "sku": { - "deprecated": true, - "description": "Merchant SKU for this item (deprecated).", - "type": "string" - }, - "upc": { - "deprecated": true, - "description": "Universal product code for this item (deprecated: Please use GTIN instead).", - "type": "string" - } - }, - "type": "object" - }, - "OrderTrackingSignalShipmentLineItemMapping": { - "description": "Represents how many items are in the shipment for the given shipment_id and line_item_id.", - "id": "OrderTrackingSignalShipmentLineItemMapping", - "properties": { - "lineItemId": { - "description": "Required. The line item ID.", - "type": "string" - }, - "quantity": { - "description": "The line item quantity in the shipment.", - "format": "int64", - "type": "string" - }, - "shipmentId": { - "description": "Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.", - "type": "string" - } - }, - "type": "object" - }, - "OrderTrackingSignalShippingInfo": { - "description": "The shipping information for the order.", - "id": "OrderTrackingSignalShippingInfo", - "properties": { - "actualDeliveryTime": { - "$ref": "DateTime", - "description": "The time when the shipment was actually delivered. 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." - }, - "carrierName": { - "description": "The name of the shipping carrier for the delivery. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time.", - "type": "string" - }, - "carrierServiceName": { - "description": "The service type for fulfillment, e.g., GROUND, FIRST_CLASS, etc.", - "type": "string" - }, - "earliestDeliveryPromiseTime": { - "$ref": "DateTime", - "description": "The earliest 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." - }, - "latestDeliveryPromiseTime": { - "$ref": "DateTime", - "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\". This field will be anonymized in returned OrderTrackingSignal creation response.", - "type": "string" - }, - "originRegionCode": { - "description": "The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping origin.", - "type": "string" - }, - "shipmentId": { - "description": "Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.", - "type": "string" - }, - "shippedTime": { - "$ref": "DateTime", - "description": "The time when the shipment was shipped. Include the year and timezone string, if available." - }, - "shippingStatus": { - "description": "The status of the shipment.", - "enum": [ - "SHIPPING_STATE_UNSPECIFIED", - "SHIPPED", - "DELIVERED" - ], - "enumDescriptions": [ - "The shipping status is not known to merchant.", - "All items are shipped.", - "The shipment is already delivered." - ], - "type": "string" - }, - "trackingId": { - "description": "The tracking ID of the shipment. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time.", - "type": "string" - } - }, - "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" - } - }, - "type": "object" - }, - "PickupCarrierService": { - "id": "PickupCarrierService", - "properties": { - "carrierName": { - "description": "The name of the pickup carrier (for example, `\"UPS\"`). Required.", - "type": "string" - }, - "serviceName": { - "description": "The name of the pickup service (for example, `\"Access point\"`). Required.", - "type": "string" - } - }, - "type": "object" - }, - "PickupServicesPickupService": { - "id": "PickupServicesPickupService", - "properties": { - "carrierName": { - "description": "The name of the carrier (for example, `\"UPS\"`). Always present.", - "type": "string" - }, - "country": { - "description": "The CLDR country code of the carrier (for example, \"US\"). Always present.", - "type": "string" - }, - "serviceName": { - "description": "The name of the pickup service (for example, `\"Access point\"`). Always present.", - "type": "string" - } - }, - "type": "object" - }, - "PosCustomBatchRequest": { - "id": "PosCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "PosCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "PosCustomBatchRequestEntry": { - "id": "PosCustomBatchRequestEntry", - "properties": { - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "inventory": { - "$ref": "PosInventory", - "description": "The inventory to submit. This should be set only if the method is `inventory`." - }, - "merchantId": { - "description": "The ID of the POS data provider.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`delete`\" - \"`get`\" - \"`insert`\" - \"`inventory`\" - \"`sale`\" ", - "type": "string" - }, - "sale": { - "$ref": "PosSale", - "description": "The sale information to submit. This should be set only if the method is `sale`." - }, - "store": { - "$ref": "PosStore", - "description": "The store information to submit. This should be set only if the method is `insert`." - }, - "storeCode": { - "description": "The store code. This should be set only if the method is `delete` or `get`.", - "type": "string" - }, - "targetMerchantId": { - "description": "The ID of the account for which to get/submit data.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "PosCustomBatchResponse": { - "id": "PosCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "PosCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "PosCustomBatchResponseEntry": { - "id": "PosCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry to which this entry responds.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors defined if, and only if, the request failed." - }, - "inventory": { - "$ref": "PosInventory", - "description": "The updated inventory information." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posCustomBatchResponseEntry`\"", - "type": "string" - }, - "sale": { - "$ref": "PosSale", - "description": "The updated sale information." - }, - "store": { - "$ref": "PosStore", - "description": "The retrieved or updated store information." - } - }, - "type": "object" - }, - "PosDataProviders": { - "id": "PosDataProviders", - "properties": { - "country": { - "description": "Country code.", - "type": "string" - }, - "posDataProviders": { - "description": "A list of POS data providers.", - "items": { - "$ref": "PosDataProvidersPosDataProvider" - }, - "type": "array" - } - }, - "type": "object" - }, - "PosDataProvidersPosDataProvider": { - "id": "PosDataProvidersPosDataProvider", - "properties": { - "displayName": { - "description": "The display name of Pos data Provider.", - "type": "string" - }, - "fullName": { - "description": "The full name of this POS data Provider.", - "type": "string" - }, - "providerId": { - "description": "The ID of the account.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "PosInventory": { - "description": "The absolute quantity of an item available at the given store.", - "id": "PosInventory", - "properties": { - "contentLanguage": { - "description": "Required. The two-letter ISO 639-1 language code for the item.", - "type": "string" - }, - "gtin": { - "description": "Global Trade Item Number.", - "type": "string" - }, - "itemId": { - "description": "Required. A unique identifier for the item.", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posInventory`\"", - "type": "string" - }, - "pickupMethod": { - "description": "Optional. Supported pickup method for this offer. Unless the value is \"not supported\", this field must be submitted together with `pickupSla`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342).", - "type": "string" - }, - "pickupSla": { - "description": "Optional. Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342).", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "Required. The current price of the item." - }, - "quantity": { - "description": "Required. The available quantity of the item.", - "format": "int64", - "type": "string" - }, - "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", - "type": "string" - }, - "targetCountry": { - "description": "Required. The CLDR territory code for the item.", - "type": "string" - }, - "timestamp": { - "description": "Required. The inventory timestamp, in ISO 8601 format.", - "type": "string" - } - }, - "type": "object" - }, - "PosInventoryRequest": { - "id": "PosInventoryRequest", - "properties": { - "contentLanguage": { - "description": "Required. The two-letter ISO 639-1 language code for the item.", - "type": "string" - }, - "gtin": { - "description": "Global Trade Item Number.", - "type": "string" - }, - "itemId": { - "description": "Required. A unique identifier for the item.", - "type": "string" - }, - "pickupMethod": { - "description": "Optional. Supported pickup method for this offer. Unless the value is \"not supported\", this field must be submitted together with `pickupSla`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342).", - "type": "string" - }, - "pickupSla": { - "description": "Optional. Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342).", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "Required. The current price of the item." - }, - "quantity": { - "description": "Required. The available quantity of the item.", - "format": "int64", - "type": "string" - }, - "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", - "type": "string" - }, - "targetCountry": { - "description": "Required. The CLDR territory code for the item.", - "type": "string" - }, - "timestamp": { - "description": "Required. The inventory timestamp, in ISO 8601 format.", - "type": "string" - } - }, - "type": "object" - }, - "PosInventoryResponse": { - "id": "PosInventoryResponse", - "properties": { - "contentLanguage": { - "description": "Required. The two-letter ISO 639-1 language code for the item.", - "type": "string" - }, - "gtin": { - "description": "Global Trade Item Number.", - "type": "string" - }, - "itemId": { - "description": "Required. A unique identifier for the item.", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posInventoryResponse`\".", - "type": "string" - }, - "pickupMethod": { - "description": "Optional. Supported pickup method for this offer. Unless the value is \"not supported\", this field must be submitted together with `pickupSla`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342).", - "type": "string" - }, - "pickupSla": { - "description": "Optional. Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342).", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "Required. The current price of the item." - }, - "quantity": { - "description": "Required. The available quantity of the item.", - "format": "int64", - "type": "string" - }, - "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", - "type": "string" - }, - "targetCountry": { - "description": "Required. The CLDR territory code for the item.", - "type": "string" - }, - "timestamp": { - "description": "Required. The inventory timestamp, in ISO 8601 format.", - "type": "string" - } - }, - "type": "object" - }, - "PosListResponse": { - "id": "PosListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posListResponse`\".", - "type": "string" - }, - "resources": { - "items": { - "$ref": "PosStore" - }, - "type": "array" - } - }, - "type": "object" - }, - "PosSale": { - "description": "The change of the available quantity of an item at the given store.", - "id": "PosSale", - "properties": { - "contentLanguage": { - "description": "Required. The two-letter ISO 639-1 language code for the item.", - "type": "string" - }, - "gtin": { - "description": "Global Trade Item Number.", - "type": "string" - }, - "itemId": { - "description": "Required. A unique identifier for the item.", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posSale`\"", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "Required. The price of the item." - }, - "quantity": { - "description": "Required. The relative change of the available quantity. Negative for items returned.", - "format": "int64", - "type": "string" - }, - "saleId": { - "description": "A unique ID to group items from the same sale event.", - "type": "string" - }, - "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", - "type": "string" - }, - "targetCountry": { - "description": "Required. The CLDR territory code for the item.", - "type": "string" - }, - "timestamp": { - "description": "Required. The inventory timestamp, in ISO 8601 format.", - "type": "string" - } - }, - "type": "object" - }, - "PosSaleRequest": { - "id": "PosSaleRequest", - "properties": { - "contentLanguage": { - "description": "Required. The two-letter ISO 639-1 language code for the item.", - "type": "string" - }, - "gtin": { - "description": "Global Trade Item Number.", - "type": "string" - }, - "itemId": { - "description": "Required. A unique identifier for the item.", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "Required. The price of the item." - }, - "quantity": { - "description": "Required. The relative change of the available quantity. Negative for items returned.", - "format": "int64", - "type": "string" - }, - "saleId": { - "description": "A unique ID to group items from the same sale event.", - "type": "string" - }, - "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", - "type": "string" - }, - "targetCountry": { - "description": "Required. The CLDR territory code for the item.", - "type": "string" - }, - "timestamp": { - "description": "Required. The inventory timestamp, in ISO 8601 format.", - "type": "string" - } - }, - "type": "object" - }, - "PosSaleResponse": { - "id": "PosSaleResponse", - "properties": { - "contentLanguage": { - "description": "Required. The two-letter ISO 639-1 language code for the item.", - "type": "string" - }, - "gtin": { - "description": "Global Trade Item Number.", - "type": "string" - }, - "itemId": { - "description": "Required. A unique identifier for the item.", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posSaleResponse`\".", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "Required. The price of the item." - }, - "quantity": { - "description": "Required. The relative change of the available quantity. Negative for items returned.", - "format": "int64", - "type": "string" - }, - "saleId": { - "description": "A unique ID to group items from the same sale event.", - "type": "string" - }, - "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", - "type": "string" - }, - "targetCountry": { - "description": "Required. The CLDR territory code for the item.", - "type": "string" - }, - "timestamp": { - "description": "Required. The inventory timestamp, in ISO 8601 format.", - "type": "string" - } - }, - "type": "object" - }, - "PosStore": { - "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" - }, - "matchingStatus": { - "description": "Output only. The matching status of POS store and Google Business Profile store. Possible values are: - \"`matched`\": The POS store is successfully matched with the Google Business Profile store. - \"`failed`\": The POS store is not matched with the Google Business Profile store. See matching_status_hint for further details. Note that there is up to 48 hours propagation delay for changes in Merchant Center (e.g. creation of new account, accounts linking) and Google Business Profile (e.g. store address update) which may affect the matching status. In such cases, after a delay call [pos.list](https://developers.google.com/shopping-content/reference/rest/v2.1/pos/list) to retrieve the updated matching status. ", - "readOnly": true, - "type": "string" - }, - "matchingStatusHint": { - "description": "Output only. The hint of why the matching has failed. This is only set when matching_status=failed. Possible values are: - \"`linked-store-not-found`\": There aren't any Google Business Profile stores available for matching. Connect your Merchant Center account with the Google Business Profile account. Or add a new Google Business Profile store corresponding to the POS store. - \"`store-match-not-found`\": The provided POS store couldn't be matched to any of the connected Google Business Profile stores. Merchant Center account is connected correctly and stores are available on Google Business Profile, but POS store location address does not match with Google Business Profile stores' addresses. Update POS store address or Google Business Profile store address to match correctly. - \"`store-match-unverified`\": The provided POS store couldn't be matched to any of the connected Google Business Profile stores, as the matched Google Business Profile store is unverified. Go through the Google Business Profile verification process to match correctly. ", - "readOnly": true, - "type": "string" - }, - "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" - }, - "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" - }, - "PostalCodeGroup": { - "id": "PostalCodeGroup", - "properties": { - "country": { - "description": "The CLDR territory code of the country the postal code group applies to. Required.", - "type": "string" - }, - "name": { - "description": "The name of the postal code group, referred to in headers. Required.", - "type": "string" - }, - "postalCodeRanges": { - "description": "A range of postal codes. Required.", - "items": { - "$ref": "PostalCodeRange" - }, - "type": "array" - } - }, - "type": "object" - }, - "PostalCodeRange": { - "id": "PostalCodeRange", - "properties": { - "postalCodeRangeBegin": { - "description": "A postal code or a pattern of the form `prefix*` denoting the inclusive lower bound of the range defining the area. Examples values: `\"94108\"`, `\"9410*\"`, `\"9*\"`. Required.", - "type": "string" - }, - "postalCodeRangeEnd": { - "description": "A postal code or a pattern of the form `prefix*` denoting the inclusive upper bound of the range defining the area. It must have the same length as `postalCodeRangeBegin`: if `postalCodeRangeBegin` is a postal code then `postalCodeRangeEnd` must be a postal code too; if `postalCodeRangeBegin` is a pattern then `postalCodeRangeEnd` must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching `postalCodeRangeBegin`.", - "type": "string" - } - }, - "type": "object" - }, - "Price": { - "id": "Price", - "properties": { - "currency": { - "description": "The currency of the price.", - "type": "string" - }, - "value": { - "description": "The price represented as a number.", - "type": "string" - } - }, - "type": "object" - }, - "PriceAmount": { - "description": "The price represented as a number and currency.", - "id": "PriceAmount", - "properties": { - "currency": { - "description": "The currency of the price.", - "type": "string" - }, - "value": { - "description": "The price represented as a number.", - "type": "string" - } - }, - "type": "object" - }, - "PriceCompetitiveness": { - "description": "Price competitiveness fields requested by the merchant in the query. Field values are only set if the merchant queries `PriceCompetitivenessProductView`. https://support.google.com/merchants/answer/9626903", - "id": "PriceCompetitiveness", - "properties": { - "benchmarkPriceCurrencyCode": { - "description": "The price benchmark currency (ISO 4217 code).", - "type": "string" - }, - "benchmarkPriceMicros": { - "description": "The latest available price benchmark in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) for the product's catalog in the benchmark country.", - "format": "int64", - "type": "string" - }, - "countryCode": { - "description": "The country of the price benchmark (ISO 3166 code).", - "type": "string" - } - }, - "type": "object" - }, - "PriceInsights": { - "description": "Price insights fields requested by the merchant in the query. Field values are only set if the merchant queries `PriceInsightsProductView`. https://support.google.com/merchants/answer/11916926", - "id": "PriceInsights", - "properties": { - "effectiveness": { - "description": "The predicted effectiveness of applying the price suggestion, bucketed.", - "enum": [ - "EFFECTIVENESS_UNSPECIFIED", - "LOW", - "MEDIUM", - "HIGH" - ], - "enumDescriptions": [ - "Effectiveness is unknown.", - "Effectiveness is low.", - "Effectiveness is medium.", - "Effectiveness is high." - ], - "type": "string" - }, - "predictedClicksChangeFraction": { - "description": "The predicted change in clicks as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in clicks.", - "format": "double", - "type": "number" - }, - "predictedConversionsChangeFraction": { - "description": "The predicted change in conversions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in conversions).", - "format": "double", - "type": "number" - }, - "predictedGrossProfitChangeFraction": { - "description": "*Deprecated*: This field is no longer supported and will start returning 0. The predicted change in gross profit as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in gross profit.", - "format": "double", - "type": "number" - }, - "predictedImpressionsChangeFraction": { - "description": "The predicted change in impressions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in impressions.", - "format": "double", - "type": "number" - }, - "predictedMonthlyGrossProfitChangeCurrencyCode": { - "description": "*Deprecated*: This field is no longer supported and will start returning USD for all requests. The predicted monthly gross profit change currency (ISO 4217 code).", - "type": "string" - }, - "predictedMonthlyGrossProfitChangeMicros": { - "description": "*Deprecated*: This field is no longer supported and will start returning 0. The predicted change in gross profit in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) after introducing the suggested price for a month compared to current active price.", - "format": "int64", - "type": "string" - }, - "suggestedPriceCurrencyCode": { - "description": "The suggested price currency (ISO 4217 code).", - "type": "string" - }, - "suggestedPriceMicros": { - "description": "The latest suggested price in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) for the product.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "Product": { - "description": " Required product attributes are primarily defined by the product data specification. See the Product 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. The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style.", - "id": "Product", - "properties": { - "additionalImageLinks": { - "description": "Additional URLs of images of the item.", - "items": { - "type": "string" - }, - "type": "array" - }, - "additionalSizeType": { - "description": "Additional cut of the item. Used together with size_type to represent combined size types for apparel items.", - "type": "string" - }, - "adsGrouping": { - "description": "Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.", - "type": "string" - }, - "adsLabels": { - "description": "Similar to ads_grouping, but only works on CPC.", - "items": { - "type": "string" - }, - "type": "array" - }, - "adsRedirect": { - "description": "Allows advertisers to override the item URL when the product is shown within the context of Product Ads.", - "type": "string" - }, - "adult": { - "description": "Should be set to true if the item is targeted towards adults.", - "type": "boolean" - }, - "ageGroup": { - "description": "Target age group of the item.", - "type": "string" - }, - "autoPricingMinPrice": { - "$ref": "Price", - "description": "A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability." - }, - "availability": { - "description": "Availability status of the item.", - "type": "string" - }, - "availabilityDate": { - "description": "The day a pre-ordered product becomes available for delivery, in ISO 8601 format.", - "type": "string" - }, - "brand": { - "description": "Brand of the item.", - "type": "string" - }, - "canonicalLink": { - "description": "URL for the canonical version of your item's landing page.", - "type": "string" - }, - "certifications": { - "description": "Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.", - "items": { - "$ref": "ProductCertification" - }, - "type": "array" - }, - "channel": { - "description": "Required. The item's channel (online or local). Acceptable values are: - \"`local`\" - \"`online`\" ", - "type": "string" - }, - "cloudExportAdditionalProperties": { - "description": "Extra fields to export to the Cloud Retail program.", - "items": { - "$ref": "CloudExportAdditionalProperties" - }, - "type": "array" - }, - "color": { - "description": "Color of the item.", - "type": "string" - }, - "condition": { - "description": "Condition or state of the item.", - "type": "string" - }, - "contentLanguage": { - "description": "Required. The two-letter ISO 639-1 language code for the item.", - "type": "string" - }, - "costOfGoodsSold": { - "$ref": "Price", - "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 (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" - }, - "type": "array" - }, - "customLabel0": { - "description": "Custom label 0 for custom grouping of items in a Shopping campaign.", - "type": "string" - }, - "customLabel1": { - "description": "Custom label 1 for custom grouping of items in a Shopping campaign.", - "type": "string" - }, - "customLabel2": { - "description": "Custom label 2 for custom grouping of items in a Shopping campaign.", - "type": "string" - }, - "customLabel3": { - "description": "Custom label 3 for custom grouping of items in a Shopping campaign.", - "type": "string" - }, - "customLabel4": { - "description": "Custom label 4 for custom grouping of items in a Shopping campaign.", - "type": "string" - }, - "description": { - "description": "Description of the item.", - "type": "string" - }, - "disclosureDate": { - "description": "The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information.", - "type": "string" - }, - "displayAdsId": { - "description": "An identifier for an item for dynamic remarketing campaigns.", - "type": "string" - }, - "displayAdsLink": { - "description": "URL directly to your item's landing page for dynamic remarketing campaigns.", - "type": "string" - }, - "displayAdsSimilarIds": { - "description": "Advertiser-specified recommendations.", - "items": { - "type": "string" - }, - "type": "array" - }, - "displayAdsTitle": { - "description": "Title of an item for dynamic remarketing campaigns.", - "type": "string" - }, - "displayAdsValue": { - "description": "Offer margin for dynamic remarketing campaigns.", - "format": "double", - "type": "number" - }, - "energyEfficiencyClass": { - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", - "type": "string" - }, - "excludedDestinations": { - "description": "The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.", - "items": { - "type": "string" - }, - "type": "array" - }, - "expirationDate": { - "description": "Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` and might be earlier if `expirationDate` is too far in the future.", - "type": "string" - }, - "externalSellerId": { - "description": "Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account.", - "type": "string" - }, - "feedLabel": { - "description": "Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).", - "type": "string" - }, - "freeShippingThreshold": { - "description": "Optional. Conditions to be met for a product to have free shipping.", - "items": { - "$ref": "FreeShippingThreshold" - }, - "type": "array" - }, - "gender": { - "description": "Target gender of the item.", - "type": "string" - }, - "googleProductCategory": { - "description": "Google's category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.", - "type": "string" - }, - "gtin": { - "description": "Global Trade Item Number (GTIN) of the item.", - "type": "string" - }, - "id": { - "description": "The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.", - "type": "string" - }, - "identifierExists": { - "description": "False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.", - "type": "boolean" - }, - "imageLink": { - "description": "URL of an image of the item.", - "type": "string" - }, - "includedDestinations": { - "description": "The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "installment": { - "$ref": "Installment", - "description": "Number and amount of installments to pay for an item." - }, - "isBundle": { - "description": "Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.", - "type": "boolean" - }, - "itemGroupId": { - "description": "Shared identifier for all variants of the same product.", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#product`\"", - "type": "string" - }, - "lifestyleImageLinks": { - "description": "Additional URLs of lifestyle images of the item. Used to explicitly identify images that showcase your item in a real-world context. See the Help Center article for more information.", - "items": { - "type": "string" - }, - "type": "array" - }, - "link": { - "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" - }, - "loyaltyProgram": { - "$ref": "LoyaltyProgram", - "description": "Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below." - }, - "loyaltyPrograms": { - "description": "Optional. A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item.", - "items": { - "$ref": "LoyaltyProgram" - }, - "type": "array" - }, - "material": { - "description": "The material of which the item is made.", - "type": "string" - }, - "maxEnergyEfficiencyClass": { - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", - "type": "string" - }, - "maxHandlingTime": { - "description": "Maximal product handling time (in business days).", - "format": "int64", - "type": "string" - }, - "maximumRetailPrice": { - "$ref": "Price", - "description": "Maximum retail price (MRP) of the item. Applicable to India only." - }, - "minEnergyEfficiencyClass": { - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", - "type": "string" - }, - "minHandlingTime": { - "description": "Minimal product handling time (in business days).", - "format": "int64", - "type": "string" - }, - "mobileLink": { - "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" - }, - "multipack": { - "description": "The number of identical products in a merchant-defined multipack.", - "format": "int64", - "type": "string" - }, - "offerId": { - "description": "Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.", - "type": "string" - }, - "pattern": { - "description": "The item's pattern (for example, polka dots).", - "type": "string" - }, - "pause": { - "description": "Publication of this item should be temporarily paused. Acceptable values are: - \"`ads`\" ", - "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": { - "$ref": "Price", - "description": "Price of the item." - }, - "productDetails": { - "description": "Technical specification or additional product details.", - "items": { - "$ref": "ProductProductDetail" - }, - "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": { - "type": "string" - }, - "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 product data specification).", - "items": { - "type": "string" - }, - "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": { - "type": "string" - }, - "type": "array" - }, - "salePrice": { - "$ref": "Price", - "description": "Advertised sale price of the item." - }, - "salePriceEffectiveDate": { - "description": "Date range during which the item is on sale (see product data specification ).", - "type": "string" - }, - "sellOnGoogleQuantity": { - "description": "The quantity of the product that is available for selling on Google. Supported only for online products.", - "format": "int64", - "type": "string" - }, - "shipping": { - "description": "Shipping rules.", - "items": { - "$ref": "ProductShipping" - }, - "type": "array" - }, - "shippingHeight": { - "$ref": "ProductShippingDimension", - "description": "Height of the item for shipping." - }, - "shippingLabel": { - "description": "The shipping label of the product, used to group product in account-level shipping rules.", - "type": "string" - }, - "shippingLength": { - "$ref": "ProductShippingDimension", - "description": "Length of the item for shipping." - }, - "shippingWeight": { - "$ref": "ProductShippingWeight", - "description": "Weight of the item for shipping." - }, - "shippingWidth": { - "$ref": "ProductShippingDimension", - "description": "Width of the item for shipping." - }, - "shoppingAdsExcludedCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.", - "items": { - "type": "string" - }, - "type": "array" - }, - "sizeSystem": { - "description": "System in which the size is specified. Recommended for apparel items.", - "type": "string" - }, - "sizeType": { - "description": "The cut of the item. Recommended for apparel items.", - "type": "string" - }, - "sizes": { - "description": "Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value (see size definition).", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "Output only. The source of the offer, that is, how the offer was created. Acceptable values are: - \"`api`\" - \"`crawl`\" - \"`feed`\" ", - "type": "string" - }, - "structuredDescription": { - "$ref": "ProductStructuredDescription", - "description": "Structured description, for algorithmically (AI)-generated descriptions." - }, - "structuredTitle": { - "$ref": "ProductStructuredTitle", - "description": "Structured title, for algorithmically (AI)-generated titles." - }, - "subscriptionCost": { - "$ref": "ProductSubscriptionCost", - "description": "Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract." - }, - "sustainabilityIncentives": { - "description": "Optional. The list of sustainability incentive programs.", - "items": { - "$ref": "ProductSustainabilityIncentive" - }, - "type": "array" - }, - "targetCountry": { - "description": "Required. The CLDR territory code for the item's country of sale.", - "type": "string" - }, - "taxCategory": { - "description": "The tax category of the product, used to configure detailed tax nexus in account-level tax settings.", - "type": "string" - }, - "taxes": { - "description": "Tax information.", - "items": { - "$ref": "ProductTax" - }, - "type": "array" - }, - "title": { - "description": "Title of the item.", - "type": "string" - }, - "transitTimeLabel": { - "description": "The transit time label of the product, used to group product in account-level transit time tables.", - "type": "string" - }, - "unitPricingBaseMeasure": { - "$ref": "ProductUnitPricingBaseMeasure", - "description": "The preference of the denominator of the unit price." - }, - "unitPricingMeasure": { - "$ref": "ProductUnitPricingMeasure", - "description": "The measure and dimension of an item." - }, - "virtualModelLink": { - "description": "URL of the 3D model of the item to provide more visuals.", - "type": "string" - } - }, - "type": "object" - }, - "ProductCertification": { - "description": "Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.", - "id": "ProductCertification", - "properties": { - "certificationAuthority": { - "description": "The certification authority, for example \"European_Commission\". Maximum length is 2000 characters.", - "type": "string" - }, - "certificationCode": { - "description": "The certification code, for eaxample \"123456\". Maximum length is 2000 characters.", - "type": "string" - }, - "certificationName": { - "description": "The name of the certification, for example \"EPREL\". Maximum length is 2000 characters.", - "type": "string" - }, - "certificationValue": { - "description": "The certification value (also known as class, level or grade), for example \"A+\", \"C\", \"gold\". Maximum length is 2000 characters.", - "type": "string" - } - }, - "type": "object" - }, - "ProductCluster": { - "description": "Product cluster fields. A product cluster is a grouping for different offers that represent the same product. Values are only set for fields requested explicitly in the request's search query.", - "id": "ProductCluster", - "properties": { - "brand": { - "description": "Brand of the product cluster.", - "type": "string" - }, - "brandInventoryStatus": { - "description": "Tells if there is at least one product of the brand currently `IN_STOCK` in your product feed across multiple countries, all products are `OUT_OF_STOCK` in your product feed, or `NOT_IN_INVENTORY`. The field doesn't take the Best Sellers report country filter into account.", - "enum": [ - "INVENTORY_STATUS_UNSPECIFIED", - "IN_STOCK", - "OUT_OF_STOCK", - "NOT_IN_INVENTORY" - ], - "enumDescriptions": [ - "Inventory status is unknown.", - "Merchant has a product for this product cluster or brand in stock.", - "Merchant has a product for this product cluster or brand in inventory but it is currently out of stock.", - "Merchant does not have a product for this product cluster or brand in inventory." - ], - "type": "string" - }, - "categoryL1": { - "description": "Product category (1st level) of the product cluster, represented in Google's product taxonomy.", - "type": "string" - }, - "categoryL2": { - "description": "Product category (2nd level) of the product cluster, represented in Google's product taxonomy.", - "type": "string" - }, - "categoryL3": { - "description": "Product category (3rd level) of the product cluster, represented in Google's product taxonomy.", - "type": "string" - }, - "categoryL4": { - "description": "Product category (4th level) of the product cluster, represented in Google's product taxonomy.", - "type": "string" - }, - "categoryL5": { - "description": "Product category (5th level) of the product cluster, represented in Google's product taxonomy.", - "type": "string" - }, - "inventoryStatus": { - "description": "Tells whether the product cluster is `IN_STOCK` in your product feed across multiple countries, `OUT_OF_STOCK` in your product feed, or `NOT_IN_INVENTORY` at all. The field doesn't take the Best Sellers report country filter into account.", - "enum": [ - "INVENTORY_STATUS_UNSPECIFIED", - "IN_STOCK", - "OUT_OF_STOCK", - "NOT_IN_INVENTORY" - ], - "enumDescriptions": [ - "Inventory status is unknown.", - "Merchant has a product for this product cluster or brand in stock.", - "Merchant has a product for this product cluster or brand in inventory but it is currently out of stock.", - "Merchant does not have a product for this product cluster or brand in inventory." - ], - "type": "string" - }, - "title": { - "description": "Title of the product cluster.", - "type": "string" - }, - "variantGtins": { - "description": "GTINs of example variants of the product cluster.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ProductDeliveryTime": { - "description": "The estimated days to deliver a product after an order is placed. Only authorized shipping signals partners working with a merchant can use this resource. Merchants should use the [`products`](https://developers.google.com/shopping-content/reference/rest/v2.1/products#productshipping) resource instead.", - "id": "ProductDeliveryTime", - "properties": { - "areaDeliveryTimes": { - "description": "Required. A set of associations between `DeliveryArea` and `DeliveryTime` entries. The total number of `areaDeliveryTimes` can be at most 100.", - "items": { - "$ref": "ProductDeliveryTimeAreaDeliveryTime" - }, - "type": "array" - }, - "productId": { - "$ref": "ProductId", - "description": "Required. The `id` of the product." - } - }, - "type": "object" - }, - "ProductDeliveryTimeAreaDeliveryTime": { - "description": "A pairing of `DeliveryArea` associated with a `DeliveryTime` for this product.", - "id": "ProductDeliveryTimeAreaDeliveryTime", - "properties": { - "deliveryArea": { - "$ref": "DeliveryArea", - "description": "Required. The delivery area associated with `deliveryTime` for this product." - }, - "deliveryTime": { - "$ref": "ProductDeliveryTimeAreaDeliveryTimeDeliveryTime", - "description": "Required. The delivery time associated with `deliveryArea` for this product." - } - }, - "type": "object" - }, - "ProductDeliveryTimeAreaDeliveryTimeDeliveryTime": { - "description": "A delivery time for this product.", - "id": "ProductDeliveryTimeAreaDeliveryTimeDeliveryTime", - "properties": { - "maxHandlingTimeDays": { - "description": "Required. The maximum number of business days (inclusive) between when an order is placed and when the product ships. If a product ships in the same day, set this value to 0.", - "format": "int32", - "type": "integer" - }, - "maxTransitTimeDays": { - "description": "Required. The maximum number of business days (inclusive) between when the product ships and when the product is delivered.", - "format": "int32", - "type": "integer" - }, - "minHandlingTimeDays": { - "description": "Required. The minimum number of business days (inclusive) between when an order is placed and when the product ships. If a product ships in the same day, set this value to 0.", - "format": "int32", - "type": "integer" - }, - "minTransitTimeDays": { - "description": "Required. The minimum number of business days (inclusive) between when the product ships and when the product is delivered.", - "format": "int32", - "type": "integer" - } - }, - "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" - }, - "ProductId": { - "description": "The Content API ID of the product.", - "id": "ProductId", - "properties": { - "productId": { - "description": "The Content API ID of the product, in the form `channel:contentLanguage:targetCountry:offerId`.", - "type": "string" - } - }, - "type": "object" - }, - "ProductIssue": { - "description": "An issue affecting specific product.", - "id": "ProductIssue", - "properties": { - "actions": { - "description": "A list of actionable steps that can be executed to solve the issue. An example is requesting a re-review or providing arguments when merchant disagrees with the issue. Actions that are supported in (your) third-party application can be rendered as buttons and should be available to merchant when they expand the issue.", - "items": { - "$ref": "Action" - }, - "type": "array" - }, - "impact": { - "$ref": "ProductIssueImpact", - "description": "Clarifies the severity of the issue. The summarizing message, if present, should be shown right under the title for each issue. It helps merchants to quickly understand the impact of the issue. The detailed breakdown helps the merchant to fully understand the impact of the issue. It can be rendered as dialog that opens when the merchant mouse over the summarized impact statement. Issues with different severity can be styled differently. They may use a different color or icon to signal the difference between `ERROR`, `WARNING` and `INFO`." - }, - "prerenderedContent": { - "description": "Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `issue-detail` - top level container for the detail of the issue * `callout-banners` - section of the `issue-detail` with callout banners * `callout-banner` - single callout banner, inside `callout-banners` * `callout-banner-info` - callout with important information (default) * `callout-banner-warning` - callout with a warning * `callout-banner-error` - callout informing about an error (most severe) * `issue-content` - section of the `issue-detail`, contains multiple `content-element` * `content-element` - content element such as a list, link or paragraph, inside `issue-content` * `root-causes` - unordered list with items describing root causes of the issue, inside `issue-content` * `root-causes-intro` - intro text before the `root-causes` list, inside `issue-content` * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. * `content-moderation` - marks the paragraph that explains how the issue was identified. * `list-intro` - marks the paragraph that contains an intro for a list. This paragraph will be always followed by a list. * `new-element` - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class.", - "type": "string" - }, - "prerenderedOutOfCourtDisputeSettlement": { - "description": "Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `ods-section`* - wrapper around the out-of-court dispute resolution section * `ods-description`* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link. * `ods-param`* - wrapper around the header-value pair for parameters that merchant may need to provide during the ODS process. * `ods-routing-id`* - ods param for the Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - value of the ODS parameter. This value should be rendered in a way that it is easy for merchants to identify and copy. * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon.", - "type": "string" - }, - "title": { - "description": "Title of the issue.", - "type": "string" - } - }, - "type": "object" - }, - "ProductIssueImpact": { - "description": "Overall impact of product issue.", - "id": "ProductIssueImpact", - "properties": { - "breakdowns": { - "description": "Detailed impact breakdown. Explains the types of restriction the issue has in different shopping destinations and territory. If present, it should be rendered to the merchant. Can be shown as a mouse over dropdown or a dialog. Each breakdown item represents a group of regions with the same impact details.", - "items": { - "$ref": "Breakdown" - }, - "type": "array" - }, - "message": { - "description": "Optional. Message summarizing the overall impact of the issue. If present, it should be rendered to the merchant. For example: \"Limits visibility in France\"", - "type": "string" - }, - "severity": { - "description": "The severity of the issue.", - "enum": [ - "SEVERITY_UNSPECIFIED", - "ERROR", - "WARNING", - "INFO" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Causes either an account suspension or an item disapproval. Errors should be resolved as soon as possible to ensure items are eligible to appear in results again.", - "Warnings can negatively impact the performance of ads and can lead to item or account suspensions in the future unless the issue is resolved.", - "Infos are suggested optimizations to increase data quality. Resolving these issues is recommended, but not required." - ], - "type": "string" - } - }, - "type": "object" - }, - "ProductProductDetail": { - "id": "ProductProductDetail", - "properties": { - "attributeName": { - "description": "The name of the product detail.", - "type": "string" - }, - "attributeValue": { - "description": "The value of the product detail.", - "type": "string" - }, - "sectionName": { - "description": "The section header used to group a set of product details.", - "type": "string" - } - }, - "type": "object" - }, - "ProductShipping": { - "id": "ProductShipping", - "properties": { - "country": { - "description": "The CLDR territory code of the country to which an item will ship.", - "type": "string" - }, - "locationGroupName": { - "description": "The location where the shipping is applicable, represented by a location group name.", - "type": "string" - }, - "locationId": { - "description": "The numeric ID of a location that the shipping rate applies to as defined in the Google Ads API.", - "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" - }, - "price": { - "$ref": "Price", - "description": "Fixed shipping price, represented as a number." - }, - "region": { - "description": "The geographic region to which a shipping rate applies.", - "type": "string" - }, - "service": { - "description": "A free-form description of the service class or delivery speed.", - "type": "string" - } - }, - "type": "object" - }, - "ProductShippingDimension": { - "id": "ProductShippingDimension", - "properties": { - "unit": { - "description": "The unit of value.", - "type": "string" - }, - "value": { - "description": "The dimension of the product used to calculate the shipping cost of the item.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ProductShippingWeight": { - "id": "ProductShippingWeight", - "properties": { - "unit": { - "description": "The unit of value.", - "type": "string" - }, - "value": { - "description": "The weight of the product used to calculate the shipping cost of the item.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ProductStatus": { - "description": "The status of a product, that is, information about a product computed asynchronously.", - "id": "ProductStatus", - "properties": { - "creationDate": { - "description": "Date on which the item has been created, in ISO 8601 format.", - "type": "string" - }, - "destinationStatuses": { - "description": "The intended destinations for the product.", - "items": { - "$ref": "ProductStatusDestinationStatus" - }, - "type": "array" - }, - "googleExpirationDate": { - "description": "Date on which the item expires in Google Shopping, in ISO 8601 format.", - "type": "string" - }, - "itemLevelIssues": { - "description": "A list of all issues associated with the product.", - "items": { - "$ref": "ProductStatusItemLevelIssue" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productStatus`\"", - "type": "string" - }, - "lastUpdateDate": { - "description": "Date on which the item has been last updated, in ISO 8601 format.", - "type": "string" - }, - "link": { - "description": "The link to the product.", - "type": "string" - }, - "productId": { - "description": "The ID of the product for which status is reported.", - "type": "string" - }, - "title": { - "description": "The title of the product.", - "type": "string" - } - }, - "type": "object" - }, - "ProductStatusDestinationStatus": { - "id": "ProductStatusDestinationStatus", - "properties": { - "approvedCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) where the offer is approved.", - "items": { - "type": "string" - }, - "type": "array" - }, - "channel": { - "description": "The channel of the destination.", - "type": "string" - }, - "destination": { - "description": "The name of the destination", - "type": "string" - }, - "disapprovedCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) where the offer is disapproved.", - "items": { - "type": "string" - }, - "type": "array" - }, - "pendingCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) where the offer is pending approval.", - "items": { - "type": "string" - }, - "type": "array" - }, - "status": { - "deprecated": true, - "description": "Deprecated. Destination approval status in `targetCountry` of the offer.", - "type": "string" - } - }, - "type": "object" - }, - "ProductStatusItemLevelIssue": { - "id": "ProductStatusItemLevelIssue", - "properties": { - "applicableCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) where issue applies to the offer.", - "items": { - "type": "string" - }, - "type": "array" - }, - "attributeName": { - "description": "The attribute's name, if the issue is caused by a single attribute.", - "type": "string" - }, - "code": { - "description": "The error code of the issue.", - "type": "string" - }, - "description": { - "description": "A short issue description in English.", - "type": "string" - }, - "destination": { - "description": "The destination the issue applies to.", - "type": "string" - }, - "detail": { - "description": "A detailed issue description in English.", - "type": "string" - }, - "documentation": { - "description": "The URL of a web page to help with resolving this issue.", - "type": "string" - }, - "resolution": { - "description": "Whether the issue can be resolved by the merchant.", - "type": "string" - }, - "servability": { - "description": "How this issue affects serving of the offer.", - "type": "string" - } - }, - "type": "object" - }, - "ProductStructuredDescription": { - "description": "Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information.", - "id": "ProductStructuredDescription", - "properties": { - "content": { - "description": "Required. The description text. Maximum length is 5000 characters.", - "type": "string" - }, - "digitalSourceType": { - "description": "Optional. The digital source type. Acceptable values are: - \"`trained_algorithmic_media`\" - \"`default`\" ", - "type": "string" - } - }, - "type": "object" - }, - "ProductStructuredTitle": { - "description": "Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information.", - "id": "ProductStructuredTitle", - "properties": { - "content": { - "description": "Required. The title text. Maximum length is 150 characters.", - "type": "string" - }, - "digitalSourceType": { - "description": "Optional. The digital source type. Acceptable values are: - \"`trained_algorithmic_media`\" - \"`default`\" ", - "type": "string" - } - }, - "type": "object" - }, - "ProductSubscriptionCost": { - "id": "ProductSubscriptionCost", - "properties": { - "amount": { - "$ref": "Price", - "description": "The amount the buyer has to pay per subscription period." - }, - "period": { - "description": "The type of subscription period. - \"`month`\" - \"`year`\" ", - "type": "string" - }, - "periodLength": { - "description": "The number of subscription periods the buyer has to pay.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ProductSustainabilityIncentive": { - "description": "Information regarding sustainability related incentive programs such as rebates or tax relief.", - "id": "ProductSustainabilityIncentive", - "properties": { - "amount": { - "$ref": "Price", - "description": "Optional. The fixed amount of the incentive." - }, - "percentage": { - "description": "Optional. The percentage of the sale price that the incentive is applied to.", - "format": "double", - "type": "number" - }, - "type": { - "description": "Required. Sustainability incentive program.", - "enum": [ - "TYPE_UNSPECIFIED", - "EV_TAX_CREDIT", - "EV_PRICE_DISCOUNT" - ], - "enumDescriptions": [ - "Unspecified or unknown sustainability incentive type.", - "Program offering tax liability reductions for electric vehicles and, in some countries, plug-in hybrids. These reductions can be based on a specific amount or a percentage of the sale price.", - "A subsidy program, often called an environmental bonus, provides a purchase grant for electric vehicles and, in some countries, plug-in hybrids. The grant amount may be a fixed sum or a percentage of the sale price." - ], - "type": "string" - } - }, - "type": "object" - }, - "ProductTax": { - "id": "ProductTax", - "properties": { - "country": { - "description": "The country within which the item is taxed, specified as a CLDR territory code.", - "type": "string" - }, - "locationId": { - "description": "The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.", - "format": "int64", - "type": "string" - }, - "postalCode": { - "description": "The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.", - "type": "string" - }, - "rate": { - "description": "The percentage of tax rate that applies to the item price.", - "format": "double", - "type": "number" - }, - "region": { - "description": "The geographic region to which the tax rate applies.", - "type": "string" - }, - "taxShip": { - "description": "Should be set to true if tax is charged on shipping.", - "type": "boolean" - } - }, - "type": "object" - }, - "ProductUnitPricingBaseMeasure": { - "id": "ProductUnitPricingBaseMeasure", - "properties": { - "unit": { - "description": "The unit of the denominator.", - "type": "string" - }, - "value": { - "description": "The denominator of the unit price.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ProductUnitPricingMeasure": { - "id": "ProductUnitPricingMeasure", - "properties": { - "unit": { - "description": "The unit of the measure.", - "type": "string" - }, - "value": { - "description": "The measure of an item.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ProductView": { - "description": "Product fields. Values are only set for fields requested explicitly in the request's search query.", - "id": "ProductView", - "properties": { - "aggregatedDestinationStatus": { - "description": "Aggregated destination status.", - "enum": [ - "AGGREGATED_STATUS_UNSPECIFIED", - "NOT_ELIGIBLE_OR_DISAPPROVED", - "PENDING", - "ELIGIBLE_LIMITED", - "ELIGIBLE" - ], - "enumDescriptions": [ - "Undefined aggregated status.", - "Offer isn't eligible, or is disapproved for all destinations.", - "Offer's status is pending in all destinations.", - "Offer is eligible for some (but not all) destinations.", - "Offer is eligible for all destinations." - ], - "type": "string" - }, - "availability": { - "description": "Availability of the product.", - "type": "string" - }, - "brand": { - "description": "Brand of the product.", - "type": "string" - }, - "categoryL1": { - "description": "First level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "categoryL2": { - "description": "Second level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "categoryL3": { - "description": "Third level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "categoryL4": { - "description": "Fourth level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "categoryL5": { - "description": "Fifth level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "channel": { - "description": "Channel of the product (online versus local).", - "enum": [ - "CHANNEL_UNSPECIFIED", - "LOCAL", - "ONLINE" - ], - "enumDescriptions": [ - "Indicates that the channel is unspecified.", - "Indicates that the channel is local.", - "Indicates that the channel is online." - ], - "type": "string" - }, - "clickPotential": { - "description": "Estimated performance potential compared to highest performing products of the merchant.", - "enum": [ - "CLICK_POTENTIAL_UNSPECIFIED", - "LOW", - "MEDIUM", - "HIGH" - ], - "enumDescriptions": [ - "Unknown predicted clicks impact.", - "Potential to receive a low number of clicks compared to the highest performing products of the merchant.", - "Potential to receive a moderate number of clicks compared to the highest performing products of the merchant.", - "Potential to receive a similar number of clicks as the highest performing products of the merchant." - ], - "type": "string" - }, - "clickPotentialRank": { - "description": "Normalized click potential of the product. Values range from 1 to 1000, where 1 is the highest click potential and 1000 is the theoretical lowest.", - "format": "int64", - "type": "string" - }, - "condition": { - "description": "Condition of the product.", - "type": "string" - }, - "creationTime": { - "description": "The time the merchant created the product in timestamp seconds.", - "format": "google-datetime", - "type": "string" - }, - "currencyCode": { - "description": "Product price currency code (for example, ISO 4217). Absent if product price is not available.", - "type": "string" - }, - "expirationDate": { - "$ref": "Date", - "description": "Expiration date for the product. Specified on insertion." - }, - "gtin": { - "description": "GTIN of the product.", - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "The REST ID of the product, in the form of channel:contentLanguage:targetCountry:offerId. Content API methods that operate on products take this as their productId parameter. Should always be included in the SELECT clause.", - "type": "string" - }, - "itemGroupId": { - "description": "Item group ID provided by the merchant for grouping variants together.", - "type": "string" - }, - "itemIssues": { - "description": "List of item issues for the product.", - "items": { - "$ref": "ProductViewItemIssue" - }, - "type": "array" - }, - "languageCode": { - "description": "Language code of the product in BCP 47 format.", - "type": "string" - }, - "offerId": { - "description": "Merchant-provided id of the product.", - "type": "string" - }, - "priceMicros": { - "description": "Product price specified as micros (1 millionth of a standard unit, 1 USD = 1000000 micros) in the product currency. Absent in case the information about the price of the product is not available.", - "format": "int64", - "type": "string" - }, - "productTypeL1": { - "description": "First level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "productTypeL2": { - "description": "Second level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "productTypeL3": { - "description": "Third level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "productTypeL4": { - "description": "Fourth level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "productTypeL5": { - "description": "Fifth level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436).", - "type": "string" - }, - "shippingLabel": { - "description": "The normalized shipping label specified in the feed", - "type": "string" - }, - "title": { - "description": "Title of the product.", - "type": "string" - } - }, - "type": "object" - }, - "ProductViewItemIssue": { - "description": "Item issue associated with the product.", - "id": "ProductViewItemIssue", - "properties": { - "issueType": { - "$ref": "ProductViewItemIssueItemIssueType", - "description": "Item issue type." - }, - "resolution": { - "description": "Item issue resolution.", - "enum": [ - "UNKNOWN", - "MERCHANT_ACTION", - "PENDING_PROCESSING" - ], - "enumDescriptions": [ - "Unknown resolution type.", - "The merchant has to fix the issue.", - "The issue will be resolved automatically (for example, image crawl), or Google review. No merchant action is required now. Resolution might lead to another issue (for example, if crawl fails)." - ], - "type": "string" - }, - "severity": { - "$ref": "ProductViewItemIssueItemIssueSeverity", - "description": "Item issue severity." - } - }, - "type": "object" - }, - "ProductViewItemIssueIssueSeverityPerDestination": { - "description": "Issue severity for all affected regions in a destination.", - "id": "ProductViewItemIssueIssueSeverityPerDestination", - "properties": { - "demotedCountries": { - "description": "List of demoted countries in the destination.", - "items": { - "type": "string" - }, - "type": "array" - }, - "destination": { - "description": "Issue destination.", - "type": "string" - }, - "disapprovedCountries": { - "description": "List of disapproved countries in the destination.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ProductViewItemIssueItemIssueSeverity": { - "description": "Severity of an issue per destination in a region, and aggregated severity.", - "id": "ProductViewItemIssueItemIssueSeverity", - "properties": { - "aggregatedSeverity": { - "description": "Severity of an issue aggregated for destination.", - "enum": [ - "AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED", - "DISAPPROVED", - "DEMOTED", - "PENDING" - ], - "enumDescriptions": [ - "Undefined Issue severity.", - "Issue disapproves the product in at least one of the selected destinations.", - "Issue demotes the product in all selected destinations it affects.", - "Issue resolution is `PENDING_PROCESSING`." - ], - "type": "string" - }, - "severityPerDestination": { - "description": "Item issue severity for every destination.", - "items": { - "$ref": "ProductViewItemIssueIssueSeverityPerDestination" - }, - "type": "array" - } - }, - "type": "object" - }, - "ProductViewItemIssueItemIssueType": { - "description": "Type of the item issue.", - "id": "ProductViewItemIssueItemIssueType", - "properties": { - "canonicalAttribute": { - "description": "Canonical attribute name for attribute-specific issues.", - "type": "string" - }, - "code": { - "description": "Error code of the issue.", - "type": "string" - } - }, - "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": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "ProductsCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "ProductsCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch products request.", - "id": "ProductsCustomBatchRequestEntry", - "properties": { - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "feedId": { - "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" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`delete`\" - \"`get`\" - \"`insert`\" - \"`update`\" ", - "type": "string" - }, - "product": { - "$ref": "Product", - "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 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. *You must specify the update mask to delete attributes.* 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" - } - }, - "type": "object" - }, - "ProductsCustomBatchResponse": { - "id": "ProductsCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "ProductsCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productsCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "ProductsCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch products response.", - "id": "ProductsCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productsCustomBatchResponseEntry`\"", - "type": "string" - }, - "product": { - "$ref": "Product", - "description": "The inserted product. Only defined if the method is `insert` and if the request was successful." - } - }, - "type": "object" - }, - "ProductsListResponse": { - "id": "ProductsListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productsListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of products.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "Product" - }, - "type": "array" - } - }, - "type": "object" - }, - "ProductstatusesCustomBatchRequest": { - "id": "ProductstatusesCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "ProductstatusesCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "ProductstatusesCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch productstatuses request.", - "id": "ProductstatusesCustomBatchRequestEntry", - "properties": { - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "destinations": { - "description": "If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination.", - "items": { - "type": "string" - }, - "type": "array" - }, - "includeAttributes": { - "deprecated": true, - "description": "Deprecated: Setting this field has no effect and attributes are never included.", - "type": "boolean" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`get`\" ", - "type": "string" - }, - "productId": { - "description": "The ID of the product whose status to get.", - "type": "string" - } - }, - "type": "object" - }, - "ProductstatusesCustomBatchResponse": { - "id": "ProductstatusesCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "ProductstatusesCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productstatusesCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "ProductstatusesCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch productstatuses response.", - "id": "ProductstatusesCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productstatusesCustomBatchResponseEntry`\"", - "type": "string" - }, - "productStatus": { - "$ref": "ProductStatus", - "description": "The requested product status. Only defined if the request was successful." - } - }, - "type": "object" - }, - "ProductstatusesListResponse": { - "id": "ProductstatusesListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productstatusesListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of products statuses.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "ProductStatus" - }, - "type": "array" - } - }, - "type": "object" - }, - "Promotion": { - "description": "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. `en` content language is available for all target countries. `fr` content language is available for `CA` and `FR` target countries. `de` content language is available for `DE` target country. `nl` content language is available for `NL` target country. `it` content language is available for `IT` target country. `pt` content language is available for `BR` target country. `ja` content language is available for `JP` target country. `ko` content language is available for `KR` target country.", - "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" - }, - "customRedemptionRestriction": { - "description": "The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.", - "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 `offerType` field.", - "type": "string" - }, - "getThisQuantityDiscounted": { - "description": "The number of items discounted in the promotion.", - "format": "int32", - "type": "integer" - }, - "id": { - "description": "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 has 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": "Required. Long title for the promotion.", - "type": "string" - }, - "maxDiscountAmount": { - "$ref": "PriceAmount", - "description": "The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type." - }, - "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": "Cost cap for 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": [ - "Which products the promotion applies to is unknown.", - "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": { - "deprecated": true, - "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's display dates." - }, - "promotionEffectiveDates": { - "deprecated": true, - "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's effective dates." - }, - "promotionId": { - "description": "Required. The user provided promotion ID to uniquely identify the promotion.", - "type": "string" - }, - "promotionStatus": { - "$ref": "PromotionPromotionStatus", - "description": "Output only. The current status of the promotion.", - "readOnly": true - }, - "promotionUrl": { - "description": "URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no promo url is included. URL is used to confirm that the promotion is valid and can be redeemed.", - "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" - }, - "redemptionRestriction": { - "description": "The redemption restriction for the promotion.", - "enum": [ - "REDEMPTION_RESTRICTION_UNSPECIFIED", - "SUBSCRIBE_AND_SAVE", - "FIRST_ORDER", - "SIGN_UP_FOR_EMAIL", - "SIGN_UP_FOR_TEXT", - "FORMS_OF_PAYMENT", - "CUSTOM" - ], - "enumDescriptions": [ - "The redemption restriction is unspecified.", - "The customer must subscribe to the merchant's channel to redeem the promotion.", - "The customer must be a first-time customer to redeem the promotion.", - "The customer must sign up for email's to redeem the promotion.", - "The customer must sign up for text to redeem the promotion.", - "The customer must use a specific form of payment to redeem the promotion.", - "The customer must meet a custom restriction to redeem the promotion. If selected, the `custom_redemption_restriction` field must be set." - ], - "type": "string" - }, - "shippingServiceNames": { - "description": "Shipping service names for the promotion.", - "items": { - "type": "string" - }, - "type": "array" - }, - "storeApplicability": { - "description": "Whether the promotion applies to all stores, or only specified stores. Local Inventory ads promotions throw an error if no store applicability is included. An INVALID_ARGUMENT error is thrown if store_applicability is set to ALL_STORES and store_code or score_code_exclusion is set to a value.", - "enum": [ - "STORE_APPLICABILITY_UNSPECIFIED", - "ALL_STORES", - "SPECIFIC_STORES" - ], - "enumDescriptions": [ - "Which store codes the promotion applies to is unknown.", - "Promotion applies to all stores.", - "Promotion applies to only the specified stores." - ], - "type": "string" - }, - "storeCode": { - "description": "Store codes to include for the promotion.", - "items": { - "type": "string" - }, - "type": "array" - }, - "storeCodeExclusion": { - "description": "Store codes to exclude for the promotion.", - "items": { - "type": "string" - }, - "type": "array" - }, - "targetCountry": { - "description": "Required. The target country used as part of the unique identifier. Can be `AU`, `CA`, `DE`, `FR`, `GB`, `IN`, `US`, `BR`, `ES`, `NL`, `JP`, `IT` or `KR`.", - "type": "string" - } - }, - "type": "object" - }, - "PromotionPromotionStatus": { - "description": "The status of the promotion.", - "id": "PromotionPromotionStatus", - "properties": { - "creationDate": { - "description": "Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example \"2020-01-02T09:00:00+01:00\" or \"2020-01-02T09:00:00Z\"", - "type": "string" - }, - "destinationStatuses": { - "description": "The intended destinations for the promotion.", - "items": { - "$ref": "PromotionPromotionStatusDestinationStatus" - }, - "type": "array" - }, - "lastUpdateDate": { - "description": "Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example \"2020-01-02T09:00:00+01:00\" or \"2020-01-02T09:00:00Z\"", - "type": "string" - }, - "promotionIssue": { - "description": "A list of issues associated with the promotion.", - "items": { - "$ref": "PromotionPromotionStatusPromotionIssue" - }, - "type": "array" - } - }, - "type": "object" - }, - "PromotionPromotionStatusDestinationStatus": { - "description": "The destination status of the promotion.", - "id": "PromotionPromotionStatusDestinationStatus", - "properties": { - "destination": { - "description": "The name of the destination.", - "type": "string" - }, - "status": { - "description": "The status for the specified destination.", - "enum": [ - "STATE_UNSPECIFIED", - "IN_REVIEW", - "REJECTED", - "LIVE", - "STOPPED", - "EXPIRED", - "PENDING" - ], - "enumDescriptions": [ - "Unknown promotion state.", - "The promotion is under review.", - "The promotion is disapproved", - "The promotion is approved and active.", - "The promotion is stopped by merchant.", - "The promotion is no longer active.", - "The promotion is not stopped, and all reviews are approved, but the active date is in the future." - ], - "type": "string" - } - }, - "type": "object" - }, - "PromotionPromotionStatusPromotionIssue": { - "description": "The issue associated with the promotion.", - "id": "PromotionPromotionStatusPromotionIssue", - "properties": { - "code": { - "description": "Code of the issue.", - "type": "string" - }, - "detail": { - "description": "Explanation of the issue.", - "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", - "properties": { - "cloudTopicName": { - "description": "Cloud pub/sub topic to which notifications are sent (read-only).", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#pubsubNotificationSettings`\"", - "type": "string" - }, - "registeredEvents": { - "description": "List of event types. Acceptable values are: - \"`orderPendingShipment`\" ", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RateGroup": { - "id": "RateGroup", - "properties": { - "applicableShippingLabels": { - "description": "A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.", - "items": { - "type": "string" - }, - "type": "array" - }, - "carrierRates": { - "description": "A list of carrier rates that can be referred to by `mainTable` or `singleValue`.", - "items": { - "$ref": "CarrierRate" - }, - "type": "array" - }, - "mainTable": { - "$ref": "Table", - "description": "A table defining the rate group, when `singleValue` is not expressive enough. Can only be set if `singleValue` is not set." - }, - "name": { - "description": "Name of the rate group. Optional. If set has to be unique within shipping service.", - "type": "string" - }, - "singleValue": { - "$ref": "Value", - "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.", - "items": { - "$ref": "Table" - }, - "type": "array" - } - }, - "type": "object" - }, - "Recommendation": { - "description": "Recommendations are suggested ways to improve your merchant account's performance. For example, to engage with a feature, or start using a new Google product.", - "id": "Recommendation", - "properties": { - "additionalCallToAction": { - "description": "Output only. CTAs of this recommendation. Repeated.", - "items": { - "$ref": "RecommendationCallToAction" - }, - "readOnly": true, - "type": "array" - }, - "additionalDescriptions": { - "description": "Output only. List of additional localized descriptions for a recommendation. Localication uses the `languageCode` field in `GenerateRecommendations` requests. Not all description types are guaranteed to be present and we recommend to rely on default description.", - "items": { - "$ref": "RecommendationDescription" - }, - "readOnly": true, - "type": "array" - }, - "creative": { - "description": "Output only. Any creatives attached to the recommendation. Repeated.", - "items": { - "$ref": "RecommendationCreative" - }, - "readOnly": true, - "type": "array" - }, - "defaultCallToAction": { - "$ref": "RecommendationCallToAction", - "description": "Optional. Default CTA of the recommendation." - }, - "defaultDescription": { - "description": "Optional. Localized recommendation description. The localization the {@link `GenerateRecommendationsRequest.language_code`} field in {@link `GenerateRecommendationsRequest`} requests.", - "type": "string" - }, - "numericalImpact": { - "description": "Optional. A numerical score of the impact from the recommendation's description. For example, a recommendation might suggest an upward trend in sales for a certain product. Higher number means larger impact.", - "format": "int32", - "type": "integer" - }, - "paid": { - "description": "Optional. Indicates whether a user needs to pay when they complete the user journey suggested by the recommendation.", - "type": "boolean" - }, - "recommendationName": { - "description": "Optional. Localized recommendation name. The localization uses the {@link `GenerateRecommendationsRequest.language_code`} field in {@link `GenerateRecommendationsRequest`} requests.", - "type": "string" - }, - "subType": { - "description": "Optional. Subtype of the recommendations. Only applicable when multiple recommendations can be generated per type, and is used as an identifier of recommendation under the same recommendation type.", - "type": "string" - }, - "title": { - "description": "Optional. Localized Recommendation Title. Localization uses the {@link `GenerateRecommendationsRequest.language_code`} field in {@link `GenerateRecommendationsRequest`} requests.", - "type": "string" - }, - "type": { - "description": "Output only. Type of the recommendation. List of currently available recommendation types: - OPPORTUNITY_CREATE_NEW_COLLECTION - OPPORTUNITY_CREATE_EMAIL_CAMPAIGN", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "RecommendationCallToAction": { - "description": "Call to action (CTA) that explains how a merchant can implement this recommendation", - "id": "RecommendationCallToAction", - "properties": { - "intent": { - "description": "Output only. Intent of the action. This value describes the intent (for example, `OPEN_CREATE_EMAIL_CAMPAIGN_FLOW`) and can vary from recommendation to recommendation. This value can change over time for the same recommendation. Currently available intent values: - OPEN_CREATE_EMAIL_CAMPAIGN_FLOW: Opens a user journey where they can create a marketing email campaign. (No default URL) - OPEN_CREATE_COLLECTION_TAB: Opens a user journey where they can [create a collection](https://support.google.com/merchants/answer/9703228) for their Merchant account. (No default URL)", - "readOnly": true, - "type": "string" - }, - "localizedText": { - "description": "Output only. Localized text of the CTA. Optional.", - "readOnly": true, - "type": "string" - }, - "uri": { - "description": "Optional. URL of the CTA. This field will only be set for some recommendations where there is a suggested landing URL. Otherwise it will be set to an empty string. We recommend developers to use their own custom landing page according to the description of the intent field above when this uri field is empty.", - "type": "string" - } - }, - "type": "object" - }, - "RecommendationCreative": { - "description": "Creative is a multimedia attachment to recommendation that can be used on the frontend.", - "id": "RecommendationCreative", - "properties": { - "type": { - "description": "Type of the creative.", - "enum": [ - "CREATIVE_TYPE_UNSPECIFIED", - "VIDEO", - "PHOTO" - ], - "enumDescriptions": [ - "Default value. If provided, shall be considered invalid.", - "Video creatives.", - "Photo creatives." - ], - "type": "string" - }, - "uri": { - "description": "URL of the creative.", - "type": "string" - } - }, - "type": "object" - }, - "RecommendationDescription": { - "description": "Google-provided description for the recommendation.", - "id": "RecommendationDescription", - "properties": { - "text": { - "description": "Output only. Text of the description.", - "readOnly": true, - "type": "string" - }, - "type": { - "description": "Output only. Type of the description.", - "enum": [ - "DESCRIPTION_TYPE_UNSPECIFIED", - "SHORT", - "LONG" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Short description.", - "Long description." - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "Region": { - "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets.", - "id": "Region", - "properties": { - "displayName": { - "description": "The display name of the region.", - "type": "string" - }, - "geotargetArea": { - "$ref": "RegionGeoTargetArea", - "description": "A list of geotargets that defines the region area." - }, - "merchantId": { - "description": "Output only. Immutable. Merchant that owns the region.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "postalCodeArea": { - "$ref": "RegionPostalCodeArea", - "description": "A list of postal codes that defines the region area." - }, - "regionId": { - "description": "Output only. Immutable. The ID uniquely identifying each region.", - "readOnly": true, - "type": "string" - }, - "regionalInventoryEligible": { - "description": "Output only. Indicates if the region is eligible to use in the Regional Inventory configuration.", - "readOnly": true, - "type": "boolean" - }, - "shippingEligible": { - "description": "Output only. Indicates if the region is eligible to use in the Shipping Services configuration.", - "readOnly": true, - "type": "boolean" - } - }, - "type": "object" - }, - "RegionGeoTargetArea": { - "description": "A list of geotargets that defines the region area.", - "id": "RegionGeoTargetArea", - "properties": { - "geotargetCriteriaIds": { - "description": "Required. A non-empty list of [location IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting). They must all be of the same location type (e.g., state).", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RegionPostalCodeArea": { - "description": "A list of postal codes that defines the region area. Note: All regions defined using postal codes are accessible via the account's `ShippingSettings.postalCodeGroups` resource.", - "id": "RegionPostalCodeArea", - "properties": { - "postalCodes": { - "description": "Required. A range of postal codes.", - "items": { - "$ref": "RegionPostalCodeAreaPostalCodeRange" - }, - "type": "array" - }, - "regionCode": { - "description": "Required. CLDR territory code or the country the postal code group applies to.", - "type": "string" - } - }, - "type": "object" - }, - "RegionPostalCodeAreaPostalCodeRange": { - "description": "A range of postal codes that defines the region area.", - "id": "RegionPostalCodeAreaPostalCodeRange", - "properties": { - "begin": { - "description": "Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: \"94108\", \"9410*\", \"9*\".", - "type": "string" - }, - "end": { - "description": "Optional. A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin.", - "type": "string" - } - }, - "type": "object" - }, - "RegionalInventory": { - "description": "Regional inventory resource. contains the regional name and all attributes which are overridden for the specified region.", - "id": "RegionalInventory", - "properties": { - "availability": { - "description": "The availability of the product.", - "type": "string" - }, - "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.", - "items": { - "$ref": "CustomAttribute" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#regionalInventory`\".", - "type": "string" - }, - "price": { - "$ref": "Price", - "description": "The price of the product." - }, - "regionId": { - "description": "The ID uniquely identifying each region.", - "type": "string" - }, - "salePrice": { - "$ref": "Price", - "description": "The sale price of the product. Mandatory if `sale_price_effective_date` is defined." - }, - "salePriceEffectiveDate": { - "description": "A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates might be specified as 'null' if undecided.", - "type": "string" - } - }, - "type": "object" - }, - "RegionalinventoryCustomBatchRequest": { - "id": "RegionalinventoryCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "RegionalinventoryCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "RegionalinventoryCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch regional inventory request.", - "id": "RegionalinventoryCustomBatchRequestEntry", - "properties": { - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "Method of the batch request entry. Acceptable values are: - \"`insert`\" ", - "type": "string" - }, - "productId": { - "description": "The ID of the product for which to update price and availability.", - "type": "string" - }, - "regionalInventory": { - "$ref": "RegionalInventory", - "description": "Price and availability of the product." - } - }, - "type": "object" - }, - "RegionalinventoryCustomBatchResponse": { - "id": "RegionalinventoryCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "RegionalinventoryCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#regionalinventoryCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "RegionalinventoryCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch regional inventory response.", - "id": "RegionalinventoryCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry this entry responds to.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#regionalinventoryCustomBatchResponseEntry`\".", - "type": "string" - }, - "regionalInventory": { - "$ref": "RegionalInventory", - "description": "Price and availability of the product." - } - }, - "type": "object" - }, - "RenderAccountIssuesRequestPayload": { - "description": "The payload for configuring how the content should be rendered.", - "id": "RenderAccountIssuesRequestPayload", - "properties": { - "contentOption": { - "description": "Optional. How the detailed content should be returned. Default option is to return the content as a pre-rendered HTML text.", - "enum": [ - "CONTENT_OPTION_UNSPECIFIED", - "PRE_RENDERED_HTML" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Returns the detail of the issue as a pre-rendered HTML text." - ], - "type": "string" - }, - "userInputActionOption": { - "description": "Optional. How actions with user input form should be handled. If not provided, actions will be returned as links that points merchant to Merchant Center where they can request the action.", - "enum": [ - "USER_INPUT_ACTION_RENDERING_OPTION_UNSPECIFIED", - "REDIRECT_TO_MERCHANT_CENTER", - "BUILT_IN_USER_INPUT_ACTIONS" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Actions that require user input are represented only as links that points merchant to Merchant Center where they can request the action. Provides easier to implement alternative to `BUILT_IN_USER_INPUT_ACTIONS`.", - "Returns content and input form definition for each complex action. Your application needs to display this content and input form to the merchant before they can request processing of the action. To start the action, your application needs to call the `triggeraction` method." - ], - "type": "string" - } - }, - "type": "object" - }, - "RenderAccountIssuesResponse": { - "description": "Response containing support content and actions for listed account issues.", - "id": "RenderAccountIssuesResponse", - "properties": { - "alternateDisputeResolution": { - "$ref": "AlternateDisputeResolution", - "deprecated": true, - "description": "Alternate Dispute Resolution (ADR) is deprecated. Use `prerendered_out_of_court_dispute_settlement` instead." - }, - "issues": { - "description": "List of account issues for a given account. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered.", - "items": { - "$ref": "AccountIssue" - }, - "type": "array" - } - }, - "type": "object" - }, - "RenderProductIssuesRequestPayload": { - "description": "The payload for configuring how the content should be rendered.", - "id": "RenderProductIssuesRequestPayload", - "properties": { - "contentOption": { - "description": "Optional. How the detailed content should be returned. Default option is to return the content as a pre-rendered HTML text.", - "enum": [ - "CONTENT_OPTION_UNSPECIFIED", - "PRE_RENDERED_HTML" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Returns the detail of the issue as a pre-rendered HTML text." - ], - "type": "string" - }, - "userInputActionOption": { - "description": "Optional. How actions with user input form should be handled. If not provided, actions will be returned as links that points merchant to Merchant Center where they can request the action.", - "enum": [ - "USER_INPUT_ACTION_RENDERING_OPTION_UNSPECIFIED", - "REDIRECT_TO_MERCHANT_CENTER", - "BUILT_IN_USER_INPUT_ACTIONS" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Actions that require user input are represented only as links that points merchant to Merchant Center where they can request the action. Provides easier to implement alternative to `BUILT_IN_USER_INPUT_ACTIONS`.", - "Returns content and input form definition for each complex action. Your application needs to display this content and input form to the merchant before they can request processing of the action. To start the action, your application needs to call the `triggeraction` method." - ], - "type": "string" - } - }, - "type": "object" - }, - "RenderProductIssuesResponse": { - "description": "Response containing support content and actions for listed product issues.", - "id": "RenderProductIssuesResponse", - "properties": { - "alternateDisputeResolution": { - "$ref": "AlternateDisputeResolution", - "deprecated": true, - "description": "Alternate Dispute Resolution (ADR) is deprecated. Use `prerendered_out_of_court_dispute_settlement` instead." - }, - "issues": { - "description": "List of issues for a given product. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered.", - "items": { - "$ref": "ProductIssue" - }, - "type": "array" - } - }, - "type": "object" - }, - "ReportInteractionRequest": { - "description": "Request to report interactions on a recommendation.", - "id": "ReportInteractionRequest", - "properties": { - "interactionType": { - "description": "Required. Type of the interaction that is reported, for example INTERACTION_CLICK.", - "enum": [ - "INTERACTION_TYPE_UNSPECIFIED", - "INTERACTION_DISMISS", - "INTERACTION_CLICK" - ], - "enumDescriptions": [ - "Default value. If provided, the service will throw ApiError with description \"Required parameter: interactionType\".", - "When a recommendation is dismissed.", - "When a recommendation is clicked." - ], - "type": "string" - }, - "responseToken": { - "description": "Required. Token of the response when recommendation was returned.", - "type": "string" - }, - "subtype": { - "description": "Optional. Subtype of the recommendations this interaction happened on. This field must be set only to the value that is returned by {@link `RecommendationsService.GenerateRecommendations`} call.", - "type": "string" - }, - "type": { - "description": "Required. Type of the recommendations on which this interaction happened. This field must be set only to the value that is returned by {@link `GenerateRecommendationsResponse`} call.", - "type": "string" - } - }, - "type": "object" - }, - "ReportRow": { - "description": "Result row returned from the search query.", - "id": "ReportRow", - "properties": { - "bestSellers": { - "$ref": "BestSellers", - "description": "Best sellers fields requested by the merchant in the query. Field values are only set if the merchant queries `BestSellersProductClusterView` or `BestSellersBrandView`." - }, - "brand": { - "$ref": "Brand", - "description": "Brand fields requested by the merchant in the query. Field values are only set if the merchant queries `BestSellersBrandView`." - }, - "competitiveVisibility": { - "$ref": "CompetitiveVisibility", - "description": "Competitive visibility fields requested by the merchant in the query. Field values are only set if the merchant queries `CompetitiveVisibilityTopMerchantView`, `CompetitiveVisibilityBenchmarkView` or `CompetitiveVisibilityCompetitorView`." - }, - "metrics": { - "$ref": "Metrics", - "description": "Metrics requested by the merchant in the query. Metric values are only set for metrics requested explicitly in the query." - }, - "priceCompetitiveness": { - "$ref": "PriceCompetitiveness", - "description": "Price competitiveness fields requested by the merchant in the query. Field values are only set if the merchant queries `PriceCompetitivenessProductView`." - }, - "priceInsights": { - "$ref": "PriceInsights", - "description": "Price insights fields requested by the merchant in the query. Field values are only set if the merchant queries `PriceInsightsProductView`." - }, - "productCluster": { - "$ref": "ProductCluster", - "description": "Product cluster fields requested by the merchant in the query. Field values are only set if the merchant queries `BestSellersProductClusterView`." - }, - "productView": { - "$ref": "ProductView", - "description": "Product fields requested by the merchant in the query. Field values are only set if the merchant queries `ProductView`." - }, - "segments": { - "$ref": "Segments", - "description": "Segmentation dimensions requested by the merchant in the query. Dimension values are only set for dimensions requested explicitly in the query." - }, - "topicTrends": { - "$ref": "TopicTrends", - "description": "[Topic trends](https://support.google.com/merchants/answer/13542370) fields requested by the merchant in the query. Field values are only set if the merchant queries `TopicTrendsView`." - } - }, - "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" - }, - "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" - }, - "ReturnPolicyOnline": { - "description": "Return policy online object. This is currently used to represent return policies for ads and free listings programs.", - "id": "ReturnPolicyOnline", - "properties": { - "countries": { - "description": "The countries of sale where the return policy is applicable. The values must be a valid 2 letter ISO 3166 code, e.g. \"US\".", - "items": { - "type": "string" - }, - "type": "array" - }, - "itemConditions": { - "description": "The item conditions that are accepted for returns. This is required to not be empty unless the type of return policy is noReturns.", - "items": { - "enum": [ - "ITEM_CONDITION_UNSPECIFIED", - "NEW", - "USED" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "New.", - "Used." - ], - "type": "string" - }, - "type": "array" - }, - "label": { - "description": "The unique user-defined label of the return policy. The same label cannot be used in different return policies for the same country. Policies with the label 'default' will apply to all products, unless a product specifies a return_policy_label attribute.", - "type": "string" - }, - "name": { - "description": "The name of the policy as shown in Merchant Center.", - "type": "string" - }, - "policy": { - "$ref": "ReturnPolicyOnlinePolicy", - "description": "The return policy." - }, - "restockingFee": { - "$ref": "ReturnPolicyOnlineRestockingFee", - "description": "The restocking fee that applies to all return reason categories. This would be treated as a free restocking fee if the value is not set." - }, - "returnMethods": { - "description": "The return methods of how customers can return an item. This value is required to not be empty unless the type of return policy is noReturns.", - "items": { - "enum": [ - "RETURN_METHOD_UNSPECIFIED", - "BY_MAIL", - "IN_STORE", - "AT_A_KIOSK" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "By mail.", - "In store.", - "At a kiosk." - ], - "type": "string" - }, - "type": "array" - }, - "returnPolicyId": { - "description": "Output only. Return policy ID generated by Google.", - "readOnly": true, - "type": "string" - }, - "returnPolicyUri": { - "description": "The return policy uri. This can used by Google to do a sanity check for the policy.", - "type": "string" - }, - "returnReasonCategoryInfo": { - "description": "The return reason category information. This required to not be empty unless the type of return policy is noReturns.", - "items": { - "$ref": "ReturnPolicyOnlineReturnReasonCategoryInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "ReturnPolicyOnlinePolicy": { - "description": "The available policies.", - "id": "ReturnPolicyOnlinePolicy", - "properties": { - "days": { - "description": "The number of days items can be returned after delivery, where one day is defined to be 24 hours after the delivery timestamp. Required for `numberOfDaysAfterDelivery` returns.", - "format": "int64", - "type": "string" - }, - "type": { - "description": "Policy type.", - "enum": [ - "TYPE_UNSPECIFIED", - "NUMBER_OF_DAYS_AFTER_DELIVERY", - "NO_RETURNS", - "LIFETIME_RETURNS" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "Number of days after a return is delivered.", - "No returns.", - "Life time returns." - ], - "type": "string" - } - }, - "type": "object" - }, - "ReturnPolicyOnlineRestockingFee": { - "description": "The restocking fee. This can either be a fixed fee or a micro percent.", - "id": "ReturnPolicyOnlineRestockingFee", - "properties": { - "fixedFee": { - "$ref": "PriceAmount", - "description": "Fixed restocking fee." - }, - "microPercent": { - "description": "Percent of total price in micros. 15,000,000 means 15% of the total price would be charged.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ReturnPolicyOnlineReturnReasonCategoryInfo": { - "description": "The return reason category info wrapper.", - "id": "ReturnPolicyOnlineReturnReasonCategoryInfo", - "properties": { - "returnLabelSource": { - "description": "The corresponding return label source. If the `ReturnMethod` field includes `BY_MAIL`, it is required to specify `ReturnLabelSource` for both `BUYER_REMORSE` and `ITEM_DEFECT` return reason categories.", - "enum": [ - "RETURN_LABEL_SOURCE_UNSPECIFIED", - "DOWNLOAD_AND_PRINT", - "IN_THE_BOX", - "CUSTOMER_RESPONSIBILITY" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "Download and print the label.", - "Label in the box.", - "Customers' responsibility to get the label." - ], - "type": "string" - }, - "returnReasonCategory": { - "description": "The return reason category.", - "enum": [ - "RETURN_REASON_CATEGORY_UNSPECIFIED", - "BUYER_REMORSE", - "ITEM_DEFECT" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "Buyer remorse.", - "Item defect." - ], - "type": "string" - }, - "returnShippingFee": { - "$ref": "ReturnPolicyOnlineReturnShippingFee", - "description": "The corresponding return shipping fee. This is only applicable when returnLabelSource is not the customer's responsibility." - } - }, - "type": "object" - }, - "ReturnPolicyOnlineReturnShippingFee": { - "description": "The return shipping fee. This can either be a fixed fee or a boolean to indicate that the customer pays the actual shipping cost.", - "id": "ReturnPolicyOnlineReturnShippingFee", - "properties": { - "fixedFee": { - "$ref": "PriceAmount", - "description": "Fixed return shipping fee amount. This value is only applicable when type is FIXED. We will treat the return shipping fee as free if type is FIXED and this value is not set." - }, - "type": { - "description": "Type of return shipping fee.", - "enum": [ - "TYPE_UNSPECIFIED", - "FIXED", - "CUSTOMER_PAYING_ACTUAL_FEE" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "The return shipping fee is a fixed value.", - "Customer will pay the actual return shipping fee." - ], - "type": "string" - } - }, - "type": "object" - }, - "Row": { - "id": "Row", - "properties": { - "cells": { - "description": "The list of cells that constitute the row. Must have the same length as `columnHeaders` for two-dimensional tables, a length of 1 for one-dimensional tables. Required.", - "items": { - "$ref": "Value" - }, - "type": "array" - } - }, - "type": "object" - }, - "SearchRequest": { - "description": "Request message for the ReportService.Search method.", - "id": "SearchRequest", - "properties": { - "pageSize": { - "description": "Number of ReportRows to retrieve in a single page. Defaults to 1000. Values above 5000 are coerced to 5000.", - "format": "int32", - "type": "integer" - }, - "pageToken": { - "description": "Token of the page to retrieve. If not specified, the first page of results is returned. In order to request the next page of results, the value obtained from `next_page_token` in the previous response should be used.", - "type": "string" - }, - "query": { - "description": "Required. Query that defines 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" - } - }, - "type": "object" - }, - "SearchResponse": { - "description": "Response message for the ReportService.Search method.", - "id": "SearchResponse", - "properties": { - "nextPageToken": { - "description": "Token which can be sent as `page_token` to retrieve the next page. If omitted, there are no subsequent pages.", - "type": "string" - }, - "results": { - "description": "Rows that matched the search query.", - "items": { - "$ref": "ReportRow" - }, - "type": "array" - } - }, - "type": "object" - }, - "Segments": { - "description": "Dimensions according to which metrics are segmented in the response. Values of product dimensions, such as `offer_id`, reflect the state of a product at the time of the corresponding event, for example, 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, for example, 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" - }, - "customerCountryCode": { - "description": "Code of the country where the customer is located at the time of the event. Represented in the ISO 3166 format. If the customer country cannot be determined, a special 'ZZ' code is returned.", - "type": "string" - }, - "date": { - "$ref": "Date", - "description": "Date in the merchant timezone to which metrics apply." - }, - "offerId": { - "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, for example, Free Product Listing.", - "enum": [ - "PROGRAM_UNSPECIFIED", - "SHOPPING_ADS", - "FREE_PRODUCT_LISTING", - "FREE_LOCAL_PRODUCT_LISTING", - "BUY_ON_GOOGLE_LISTING" - ], - "enumDescriptions": [ - "Not specified.", - "Shopping Ads.", - "Free Product Listing.", - "Free Local Product Listing.", - "*Deprecated*: This value is no longer supported. Retrieving all metrics for the `BUY_ON_GOOGLE_LISTING` program returns 0 starting from May 2024. 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" - }, - "Service": { - "id": "Service", - "properties": { - "active": { - "description": "A boolean exposing the active status of the shipping service. Required.", - "type": "boolean" - }, - "currency": { - "description": "The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.", - "type": "string" - }, - "deliveryCountry": { - "description": "The CLDR territory code of the country to which the service applies. Required.", - "type": "string" - }, - "deliveryTime": { - "$ref": "DeliveryTime", - "description": "Time spent in various aspects from order to the delivery of the product. Required." - }, - "eligibility": { - "description": "Eligibility for this service. Acceptable values are: - \"`All scenarios`\" - \"`All scenarios except Shopping Actions`\" - \"`Shopping Actions`\" ", - "type": "string" - }, - "minimumOrderValue": { - "$ref": "Price", - "description": "Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table." - }, - "minimumOrderValueTable": { - "$ref": "MinimumOrderValueTable", - "description": "Table of per store minimum order values for the pickup fulfillment type. Cannot be set together with minimum_order_value." - }, - "name": { - "description": "Free-form name of the service. Must be unique within target account. Required.", - "type": "string" - }, - "pickupService": { - "$ref": "PickupCarrierService", - "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.", - "items": { - "$ref": "RateGroup" - }, - "type": "array" - }, - "shipmentType": { - "description": "Type of locations this service ships orders to. Acceptable values are: - \"`delivery`\" - \"`pickup` (deprecated)\" - \"`local_delivery`\" - \"`collection_point`\" ", - "type": "string" - }, - "storeConfig": { - "$ref": "ServiceStoreConfig", - "description": "A list of stores your products are delivered from. This is only available for the local delivery shipment type." - } - }, - "type": "object" - }, - "ServiceStoreConfig": { - "description": "Stores that provide local delivery. Only valid with local delivery fulfillment.", - "id": "ServiceStoreConfig", - "properties": { - "cutoffConfig": { - "$ref": "ServiceStoreConfigCutoffConfig", - "description": "Time local delivery ends for the day. This can be either `local_cutoff_time` or `store_close_offset_hours`, if both are provided an error is thrown." - }, - "serviceRadius": { - "$ref": "Distance", - "description": "Maximum delivery radius. Only needed for local delivery fulfillment type." - }, - "storeCodes": { - "description": "A list of store codes that provide local delivery. If empty, then `store_service_type` must be `all_stores`, or an error is thrown. If not empty, then `store_service_type` must be `selected_stores`, or an error is thrown.", - "items": { - "type": "string" - }, - "type": "array" - }, - "storeServiceType": { - "description": "Indicates whether all stores listed by this merchant provide local delivery or not. Acceptable values are `all stores` and `selected stores`", - "type": "string" - } - }, - "type": "object" - }, - "ServiceStoreConfigCutoffConfig": { - "description": "Time local delivery ends for the day based on the local timezone of the store. `local_cutoff_time` and `store_close_offset_hours` are mutually exclusive.", - "id": "ServiceStoreConfigCutoffConfig", - "properties": { - "localCutoffTime": { - "$ref": "ServiceStoreConfigCutoffConfigLocalCutoffTime", - "description": "Time in hours and minutes in the local timezone when local delivery ends." - }, - "noDeliveryPostCutoff": { - "description": "Merchants can opt-out of showing n+1 day local delivery when they have a shipping service configured to n day local delivery. For example, if the shipping service defines same-day delivery, and it's past the cut-off, setting this field to `true` results in the calculated shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the same example, setting this field to `false` results in the calculated shipping time being one day. This is only for local delivery.", - "type": "boolean" - }, - "storeCloseOffsetHours": { - "description": "Represents cutoff time as the number of hours before store closing. Mutually exclusive with other fields (hour and minute).", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ServiceStoreConfigCutoffConfigLocalCutoffTime": { - "description": "Time in hours and minutes in the local timezone when local delivery ends.", - "id": "ServiceStoreConfigCutoffConfigLocalCutoffTime", - "properties": { - "hour": { - "description": "Hour local delivery orders must be placed by to process the same day.", - "format": "int64", - "type": "string" - }, - "minute": { - "description": "Minute local delivery orders must be placed by to process the same day.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ShippingSettings": { - "description": "The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.", - "id": "ShippingSettings", - "properties": { - "accountId": { - "description": "The ID of the account to which these account shipping settings belong. Ignored upon update, always present in get request responses.", - "format": "uint64", - "type": "string" - }, - "postalCodeGroups": { - "description": "A list of postal code groups that can be referred to in `services`. Optional.", - "items": { - "$ref": "PostalCodeGroup" - }, - "type": "array" - }, - "services": { - "description": "The target account's list of services. Optional.", - "items": { - "$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" - }, - "ShippingsettingsCustomBatchRequest": { - "id": "ShippingsettingsCustomBatchRequest", - "properties": { - "entries": { - "description": "The request entries to be processed in the batch.", - "items": { - "$ref": "ShippingsettingsCustomBatchRequestEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "ShippingsettingsCustomBatchRequestEntry": { - "description": "A batch entry encoding a single non-batch shippingsettings request.", - "id": "ShippingsettingsCustomBatchRequestEntry", - "properties": { - "accountId": { - "description": "The ID of the account for which to get/update account shipping settings.", - "format": "uint64", - "type": "string" - }, - "batchId": { - "description": "An entry ID, unique within the batch request.", - "format": "uint32", - "type": "integer" - }, - "merchantId": { - "description": "The ID of the managing account.", - "format": "uint64", - "type": "string" - }, - "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`get`\" - \"`update`\" ", - "type": "string" - }, - "shippingSettings": { - "$ref": "ShippingSettings", - "description": "The account shipping settings to update. Only defined if the method is `update`." - } - }, - "type": "object" - }, - "ShippingsettingsCustomBatchResponse": { - "id": "ShippingsettingsCustomBatchResponse", - "properties": { - "entries": { - "description": "The result of the execution of the batch requests.", - "items": { - "$ref": "ShippingsettingsCustomBatchResponseEntry" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsCustomBatchResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "ShippingsettingsCustomBatchResponseEntry": { - "description": "A batch entry encoding a single non-batch shipping settings response.", - "id": "ShippingsettingsCustomBatchResponseEntry", - "properties": { - "batchId": { - "description": "The ID of the request entry to which this entry responds.", - "format": "uint32", - "type": "integer" - }, - "errors": { - "$ref": "Errors", - "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsCustomBatchResponseEntry`\"", - "type": "string" - }, - "shippingSettings": { - "$ref": "ShippingSettings", - "description": "The retrieved or updated account shipping settings." - } - }, - "type": "object" - }, - "ShippingsettingsGetSupportedCarriersResponse": { - "id": "ShippingsettingsGetSupportedCarriersResponse", - "properties": { - "carriers": { - "description": "A list of supported carriers. May be empty.", - "items": { - "$ref": "CarriersCarrier" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsGetSupportedCarriersResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "ShippingsettingsGetSupportedHolidaysResponse": { - "id": "ShippingsettingsGetSupportedHolidaysResponse", - "properties": { - "holidays": { - "description": "A list of holidays applicable for delivery guarantees. May be empty.", - "items": { - "$ref": "HolidaysHoliday" - }, - "type": "array" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsGetSupportedHolidaysResponse`\".", - "type": "string" - } - }, - "type": "object" - }, - "ShippingsettingsGetSupportedPickupServicesResponse": { - "id": "ShippingsettingsGetSupportedPickupServicesResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsGetSupportedPickupServicesResponse`\".", - "type": "string" - }, - "pickupServices": { - "description": "A list of supported pickup services. May be empty.", - "items": { - "$ref": "PickupServicesPickupService" - }, - "type": "array" - } - }, - "type": "object" - }, - "ShippingsettingsListResponse": { - "id": "ShippingsettingsListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of shipping settings.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "ShippingSettings" - }, - "type": "array" - } - }, - "type": "object" - }, - "ShoppingAdsProgramStatus": { - "description": "Response message for GetShoppingAdsProgramStatus.", - "id": "ShoppingAdsProgramStatus", - "properties": { - "globalState": { - "description": "State of the program. `ENABLED` if there are offers for at least one region.", - "enum": [ - "PROGRAM_STATE_UNSPECIFIED", - "NOT_ENABLED", - "NO_OFFERS_UPLOADED", - "ENABLED" - ], - "enumDescriptions": [ - "State is unknown.", - "Program is not enabled for any country.", - "No products have been uploaded for any region. Upload products to Merchant Center.", - "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 eligibilityStatus will go from `WARNING` to `DISAPPROVED`. Only visible when your eligibilityStatus is WARNING. 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.", - "Account is waiting for review to start.", - "Program is currently onboarding. Upload valid offers to complete onboarding." - ], - "type": "string" - }, - "onboardingIssues": { - "description": "Issues that must be fixed to be eligible for 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 is eligible for review in a specific region. Only visible if `eligibilityStatus` is `DISAPPROVED`.", - "enum": [ - "REVIEW_ELIGIBILITY_UNSPECIFIED", - "ELIGIBLE", - "INELIGIBLE" - ], - "enumDescriptions": [ - "Review eligibility 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", - "WILL_BE_REVIEWED_AUTOMATICALLY", - "IS_RETIRED", - "ALREADY_REVIEWED" - ], - "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.", - "Account will be automatically reviewed at the end of the grace period.", - "Account is retired. Should not appear in MC.", - "Account has already been reviewed. You can't request further reviews." - ], - "type": "string" - }, - "reviewIneligibilityReasonDescription": { - "description": "Reason a program in a specific region isn’t eligible for review. Only visible if `reviewEligibilityStatus` is `INELIGIBLE`.", - "type": "string" - }, - "reviewIneligibilityReasonDetails": { - "$ref": "ShoppingAdsProgramStatusReviewIneligibilityReasonDetails", - "description": "Additional information for ineligibility. If `reviewIneligibilityReason` is `IN_COOLDOWN_PERIOD`, a timestamp for the end of the cooldown period is provided." - }, - "reviewIssues": { - "description": "Issues evaluated in the review process. Fix all issues before requesting a 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": { - "columnHeaders": { - "$ref": "Headers", - "description": "Headers of the table's columns. Optional: if not set then the table has only one dimension." - }, - "name": { - "description": "Name of the table. Required for subtables, ignored for the main table.", - "type": "string" - }, - "rowHeaders": { - "$ref": "Headers", - "description": "Headers of the table's rows. Required." - }, - "rows": { - "description": "The list of rows that constitute the table. Must have the same length as `rowHeaders`. Required.", - "items": { - "$ref": "Row" - }, - "type": "array" - } - }, - "type": "object" - }, - "TextWithTooltip": { - "description": "Block of text that may contain a tooltip with more information.", - "id": "TextWithTooltip", - "properties": { - "simpleTooltipValue": { - "description": "Value of the tooltip as a simple text.", - "type": "string" - }, - "simpleValue": { - "description": "Value of the message as a simple text.", - "type": "string" - }, - "tooltipIconStyle": { - "description": "The suggested type of an icon for tooltip, if a tooltip is present.", - "enum": [ - "TOOLTIP_ICON_STYLE_UNSPECIFIED", - "INFO", - "QUESTION" - ], - "enumDescriptions": [ - "Default value. Will never be provided by the API.", - "Used when the tooltip adds additional information to the context, the 'i' can be used as an icon.", - "Used when the tooltip shows helpful information, the '?' can be used as an icon." - ], - "type": "string" - } - }, - "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", - "properties": { - "id": { - "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", - "type": "string" - }, - "version": { - "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", - "type": "string" - } - }, - "type": "object" - }, - "TopicTrends": { - "description": "Topic trends fields requested by the merchant in the query. Field values are only set if the merchant queries `TopicTrendsView`. Forecast data can be queried up to 13 weeks by passing a future date in the `date` field. Historical data is measured daily, and forecasted data is projected weekly. All data points are normalized based on the highest data points returned in the response. If you make separate queries with different date ranges, you might see different values for the same date in each response. The recommended way to get a trend score of a topic is `last7_days_search_interest / last{$day}_days_search_interest - 1`. You can view trends for up to eight topics at a time.", - "id": "TopicTrends", - "properties": { - "customerCountryCode": { - "description": "Country trends are calculated for. Must be a two-letter country code (ISO 3166-1-alpha-2 code), for example, `“US”`.", - "type": "string" - }, - "date": { - "$ref": "Date", - "description": "Date the trend score was retrieved." - }, - "last120DaysSearchInterest": { - "description": "Search interest in the last 120 days, with the same normalization as search_interest. This field is only present for a past date.", - "format": "double", - "type": "number" - }, - "last30DaysSearchInterest": { - "description": "Search interest in the last 30 days, with the same normalization as search_interest. This field is only present for a past date.", - "format": "double", - "type": "number" - }, - "last7DaysSearchInterest": { - "description": "Search interest in the last 7 days, with the same normalization as search_interest. This field is only present for a past date.", - "format": "double", - "type": "number" - }, - "last90DaysSearchInterest": { - "description": "Search interest in the last 90 days, with the same normalization as search_interest. This field is only present for a past date.", - "format": "double", - "type": "number" - }, - "next7DaysSearchInterest": { - "description": "Estimated search interest in the next 7 days, with the same normalization as search_interest. This field is only present for a future date.", - "format": "double", - "type": "number" - }, - "searchInterest": { - "description": "Daily search interest, normalized to the time and country to make comparisons easier, with 100 representing peak popularity (from 0 to 100) for the requested time period and location.", - "format": "double", - "type": "number" - }, - "topic": { - "description": "Google-provided topic trends are calculated for. Only top eight topics are returned. Topic is what shoppers are searching for on Google, grouped by the same concept.", - "type": "string" - } - }, - "type": "object" - }, - "TransitTable": { - "id": "TransitTable", - "properties": { - "postalCodeGroupNames": { - "description": "A list of postal group names. The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service.", - "items": { - "type": "string" - }, - "type": "array" - }, - "rows": { - "items": { - "$ref": "TransitTableTransitTimeRow" - }, - "type": "array" - }, - "transitTimeLabels": { - "description": "A list of transit time labels. The last value can be `\"all other labels\"`. Example: `[\"food\", \"electronics\", \"all other labels\"]`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "TransitTableTransitTimeRow": { - "id": "TransitTableTransitTimeRow", - "properties": { - "values": { - "items": { - "$ref": "TransitTableTransitTimeRowTransitTimeValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "TransitTableTransitTimeRowTransitTimeValue": { - "id": "TransitTableTransitTimeRowTransitTimeValue", - "properties": { - "maxTransitTimeInDays": { - "description": "Must be greater than or equal to `minTransitTimeInDays`.", - "format": "uint32", - "type": "integer" - }, - "minTransitTimeInDays": { - "description": "Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "TriggerActionPayload": { - "description": "The payload for the triggered action.", - "id": "TriggerActionPayload", - "properties": { - "actionContext": { - "description": "Required. The context from the selected action. The value is obtained from rendered issues and needs to be sent back to identify the action that is being triggered.", - "type": "string" - }, - "actionInput": { - "$ref": "ActionInput", - "description": "Required. Input provided by the merchant." - } - }, - "type": "object" - }, - "TriggerActionResponse": { - "description": "Response informing about the started action.", - "id": "TriggerActionResponse", - "properties": { - "message": { - "description": "The message for merchant.", - "type": "string" - } - }, - "type": "object" - }, - "UndeleteConversionSourceRequest": { - "description": "Request message for the UndeleteConversionSource method.", - "id": "UndeleteConversionSourceRequest", - "properties": {}, - "type": "object" - }, - "UrlSettings": { - "description": "Specifications related to the `Checkout` URL. The `UriTemplate` is of the form `https://www.mystore.com/checkout?item_id={id}` where `{id}` will be automatically replaced with data from the merchant account with this attribute [offer_id](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.offer_id)", - "id": "UrlSettings", - "properties": { - "cartUriTemplate": { - "description": "URL template when the placeholders are expanded will redirect the buyer to the cart page on the merchant website with the selected item in cart.", - "type": "string" - }, - "checkoutUriTemplate": { - "description": "URL template when the placeholders are expanded will redirect the buyer to the merchant checkout page with the item in the cart.", - "type": "string" - } - }, - "type": "object" - }, - "Value": { - "description": "The single value of a rate group or the value of a rate group table's cell. Exactly one of `noShipping`, `flatRate`, `pricePercentage`, `carrierRateName`, `subtableName` must be set.", - "id": "Value", - "properties": { - "carrierRateName": { - "description": "The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.", - "type": "string" - }, - "flatRate": { - "$ref": "Price", - "description": "A flat rate. Can only be set if all other fields are not set." - }, - "noShipping": { - "description": "If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.", - "type": "boolean" - }, - "pricePercentage": { - "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 (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": { - "unit": { - "description": "Required. The weight unit. Acceptable values are: - \"`kg`\" - \"`lb`\" ", - "type": "string" - }, - "value": { - "description": "Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.", - "type": "string" - } - }, - "type": "object" - } - }, - "servicePath": "content/v2.1/", - "title": "Content API for Shopping", - "version": "v2.1" -} \ No newline at end of file diff --git a/discovery/curationpartners-v1.json b/discovery/curationpartners-v1.json new file mode 100644 index 00000000000..ecfc6acbbcf --- /dev/null +++ b/discovery/curationpartners-v1.json @@ -0,0 +1,2397 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/curation-partners": { + "description": "See, create, edit, and delete data entities in your Curation account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://curationpartners.googleapis.com/", + "batchPath": "batch", + "canonicalName": "CurationPartners", + "description": "Curation partners API is an externally available HTTP API for curators to programmatically manage their data segments and curated packages used by ad agencies.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/authorized-buyers/curation/apis/guides/curationpartners/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": "curationpartners:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://curationpartners.mtls.googleapis.com/", + "name": "curationpartners", + "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": { + "curators": { + "resources": { + "curatedPackages": { + "methods": { + "activate": { + "description": "Activates an existing curated package.", + "flatPath": "v1/curators/{curatorsId}/curatedPackages/{curatedPackagesId}:activate", + "httpMethod": "POST", + "id": "curationpartners.curators.curatedPackages.activate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the curated package to activate. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`", + "location": "path", + "pattern": "^curators/[^/]+/curatedPackages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:activate", + "request": { + "$ref": "ActivateCuratedPackageRequest" + }, + "response": { + "$ref": "CuratedPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "create": { + "description": "Creates a new curated package.", + "flatPath": "v1/curators/{curatorsId}/curatedPackages", + "httpMethod": "POST", + "id": "curationpartners.curators.curatedPackages.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent curator account where this curated package will be created. Format: `curators/{accountId}`", + "location": "path", + "pattern": "^curators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/curatedPackages", + "request": { + "$ref": "CuratedPackage" + }, + "response": { + "$ref": "CuratedPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "deactivate": { + "description": "Deactivates an existing curated package.", + "flatPath": "v1/curators/{curatorsId}/curatedPackages/{curatedPackagesId}:deactivate", + "httpMethod": "POST", + "id": "curationpartners.curators.curatedPackages.deactivate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the curated package to deactivate. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`", + "location": "path", + "pattern": "^curators/[^/]+/curatedPackages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:deactivate", + "request": { + "$ref": "DeactivateCuratedPackageRequest" + }, + "response": { + "$ref": "CuratedPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "get": { + "description": "Gets a curated package given its resource name.", + "flatPath": "v1/curators/{curatorsId}/curatedPackages/{curatedPackagesId}", + "httpMethod": "GET", + "id": "curationpartners.curators.curatedPackages.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the curated package to retrieve. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`", + "location": "path", + "pattern": "^curators/[^/]+/curatedPackages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "CuratedPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "list": { + "description": "Lists curated packages owned by the specified curator.", + "flatPath": "v1/curators/{curatorsId}/curatedPackages", + "httpMethod": "GET", + "id": "curationpartners.curators.curatedPackages.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Optional query string using the [Cloud API list filtering syntax](/authorized-buyers/apis/guides/list-filters). Supported columns for filtering are: * displayName * createTime * updateTime * state * feeCpm.currencyCode * feeCpm.units * feeCpm.nanos * floorPriceCpm.currencyCode * floorPriceCpm.units * floorPriceCpm.nanos", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. The server may return fewer results than requested. Max allowed page size is 500. If unspecified, the server will default to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListCuratedPackages` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent curator account which owns this collection of curated packages. Format: `curators/{accountId}`", + "location": "path", + "pattern": "^curators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/curatedPackages", + "response": { + "$ref": "ListCuratedPackagesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "patch": { + "description": "Updates an existing curated package.", + "flatPath": "v1/curators/{curatorsId}/curatedPackages/{curatedPackagesId}", + "httpMethod": "PATCH", + "id": "curationpartners.curators.curatedPackages.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique resource name for the curated package. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`", + "location": "path", + "pattern": "^curators/[^/]+/curatedPackages/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. 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, for example, 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": "CuratedPackage" + }, + "response": { + "$ref": "CuratedPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + } + } + }, + "dataSegments": { + "methods": { + "activate": { + "description": "Activates a data segment.", + "flatPath": "v1/curators/{curatorsId}/dataSegments/{dataSegmentsId}:activate", + "httpMethod": "POST", + "id": "curationpartners.curators.dataSegments.activate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of data segment to activate. Format: `curators/{accountId}/dataSegments/{curatorDataSegmentId}`", + "location": "path", + "pattern": "^curators/[^/]+/dataSegments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:activate", + "request": { + "$ref": "ActivateDataSegmentRequest" + }, + "response": { + "$ref": "DataSegment" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "create": { + "description": "Creates a data segment owned by the listed curator. The data segment will be created in the `ACTIVE` state, meaning it will be immediately available for buyers to use in preferred deals, private auction deals, and auction packages.", + "flatPath": "v1/curators/{curatorsId}/dataSegments", + "httpMethod": "POST", + "id": "curationpartners.curators.dataSegments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this data segment will be created. Format: `curators/{accountId}`", + "location": "path", + "pattern": "^curators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dataSegments", + "request": { + "$ref": "DataSegment" + }, + "response": { + "$ref": "DataSegment" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "deactivate": { + "description": "Deactivates a data segment.", + "flatPath": "v1/curators/{curatorsId}/dataSegments/{dataSegmentsId}:deactivate", + "httpMethod": "POST", + "id": "curationpartners.curators.dataSegments.deactivate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of data segment to deactivate. Format: `curators/{accountId}/dataSegments/{curatorDataSegmentId}`", + "location": "path", + "pattern": "^curators/[^/]+/dataSegments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:deactivate", + "request": { + "$ref": "DeactivateDataSegmentRequest" + }, + "response": { + "$ref": "DataSegment" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "get": { + "description": "Gets a data segment given its name.", + "flatPath": "v1/curators/{curatorsId}/dataSegments/{dataSegmentsId}", + "httpMethod": "GET", + "id": "curationpartners.curators.dataSegments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of data segment to get. Format: `curators/{accountId}/dataSegments/{curatorDataSegmentId}`", + "location": "path", + "pattern": "^curators/[^/]+/dataSegments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "DataSegment" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "list": { + "description": "List the data segments owned by a curator.", + "flatPath": "v1/curators/{curatorsId}/dataSegments", + "httpMethod": "GET", + "id": "curationpartners.curators.dataSegments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Requested page size. The server may return fewer results than requested. Max allowed page size is 500. If unspecified, the server will default to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The page token as returned. ListDataSegmentsResponse.nextPageToken", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the parent curator that can access the data segment. Format: `curators/{accountId}`", + "location": "path", + "pattern": "^curators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dataSegments", + "response": { + "$ref": "ListDataSegmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "patch": { + "description": "Updates a data segment.", + "flatPath": "v1/curators/{curatorsId}/dataSegments/{dataSegmentsId}", + "httpMethod": "PATCH", + "id": "curationpartners.curators.dataSegments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Identifier. The unique identifier for the data segment. Account ID corresponds to the account ID that created the segment. Format: `curators/{curatorAccountId}/dataSegments/{curatorDataSegmentId}`", + "location": "path", + "pattern": "^curators/[^/]+/dataSegments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. 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, for example, 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": "DataSegment" + }, + "response": { + "$ref": "DataSegment" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + } + } + }, + "reports": { + "methods": { + "create": { + "description": "Creates a `Report` object.", + "flatPath": "v1/curators/{curatorsId}/reports", + "httpMethod": "POST", + "id": "curationpartners.curators.reports.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this `Report` will be created. Format: `curators/{account_id}`", + "location": "path", + "pattern": "^curators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "delete": { + "description": "Deletes a `Report` object.", + "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}", + "httpMethod": "DELETE", + "id": "curationpartners.curators.reports.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the report to delete. Format: `curators/{account_id}/reports/{report_id}`", + "location": "path", + "pattern": "^curators/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "get": { + "description": "Retrieves a `Report` object.", + "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}", + "httpMethod": "GET", + "id": "curationpartners.curators.reports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the report. Format: `curators/{account_id}/reports/{report_id}`", + "location": "path", + "pattern": "^curators/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "list": { + "description": "Lists `Report` objects.", + "flatPath": "v1/curators/{curatorsId}/reports", + "httpMethod": "GET", + "id": "curationpartners.curators.reports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Expression to filter the response. See syntax details at https://developers.google.com/ad-manager/api/beta/filters", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Expression to specify sorting order. See syntax details at https://developers.google.com/ad-manager/api/beta/filters#order", + "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 50 `Reports` will be returned. The maximum value is 1000; values greater than 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReports` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of reports. Format: `curators/{account_id}`", + "location": "path", + "pattern": "^curators/[^/]+$", + "required": true, + "type": "string" + }, + "skip": { + "description": "Optional. Number of individual resources to skip while paginating.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/{+parent}/reports", + "response": { + "$ref": "ListReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "patch": { + "description": "Updates a `Report` object.", + "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}", + "httpMethod": "PATCH", + "id": "curationpartners.curators.reports.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the report. Report resource name have the form: `curators/{account_id}/reports/{report_id}`", + "location": "path", + "pattern": "^curators/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + }, + "run": { + "description": "Initiates the execution of an existing report asynchronously. Users can get the report by polling this operation using `OperationsService.GetOperation`. Poll every 5 seconds initially, with an exponential backoff. Once a report is complete, the operation will contain a `RunReportResponse` in its response field containing a report_result that can be passed to the `FetchReportResultRows` method to retrieve the report data.", + "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}:run", + "httpMethod": "POST", + "id": "curationpartners.curators.reports.run", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The report to run. Format: `curators/{account_id}/reports/{report_id}`", + "location": "path", + "pattern": "^curators/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:run", + "request": { + "$ref": "RunReportRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + } + }, + "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/curators/{curatorsId}/reports/{reportsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "curationpartners.curators.reports.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^curators/[^/]+/reports/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + } + } + }, + "results": { + "methods": { + "fetchRows": { + "description": "Returns the result rows from a completed report. The caller must have previously called `RunReport` and waited for that operation to complete. The rows will be returned according to the order specified by the `sorts` member of the report definition.", + "flatPath": "v1/curators/{curatorsId}/reports/{reportsId}/results/{resultsId}:fetchRows", + "httpMethod": "GET", + "id": "curationpartners.curators.reports.results.fetchRows", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The report result being fetched. Format: `curators/{account_id}/reports/{report_id}/results/{report_result_id}`", + "location": "path", + "pattern": "^curators/[^/]+/reports/[^/]+/results/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 1,000 rows will be returned. The maximum value is 10,000; values greater than 10,000 will be reduced to 10,000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `FetchReportResultRows` call. Provide this to retrieve the second and subsequent batches of rows.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:fetchRows", + "response": { + "$ref": "FetchReportResultRowsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + } + } + } + } + } + } + }, + "mediaPlanners": { + "methods": { + "list": { + "description": "Lists all media planner accounts that the caller has access to. For curators, this will return all media planners that have accepted curator terms. For other accounts, attempting to list media planners will return an error.", + "flatPath": "v1/mediaPlanners", + "httpMethod": "GET", + "id": "curationpartners.mediaPlanners.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Optional query string using the [Cloud API list filtering syntax](/authorized-buyers/apis/guides/list-filters). Supported columns for filtering are: * `name` * `displayName` * `ancestorNames`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of media planners to return. If unspecified, at most 100 media planners will be returned. The maximum value is 500; values above 500 will be coerced to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.This value is received from a previous `ListMediaPlanners` call in ListMediaPlannersResponse.nextPageToken.", + "location": "query", + "type": "string" + } + }, + "path": "v1/mediaPlanners", + "response": { + "$ref": "ListMediaPlannersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/curation-partners" + ] + } + } + } + }, + "revision": "20260901", + "rootUrl": "https://curationpartners.googleapis.com/", + "schemas": { + "AccessControlSettings": { + "description": "Settings for controlling access to a curated package.", + "id": "AccessControlSettings", + "properties": { + "allowlistedMediaPlanners": { + "description": "Required. Immutable. The list of media planners that are explicitly granted access to the curated package. Eligible media planners can be found in the mediaPlanners.list method. Only a single media planner may be allowlisted at this time. Format: `mediaPlanners/{mediaPlannerAccountId}`", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ActivateCuratedPackageRequest": { + "description": "Request message for ActivateCuratedPackage.", + "id": "ActivateCuratedPackageRequest", + "properties": {}, + "type": "object" + }, + "ActivateDataSegmentRequest": { + "description": "Request message for activating a data segment", + "id": "ActivateDataSegmentRequest", + "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 (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" + }, + "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" + }, + "CuratedPackage": { + "description": "Represents a curated package of inventory created and managed by a Curator.", + "id": "CuratedPackage", + "properties": { + "accessSettings": { + "$ref": "AccessControlSettings", + "description": "Required. Settings for controlling access to the curated package. Access to this curated package is limited to the allowlisted media planners and the creator. Buyers and bidders can not be allowlisted for or have direct access to this resource." + }, + "createTime": { + "description": "Output only. The timestamp when the curated package was created. Can be used to filter the response of the curatedPackages.list method.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "curationFeeVisibility": { + "description": "Optional. Immutable. The visibility of the combined curation package fee and data segment fees (the total curation fee).", + "enum": [ + "CURATION_FEE_VISIBILITY_UNSPECIFIED", + "DISCLOSED", + "NON_DISCLOSED" + ], + "enumDescriptions": [ + "The total curation fee visibility is unspecified.", + "The total curation fee is visible to all buyers. This is the default value if not set.", + "The total curation fee is not visible to all buyers." + ], + "type": "string" + }, + "description": { + "description": "Optional. A description of the curated package, provided by the curator.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name assigned to the curated package by the curator. Can be used to filter the response of the curatedPackages.list method.", + "type": "string" + }, + "feeCpm": { + "$ref": "Money", + "description": "Optional. The CPM fee charged by the curator to buyers using this curated package. Can be used to filter the response of the curatedPackages.list method." + }, + "floorPriceCpm": { + "$ref": "Money", + "description": "Optional. The minimum CPM a buyer has to bid to participate in auctions for inventory in this curated package. Can be used to filter the response of the curatedPackages.list method." + }, + "millipercentOfMediaFee": { + "description": "Optional. The fee will be charged as a percentage of the impression cost, represented in millipercent. For example, 1% is represented as 1000.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Identifier. The unique resource name for the curated package. Format: `curators/{accountId}/curatedPackages/{curatedPackageId}`", + "type": "string" + }, + "state": { + "description": "Output only. The state of the curated package. Can be used to filter the response of the curatedPackages.list method.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE" + ], + "enumDescriptions": [ + "Default value.", + "The curated package is active.", + "The curated package is inactive." + ], + "readOnly": true, + "type": "string" + }, + "targeting": { + "$ref": "PackageTargeting", + "description": "Optional. Targeting criteria for the curated package." + }, + "updateTime": { + "description": "Output only. The timestamp when the curated package was last updated. Can be used to filter the response of the curatedPackages.list method.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataSegment": { + "description": "Defines an identifier for a segment of inventory that can be targeted by curators or media planners in the deals or auction packages UI. Curation of inventory is done by curators on external platforms. -- Next ID: 9 --", + "id": "DataSegment", + "properties": { + "cpmFee": { + "$ref": "Money", + "description": "Optional. A fixed fee charged per thousand impressions. Once set, the currency code cannot be changed." + }, + "createTime": { + "description": "Output only. Time the data segment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "millipercentOfMediaFee": { + "description": "Optional. The fee will be charged as a percentage of the impression cost, represented in millipercent. For example, 1% is represented as 1000.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Immutable. Identifier. The unique identifier for the data segment. Account ID corresponds to the account ID that created the segment. Format: `curators/{curatorAccountId}/dataSegments/{curatorDataSegmentId}`", + "type": "string" + }, + "state": { + "description": "Output only. The state of the data segment.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE", + "SUSPENDED" + ], + "enumDescriptions": [ + "Default value.", + "The data segment is active.", + "The data segment is inactive.", + "The data segment is suspended and cannot be activated." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Time the data segment was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "userListId": { + "description": "Optional. Immutable. The ID of the User List wrapped by this Data Segment. Curators with a linked Data Partner account can create a data segment that wraps a user list owned by the linked Data Partner account. User lists can be uploaded and managed using the [Data Manager API](https://developers.google.com/data-manager/api/data-partners/audiences). Linking a user list to a data segment lets you define a segment of inventory that is based on an audience you create.", + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateRange": { + "description": "A date range for a report.", + "id": "DateRange", + "properties": { + "fixed": { + "$ref": "FixedDateRange", + "description": "A fixed date range." + }, + "relative": { + "description": "A relative date range.", + "enum": [ + "RELATIVE_DATE_RANGE_UNSPECIFIED", + "TODAY", + "YESTERDAY", + "THIS_WEEK_TO_DATE", + "THIS_WEEK_TO_YESTERDAY", + "THIS_MONTH_TO_DATE", + "THIS_MONTH_TO_YESTERDAY", + "THIS_QUARTER_TO_DATE", + "THIS_QUARTER_TO_YESTERDAY", + "THIS_YEAR_TO_DATE", + "THIS_YEAR_TO_YESTERDAY", + "LAST_WEEK", + "LAST_WEEK_STARTING_SUNDAY", + "LAST_MONTH", + "LAST_QUARTER", + "LAST_YEAR", + "LAST_7_DAYS", + "LAST_30_DAYS", + "LAST_60_DAYS", + "LAST_90_DAYS", + "LAST_93_DAYS", + "LAST_180_DAYS", + "LAST_360_DAYS", + "LAST_365_DAYS", + "LAST_3_MONTHS", + "LAST_6_MONTHS", + "LAST_12_MONTHS", + "ALL_AVAILABLE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The date the report is run.", + "The date a day before the date that the report is run.", + "From the beginning of the calendar week in which the up to and including the day the report is run.", + "From the beginning of the calendar week in which the report is run, up to and including the day before the report is run.", + "From the beginning of the calendar month in which the report is run, to up to and including the day the report is run.", + "From the beginning of the calendar month in which the report is run, up to and including the day before the report is run.", + "From the beginning of the calendar quarter in which the report is run, up to and including the day the report is run.", + "From the beginning of the calendar quarter in which the report is run, up to and including the day before the report is run.", + "From the beginning of the calendar year in which the report is run, to up to and including the day the report is run.", + "From the beginning of the calendar year in which the report is run, to up to and including the day before the report is run.", + "The entire previous calendar week, Monday to Sunday (inclusive), preceding the calendar week the report is run.", + "The entire previous calendar week, Sunday to Saturday (inclusive), preceding the calendar week the report is run.", + "The entire previous calendar month preceding the calendar month the report is run.", + "The entire previous calendar quarter preceding the calendar quarter the report is run.", + "The entire previous calendar year preceding the calendar year the report is run.", + "The 7 days preceding the day the report is run.", + "The 30 days preceding the day the report is run.", + "The 60 days preceding the day the report is run.", + "The 90 days preceding the day the report is run.", + "The 93 days preceding the day the report is run.", + "The 180 days preceding the day the report is run.", + "The 360 days preceding the day the report is run.", + "The 365 days preceding the day the report is run.", + "The entire previous 3 calendar months preceding the calendar month the report is run.", + "The entire previous 6 calendar months preceding the calendar month the report is run.", + "The entire previous 12 calendar months preceding the calendar month the report is run.", + "From 3 years before the report is run, to the day before the report is run, inclusive." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeactivateCuratedPackageRequest": { + "description": "Request message for DeactivateCuratedPackage.", + "id": "DeactivateCuratedPackageRequest", + "properties": {}, + "type": "object" + }, + "DeactivateDataSegmentRequest": { + "description": "Request message for deactivating a data segment", + "id": "DeactivateDataSegmentRequest", + "properties": {}, + "type": "object" + }, + "DoubleList": { + "description": "A list of double values.", + "id": "DoubleList", + "properties": { + "values": { + "description": "The values", + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FetchReportResultRowsResponse": { + "description": "The response message for the fetch report result rows endpoint.", + "id": "FetchReportResultRowsResponse", + "properties": { + "dateRanges": { + "description": "The computed fixed date ranges this report includes. Only returned with the first page of results (when page_token is not included in the request).", + "items": { + "$ref": "FixedDateRange" + }, + "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" + }, + "rows": { + "description": "Up to `page_size` rows of report data.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "runTime": { + "description": "The time at which the report was scheduled to run. For non-scheduled reports, this is the time at which the report was requested to be run.", + "format": "google-datetime", + "type": "string" + }, + "totalRowCount": { + "description": "The total number of rows available from this report. Useful for pagination. Only returned with the first page of results (when page_token is not included in the request).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Field": { + "description": "A dimension or a metric in a report.", + "id": "Field", + "properties": { + "dimension": { + "description": "The dimension this field represents.", + "enum": [ + "DIMENSION_UNSPECIFIED", + "ADVERTISER_DOMAIN", + "COUNTRY", + "CURATION_DATA_SEGMENT_ID", + "CURATION_DATA_SEGMENT_RESPONSE_STATUS", + "CURATION_DATA_SEGMENT_RESPONSE_STATUS_NAME", + "CURATOR_FEE_TYPE", + "DATE", + "DEAL_ID", + "DEAL_NAME", + "DETECTED_ADVERTISER_NAME", + "DSP_NAME", + "DSP_SEAT_ID", + "ENVIRONMENT", + "ENVIRONMENT_NAME", + "HOLDING_COMPANY_NAME", + "HOUR", + "MOBILE_APP_ID", + "MOBILE_APP_NAME", + "MOBILE_OS", + "MONTH", + "PACKAGE_FEE_VISIBILITY", + "PLATFORM", + "PUBLISHER_DOMAIN", + "PUBLISHER_ID", + "PUBLISHER_NAME", + "WEEK" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The domain of the advertiser.", + "Display name of a country.", + "The ID of the data segment created by a curator.", + "The response status of the data segment requests in the Real-time curation. Refer to https://developers.google.com/authorized-buyers/curation/get-started/start for details.", + "The localized display name of the response status of the data segment requests in the Real-time curation. Refer to https://developers.google.com/authorized-buyers/curation/get-started/start for details.", + "The type of curation service (e.g. packaging or data segment).", + "Date.", + "Deal ID.", + "Deal name.", + "Display name of the detected advertiser.", + "Display name of the DSP.", + "DSP Seat ID.", + "The user device and container environment where the impression originates. Supported values are \"app\" and \"web\".", + "The localized display name of the user device and container environment where the impression originates. Supported values are \"app\" and \"web\".", + "Display name of the holding company.", + "Hour.", + "Mobile App ID.", + "Mobile App Name.", + "Mobile operating system.", + "Month.", + "The visibility of the package fee (e.g. disclosed or non-disclosed).", + "Platform, e.g. \"desktop\" vs. \"mobile\".", + "Publisher domain.", + "Publisher identifier.", + "Publisher name.", + "Week." + ], + "type": "string" + }, + "metric": { + "description": "The metric this field represents.", + "enum": [ + "METRIC_UNSPECIFIED", + "ACTIVE_VIEW_MEASURABILITY_RATE", + "ACTIVE_VIEW_MEASURABLE", + "ACTIVE_VIEW_VIEWABILITY_RATE", + "ACTIVE_VIEW_VIEWABLE", + "AUCTIONS_WON", + "BIDS", + "BIDS_IN_AUCTION", + "BID_REQUESTS", + "CLICKS", + "CURATION_PARTNER_FEE", + "DATA_SEGMENT_REQUESTS", + "IMPRESSIONS", + "SPEND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Active View measurability rate.", + "Active View measurable.", + "Active view viewability rate.", + "Active View viewable imps.", + "Auctions won.", + "Bids.", + "Bids in auction.", + "Bid requests.", + "Clicks.", + "Curator fee. This will be redacted to 0.00 if the package's visibility is set to non-disclosed. Use the PACKAGE_FEE_VISIBILITY dimension to check if the package's fee is disclosed.", + "Number of data segment requests sent in the Real-time curation.", + "Impressions.", + "Spend in reporting currency specified in the request. Defaults to USD." + ], + "type": "string" + } + }, + "type": "object" + }, + "FieldFilter": { + "description": "A filter on a specific field.", + "id": "FieldFilter", + "properties": { + "field": { + "$ref": "Field", + "description": "Required. The field to filter on." + }, + "operation": { + "description": "Required. The operation of this filter.", + "enum": [ + "IN", + "NOT_IN", + "CONTAINS", + "NOT_CONTAINS", + "LESS_THAN", + "LESS_THAN_EQUALS", + "GREATER_THAN", + "GREATER_THAN_EQUALS", + "BETWEEN", + "MATCHES", + "NOT_MATCHES" + ], + "enumDescriptions": [ + "For scalar operands, checks if the operand is in the set of provided filter values. For list operands, checks if any element in the operand is in the set of provided filter values. Default value.", + "For scalar operands, checks that the operand is not in the set of provided filter values. For list operands, checks that none of the elements in the operand is in the set of provided filter values.", + "For scalar string operands, checks if the operand contains any of the provided filter substrings. For string list operands, checks if any string in the operand contains any of the provided filter substrings.", + "For scalar string operands, checks that the operand contains none of the provided filter substrings. For string list operands, checks that none of the strings in the operand contain none of the provided filter substrings.", + "Operand is less than the provided filter value.", + "Operand is less than or equal to provided filter value.", + "Operand is greater than provided filter value.", + "Operand is greater than or equal to provided filter value.", + "Operand is between provided filter values.", + "Operand matches against a regular expression or set of regular expressions (one must match).", + "Operand negative matches against a regular expression or set of regular expressions (none must match)." + ], + "type": "string" + }, + "values": { + "description": "Required. Values to filter to.", + "items": { + "$ref": "ReportValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "Filter": { + "description": "A filter over one or more fields.", + "id": "Filter", + "properties": { + "andFilter": { + "$ref": "FilterList", + "description": "A list of filters whose results are AND-ed." + }, + "fieldFilter": { + "$ref": "FieldFilter", + "description": "A filter on a single field." + }, + "notFilter": { + "$ref": "Filter", + "description": "A filter whose result is negated." + }, + "orFilter": { + "$ref": "FilterList", + "description": "A list of filters whose results are OR-ed." + } + }, + "type": "object" + }, + "FilterList": { + "description": "A list of filters.", + "id": "FilterList", + "properties": { + "filters": { + "description": "Required. A list of filters.", + "items": { + "$ref": "Filter" + }, + "type": "array" + } + }, + "type": "object" + }, + "FixedDateRange": { + "description": "A date range between two fixed dates (inclusive of end date).", + "id": "FixedDateRange", + "properties": { + "endDate": { + "$ref": "Date", + "description": "Required. The end date (inclusive) of this date range." + }, + "startDate": { + "$ref": "Date", + "description": "Required. The start date of this date range." + } + }, + "type": "object" + }, + "IntList": { + "description": "A list of integer values.", + "id": "IntList", + "properties": { + "values": { + "description": "The values", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListCuratedPackagesResponse": { + "description": "Response message for ListCuratedPackages.", + "id": "ListCuratedPackagesResponse", + "properties": { + "curatedPackages": { + "description": "The list of curated packages.", + "items": { + "$ref": "CuratedPackage" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the ListCuratedPackagesRequest.pageToken field in the subsequent call to `ListCuratedPackages` method to retrieve the next page of results. If empty, then there are no more results.", + "type": "string" + } + }, + "type": "object" + }, + "ListDataSegmentsResponse": { + "description": "Response message for listing data segments.", + "id": "ListDataSegmentsResponse", + "properties": { + "dataSegments": { + "description": "The list of data segments.", + "items": { + "$ref": "DataSegment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token for fetching the next page of results. Pass this value in the ListDataSegmentsRequest.pageToken field in the subsequent call to the `ListDataSegments` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListMediaPlannersResponse": { + "description": "A response containing media planner account information.", + "id": "ListMediaPlannersResponse", + "properties": { + "mediaPlanners": { + "description": "List of media planners.", + "items": { + "$ref": "MediaPlanner" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token which can be passed to a subsequent call to the ListMediaPlanners method to retrieve the next page of results in ListMediaPlannersRequest.page_token.", + "type": "string" + } + }, + "type": "object" + }, + "ListReportsResponse": { + "description": "Response object for `ListReportsResponse` containing matching `Report` objects.", + "id": "ListReportsResponse", + "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" + }, + "reports": { + "description": "The `Report` objects from the specified network.", + "items": { + "$ref": "Report" + }, + "type": "array" + }, + "totalSize": { + "description": "Total number of `Report` objects. If a filter was included in the request, this reflects the total number after the filtering is applied. `total_size` won't be calculated in the response unless it has been included in a response field mask. The response field mask can be provided to the method by using the URL parameter `$fields` or `fields`, or by using the HTTP/gRPC header `X-Goog-FieldMask`. For more information, see https://developers.google.com/ad-manager/api/beta/field-masks", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "MediaPlanner": { + "description": "Represents a media planner account.", + "id": "MediaPlanner", + "properties": { + "accountId": { + "deprecated": true, + "description": "Output only. Account ID of the media planner.", + "readOnly": true, + "type": "string" + }, + "ancestorNames": { + "description": "Output only. The ancestor names of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId}`. Can be used to filter the response of the mediaPlanners.list method.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "displayName": { + "description": "Output only. The display name of the media planner. Can be used to filter the response of the mediaPlanners.list method.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique resource name of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId}`. Can be used to filter the response of the mediaPlanners.list method.", + "type": "string" + } + }, + "type": "object" + }, + "MetricValueGroup": { + "description": "Contains all metric values requested for a single date range and set of column dimension values (returned in the columns field of the response). The order of the metrics in each field corresponds to the order of the metrics specified in the request.", + "id": "MetricValueGroup", + "properties": { + "primaryValues": { + "description": "Data for the PRIMARY MetricValueType.", + "items": { + "$ref": "ReportValue" + }, + "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": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "PackagePlacementTargeting": { + "description": "Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed.", + "id": "PackagePlacementTargeting", + "properties": { + "includedMobileAppCategoryTargeting": { + "description": "Optional. The list of targeted mobile app categories.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "mobileAppTargeting": { + "$ref": "StringTargetingDimension", + "description": "Optional. The list of targeted or excluded mobile application IDs that publishers own. Currently, only Android and Apple apps are supported. 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." + }, + "uriTargeting": { + "$ref": "StringTargetingDimension", + "description": "Optional. The list of targeted or excluded URLs. The domains should have the http/https stripped (for example, google.com), and can contain a max of 5 paths per url." + } + }, + "type": "object" + }, + "PackagePublisherProvidedSignalsTargeting": { + "description": "Represents targeting about publisher provided signals. Different publisher provided signals types will be logically OR'ed.", + "id": "PackagePublisherProvidedSignalsTargeting", + "properties": { + "audienceTargeting": { + "$ref": "TaxonomyTargeting", + "description": "Optional. The list of targeted or excluded audience IDs. Based off of IAB Audience Taxonomy version 1.1 (https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Audience%20Taxonomies/Audience%20Taxonomy%201.1.tsv)" + }, + "contentTargeting": { + "$ref": "TaxonomyTargeting", + "description": "Optional. The list of targeted or excluded content IDs. Based off of IAB Content Taxonomy version 2.2 (https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Content%20Taxonomies/Content%20Taxonomy%202.2.tsv)" + }, + "videoAndAudioSignalsTargeting": { + "$ref": "StringTargetingDimension", + "description": "Optional. The list of targeted and excluded video and audio signals IDs. These are additional signals supported by publisher provided signals." + } + }, + "type": "object" + }, + "PackageTargeting": { + "description": "Targeting criteria for curated and auction packages.", + "id": "PackageTargeting", + "properties": { + "geoTargeting": { + "$ref": "CriteriaTargeting", + "description": "Optional. The geo criteria IDs to be included or excluded as defined in https://storage.googleapis.com/adx-rtb-dictionaries/geo-table.csv. If unset, inventory will be targeted regardless of geo." + }, + "includedAcceleratedMobilePageType": { + "description": "Optional. The targeted accelerated mobile page type. If unset, inventory will be targeted regardless of AMP status.", + "enum": [ + "ACCELERATED_MOBILE_PAGE_TYPE_UNSPECIFIED", + "ACCELERATED_MOBILE_PAGE_TYPE_NON_AMP", + "ACCELERATED_MOBILE_PAGE_TYPE_AMP", + "ACCELERATED_MOBILE_PAGE_TYPE_AMP_STORY" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets inventory on standard web pages not using any AMP framework.", + "Targets inventory on pages built using the core AMP HTML framework.", + "Targets inventory on pages using the AMP Story (STAMP) format, which is optimized for visual storytelling (e.g., tappable full-screen experiences)." + ], + "type": "string" + }, + "includedAdSizes": { + "description": "Optional. The list of ad sizes to target. If unset, inventory will be targeted regardless of ad size. Curated packages supports `PIXEL` and `INTERSTITIAL` ad sizes.", + "items": { + "$ref": "AdSize" + }, + "type": "array" + }, + "includedAuthorizedSellerStatuses": { + "description": "Optional. The included list of targeted authorized seller statuses. If empty, inventory will be targeted regardless of seller status.", + "items": { + "enum": [ + "AUTHORIZED_SELLER_STATUS_UNSPECIFIED", + "AUTHORIZED_SELLER_STATUS_DIRECT", + "AUTHORIZED_SELLER_STATUS_RESELLER" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets inventory where the seller is declared as 'DIRECT'. This indicates the publisher (content owner) directly controls the seller account and has a direct business contract with the advertising system for this account.", + "Targets inventory where the seller is declared as 'RESELLER'. This indicates the publisher has authorized another entity to operate the listed seller account and resell their ad space." + ], + "type": "string" + }, + "type": "array" + }, + "includedCreativeFormat": { + "description": "Optional. The creative format to target. If unset, all creative markup types are targeted.", + "enum": [ + "CREATIVE_FORMAT_UNSPECIFIED", + "CREATIVE_FORMAT_DISPLAY", + "CREATIVE_FORMAT_VIDEO", + "CREATIVE_FORMAT_AUDIO" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets ad slots intended for HTML display creatives.", + "Targets ad slots intended for video creatives.", + "Targets ad slots intended for audio creatives." + ], + "type": "string" + }, + "includedDataSegments": { + "description": "Optional. The active data segments to be targeted. If unset, inventory will be targeted regardless of data segments. Format: `curators/{account_id}/dataSegments/{data_segment_id}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedDeviceTypes": { + "description": "Optional. The list of included device types to target. If empty, all device types are targeted.", + "items": { + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "DEVICE_TYPE_PERSONAL_COMPUTER", + "DEVICE_TYPE_CONNECTED_TV", + "DEVICE_TYPE_PHONE", + "DEVICE_TYPE_TABLET" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets desktop or laptop computers.", + "Targets connected TVs: devices that stream TV content, including smart TVs, gaming consoles, and streaming boxes/sticks.", + "Targets high-end mobile devices.", + "Targets tablet devices." + ], + "type": "string" + }, + "type": "array" + }, + "includedEnvironment": { + "description": "Optional. The environment to target. If unspecified, all environments are targeted.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_SITE", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets inventory rendered within an ad-supported website.", + "Targets inventory within a mobile application." + ], + "type": "string" + }, + "includedNativeInventoryTypes": { + "description": "Optional. The targeted native inventory types. If empty, inventory will be targeted regardless of native inventory type.", + "items": { + "enum": [ + "NATIVE_INVENTORY_TYPE_UNSPECIFIED", + "NATIVE_INVENTORY_TYPE_NATIVE_ONLY", + "NATIVE_INVENTORY_TYPE_NATIVE_OR_BANNER" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets ad slots that *only* accept and render native ads.", + "Targets ad slots that accept and render either native or banner ads." + ], + "type": "string" + }, + "type": "array" + }, + "includedOpenMeasurementTypes": { + "description": "Optional. The list of targeted open measurement types. If empty, inventory will be targeted regardless of Open Measurement support.", + "items": { + "enum": [ + "OPEN_MEASUREMENT_TYPE_UNSPECIFIED", + "OPEN_MEASUREMENT_TYPE_OMID_V1" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets inventory that supports the v1 Open Measurement Interface Definition (OMID)." + ], + "type": "string" + }, + "type": "array" + }, + "includedRestrictedCategories": { + "description": "Optional. The list of targeted restricted categories. If empty, inventory will be targeted regardless of restricted categories.", + "items": { + "enum": [ + "RESTRICTED_CATEGORY_UNSPECIFIED", + "RESTRICTED_CATEGORY_ALCOHOL", + "RESTRICTED_CATEGORY_GAMBLING" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets inventory where alcohol ads are allowed by the publisher.", + "Targets inventory where gambling ads are allowed by the publisher." + ], + "type": "string" + }, + "type": "array" + }, + "includedRewardedType": { + "description": "Optional. The targeted rewarded type. If unset, inventory will be targeted regardless of rewarded type.", + "enum": [ + "REWARDED_TYPE_UNSPECIFIED", + "REWARDED_TYPE_NON_REWARDED", + "REWARDED_TYPE_REWARDED" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets inventory that does NOT offer an explicit reward to the user for watching or interacting with the ad.", + "Targets inventory that offers a reward to the user in exchange for watching or engaging with the ad." + ], + "type": "string" + }, + "languageTargeting": { + "$ref": "StringTargetingDimension", + "description": "Optional. The languages to target. If unset, inventory will be targeted regardless of language. See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of supported language codes." + }, + "minimumPredictedClickThroughRatePercentageMillis": { + "description": "Optional. The targeted minimum predicted click through rate, ranging in values [10, 10000] (0.01% - 10%). A value of 50 means that the configuration will only match adslots for which we predict at least 0.05% click through rate. An unset value indicates inventory will be targeted regardless of predicted click through rate.", + "format": "int64", + "type": "string" + }, + "minimumPredictedViewabilityPercentage": { + "description": "Optional. The targeted minimum predicted viewability percentage. This value must be a multiple of 10 between 10 and 90 (inclusive). For example, 10 is valid, but 0, 15, and 100 are not. A value of 10 means that the configuration will only match adslots for which we predict at least 10% viewability. An unset value indicates inventory will be targeted regardless of predicted viewability.", + "format": "int64", + "type": "string" + }, + "placementTargeting": { + "$ref": "PackagePlacementTargeting", + "description": "Optional. Placement targeting information, for example, URL, mobile applications." + }, + "publisherProvidedSignalsTargeting": { + "$ref": "PackagePublisherProvidedSignalsTargeting", + "description": "Optional. The publisher provided signals to target. If unset, inventory will be targeted regardless of publisher provided signals." + }, + "publisherTargeting": { + "$ref": "StringTargetingDimension", + "description": "Optional. The targeted publishers. If unset, inventory will be targeted regardless of publisher. Publishers are identified by their publisher ID from ads.txt / app-ads.txt. See https://iabtechlab.com/ads-txt/ and https://iabtechlab.com/app-ads-txt/ for more details." + }, + "verticalTargeting": { + "$ref": "CriteriaTargeting", + "description": "Optional. The verticals included or excluded as defined in https://developers.google.com/authorized-buyers/rtb/downloads/publisher-verticals. If unset, inventory will be targeted regardless of vertical." + }, + "videoTargeting": { + "$ref": "PackageVideoTargeting", + "description": "Optional. Video specific targeting criteria." + } + }, + "type": "object" + }, + "PackageVideoTargeting": { + "description": "Video specific targeting criteria.", + "id": "PackageVideoTargeting", + "properties": { + "includedContentDeliveryMethod": { + "description": "Optional. The targeted video delivery method. If unset, inventory will be targeted regardless of video delivery method.", + "enum": [ + "CONTENT_DELIVERY_METHOD_UNSPECIFIED", + "CONTENT_DELIVERY_METHOD_STREAMING", + "CONTENT_DELIVERY_METHOD_PROGRESSIVE" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Targets video content that is being broadcast live.", + "Targets video content that is transferred incrementally as client's playback requires." + ], + "type": "string" + }, + "includedMaximumAdDurationTargeting": { + "description": "Optional. The targeted maximum video ad duration. If unset, inventory will be targeted regardless of maximum video ad duration.", + "enum": [ + "MAXIMUM_VIDEO_AD_DURATION_UNSPECIFIED", + "MAXIMUM_VIDEO_AD_DURATION_FIFTEEN_SECONDS", + "MAXIMUM_VIDEO_AD_DURATION_TWENTY_SECONDS", + "MAXIMUM_VIDEO_AD_DURATION_THIRTY_SECONDS", + "MAXIMUM_VIDEO_AD_DURATION_SIXTY_SECONDS", + "MAXIMUM_VIDEO_AD_DURATION_NINETY_SECONDS", + "MAXIMUM_VIDEO_AD_DURATION_ONE_HUNDRED_TWENTY_SECONDS" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Applies to video ads with a duration up to 15 seconds (0 < duration <= 15s).", + "Applies to video ads with a duration up to 20 seconds (0 < duration <= 20s).", + "Applies to video ads with a duration up to 30 seconds (0 < duration <= 30s).", + "Applies to video ads with a duration up to 60 seconds (0 < duration <= 60s).", + "Applies to video ads with a duration up to 90 seconds (0 < duration <= 90s).", + "Applies to video ads with a duration up to 120 seconds (0 < duration <= 120s)." + ], + "type": "string" + }, + "includedMimeTypes": { + "description": "Optional. The list of targeted video mime types using the IANA published MIME type strings (https://www.iana.org/assignments/media-types/media-types.xhtml). If empty, inventory will be targeted regardless of video mime type.", + "items": { + "enum": [ + "VIDEO_MIME_TYPE_UNSPECIFIED", + "VIDEO_MIME_TYPE_THREEGPP", + "VIDEO_MIME_TYPE_APPLICATION_MPEGURL", + "VIDEO_MIME_TYPE_MP4", + "VIDEO_MIME_TYPE_APPLICATION_MPEGDASH", + "VIDEO_MIME_TYPE_APPLICATION_JAVASCRIPT", + "VIDEO_MIME_TYPE_WEBM" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "3GPP container format used on 3G phones.", + "HLS/M3U8", + "MPEG-4 container typically with H.264 codec.", + "DASH.", + "JavaScript (used for VPAID ads).", + "WebM container assuming VP9 codec." + ], + "type": "string" + }, + "type": "array" + }, + "includedPlaybackMethods": { + "description": "Optional. The list of targeted video playback methods. If empty, inventory will be targeted regardless of video playback method.", + "items": { + "enum": [ + "PLAYBACK_METHOD_UNSPECIFIED", + "PLAYBACK_METHOD_AUTO_PLAY_SOUND_ON", + "PLAYBACK_METHOD_AUTO_PLAY_SOUND_OFF", + "PLAYBACK_METHOD_CLICK_TO_PLAY" + ], + "enumDescriptions": [ + "Unspecified video playback method. Should not be used.", + "Playback starts automatically when the page/content loads.", + "Playback starts automatically when the page/content loads, but with sound off.", + "Playback is initiated by a user action (e.g., clicking a play button)." + ], + "type": "string" + }, + "type": "array" + }, + "includedPlayerSizeTargeting": { + "$ref": "VideoPlayerSizeTargeting", + "description": "Optional. The targeted video player size. If unset, inventory will be targeted regardless of video player size." + }, + "includedPositionTypes": { + "description": "Optional. The targeted video ad position types. If empty, inventory will be targeted regardless of video ad position type.", + "items": { + "enum": [ + "POSITION_TYPE_UNSPECIFIED", + "POSITION_TYPE_MIDROLL", + "POSITION_TYPE_POSTROLL", + "POSITION_TYPE_PREROLL" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "The ad is played in the middle of the video content.", + "The ad is played after the video content.", + "The ad is played before the video content." + ], + "type": "string" + }, + "type": "array" + }, + "minimumPredictedCompletionRatePercentage": { + "description": "Optional. The targeted minimum predicted completion rate percentage. This value must be a multiple of 10 between 10 and 90 (inclusive). For example, 10 is valid, but 0, 15, and 100 are not. A value of 10 means that the configuration will only match adslots for which we predict at least 10% completion rate. An unset value indicates inventory will be targeted regardless of predicted completion rate.", + "format": "int64", + "type": "string" + }, + "plcmtTargeting": { + "$ref": "VideoPlcmtTargeting", + "description": "Optional. The targeted video plcmt types. If unset, inventory will be targeted regardless of video plcmt type." + } + }, + "type": "object" + }, + "Report": { + "description": "The `Report` resource.", + "id": "Report", + "properties": { + "createTime": { + "description": "Output only. The instant this report was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Display name for the report.", + "type": "string" + }, + "locale": { + "description": "Output only. The locale of this report. Locale is set from the user's locale at the time of the request. Locale can't be modified.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the report. Report resource name have the form: `curators/{account_id}/reports/{report_id}`", + "type": "string" + }, + "reportDefinition": { + "$ref": "ReportDefinition", + "description": "Required. The report definition of the report." + }, + "reportId": { + "description": "Output only. Report ID.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The instant this report was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ReportDefinition": { + "description": "The definition of how a report should be run.", + "id": "ReportDefinition", + "properties": { + "currencyCode": { + "description": "Optional. The ISO 4217 currency code for this report. Defaults to account currency code if not specified.", + "type": "string" + }, + "dateRange": { + "$ref": "DateRange", + "description": "Required. The primary date range of this report." + }, + "dimensions": { + "description": "Required. The list of dimensions to report on. If empty, the report will have no dimensions, and any metrics will be totals.", + "items": { + "enum": [ + "DIMENSION_UNSPECIFIED", + "ADVERTISER_DOMAIN", + "COUNTRY", + "CURATION_DATA_SEGMENT_ID", + "CURATION_DATA_SEGMENT_RESPONSE_STATUS", + "CURATION_DATA_SEGMENT_RESPONSE_STATUS_NAME", + "CURATOR_FEE_TYPE", + "DATE", + "DEAL_ID", + "DEAL_NAME", + "DETECTED_ADVERTISER_NAME", + "DSP_NAME", + "DSP_SEAT_ID", + "ENVIRONMENT", + "ENVIRONMENT_NAME", + "HOLDING_COMPANY_NAME", + "HOUR", + "MOBILE_APP_ID", + "MOBILE_APP_NAME", + "MOBILE_OS", + "MONTH", + "PACKAGE_FEE_VISIBILITY", + "PLATFORM", + "PUBLISHER_DOMAIN", + "PUBLISHER_ID", + "PUBLISHER_NAME", + "WEEK" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The domain of the advertiser.", + "Display name of a country.", + "The ID of the data segment created by a curator.", + "The response status of the data segment requests in the Real-time curation. Refer to https://developers.google.com/authorized-buyers/curation/get-started/start for details.", + "The localized display name of the response status of the data segment requests in the Real-time curation. Refer to https://developers.google.com/authorized-buyers/curation/get-started/start for details.", + "The type of curation service (e.g. packaging or data segment).", + "Date.", + "Deal ID.", + "Deal name.", + "Display name of the detected advertiser.", + "Display name of the DSP.", + "DSP Seat ID.", + "The user device and container environment where the impression originates. Supported values are \"app\" and \"web\".", + "The localized display name of the user device and container environment where the impression originates. Supported values are \"app\" and \"web\".", + "Display name of the holding company.", + "Hour.", + "Mobile App ID.", + "Mobile App Name.", + "Mobile operating system.", + "Month.", + "The visibility of the package fee (e.g. disclosed or non-disclosed).", + "Platform, e.g. \"desktop\" vs. \"mobile\".", + "Publisher domain.", + "Publisher identifier.", + "Publisher name.", + "Week." + ], + "type": "string" + }, + "type": "array" + }, + "filters": { + "description": "Optional. The filters for this report.", + "items": { + "$ref": "Filter" + }, + "type": "array" + }, + "metrics": { + "description": "Required. The list of metrics to report on. If empty, the report will have no metrics.", + "items": { + "enum": [ + "METRIC_UNSPECIFIED", + "ACTIVE_VIEW_MEASURABILITY_RATE", + "ACTIVE_VIEW_MEASURABLE", + "ACTIVE_VIEW_VIEWABILITY_RATE", + "ACTIVE_VIEW_VIEWABLE", + "AUCTIONS_WON", + "BIDS", + "BIDS_IN_AUCTION", + "BID_REQUESTS", + "CLICKS", + "CURATION_PARTNER_FEE", + "DATA_SEGMENT_REQUESTS", + "IMPRESSIONS", + "SPEND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Active View measurability rate.", + "Active View measurable.", + "Active view viewability rate.", + "Active View viewable imps.", + "Auctions won.", + "Bids.", + "Bids in auction.", + "Bid requests.", + "Clicks.", + "Curator fee. This will be redacted to 0.00 if the package's visibility is set to non-disclosed. Use the PACKAGE_FEE_VISIBILITY dimension to check if the package's fee is disclosed.", + "Number of data segment requests sent in the Real-time curation.", + "Impressions.", + "Spend in reporting currency specified in the request. Defaults to USD." + ], + "type": "string" + }, + "type": "array" + }, + "sorts": { + "description": "Optional. Default sorts to apply to this report.", + "items": { + "$ref": "Sort" + }, + "type": "array" + }, + "timeZone": { + "description": "Optional. If time_zone_source is PROVIDED, this is the time zone to use for this report. Leave empty for any other time zone source. Time zone in IANA format. For example, \"America/New_York\".", + "type": "string" + }, + "timeZoneSource": { + "description": "Optional. Where to get the time zone for this report. Defaults to using the Pacific time zone (PT). If source is PROVIDED, the time_zone field in the report definition must also set a time zone.", + "enum": [ + "TIME_ZONE_SOURCE_UNSPECIFIED", + "AD_EXCHANGE", + "UTC", + "PROVIDED" + ], + "enumDescriptions": [ + "Unspecified default value.", + "Use the Pacific time zone(PT).", + "Use UTC time zone.", + "Use the time zone provided in the ReportDefinition.time_zone field. Reports may take longer to run since the dates are dynamically calculated at request time." + ], + "type": "string" + } + }, + "type": "object" + }, + "ReportValue": { + "description": "Represents a single value in a report.", + "id": "ReportValue", + "properties": { + "boolValue": { + "description": "For boolean values.", + "type": "boolean" + }, + "bytesValue": { + "description": "For bytes values.", + "format": "byte", + "type": "string" + }, + "doubleListValue": { + "$ref": "DoubleList", + "description": "For lists of double values." + }, + "doubleValue": { + "description": "For double values.", + "format": "double", + "type": "number" + }, + "intListValue": { + "$ref": "IntList", + "description": "For lists of integer values." + }, + "intValue": { + "description": "For integer values.", + "format": "int64", + "type": "string" + }, + "stringListValue": { + "$ref": "StringList", + "description": "For lists of string values." + }, + "stringValue": { + "description": "For string values.", + "type": "string" + } + }, + "type": "object" + }, + "Row": { + "description": "A row of report data.", + "id": "Row", + "properties": { + "dimensionValues": { + "description": "The order of the dimension values is the same as the order of the dimensions specified in the request.", + "items": { + "$ref": "ReportValue" + }, + "type": "array" + }, + "metricValueGroups": { + "description": " The length of the metric_value_groups field will be equal to the length of the date_ranges field in the fetch response. The metric_value_groups field is ordered such that each index corresponds to the date_range at the same index. For example, given date_ranges [x, y], metric_value_groups will have a length of two. The first entry in metric_value_groups represents the metrics for date x and the second entry in metric_value_groups represents the metrics for date y.", + "items": { + "$ref": "MetricValueGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunReportMetadata": { + "description": "`RunReport` operation metadata.", + "id": "RunReportMetadata", + "properties": { + "percentComplete": { + "description": "An estimate of how close this report is to being completed. Will always be 100 for failed and completed reports.", + "format": "int32", + "type": "integer" + }, + "report": { + "description": "The result's parent report.", + "type": "string" + } + }, + "type": "object" + }, + "RunReportRequest": { + "description": "Request message for a running a report.", + "id": "RunReportRequest", + "properties": {}, + "type": "object" + }, + "RunReportResponse": { + "description": "Response message for a completed `RunReport` operation.", + "id": "RunReportResponse", + "properties": { + "reportResult": { + "description": "The unique name of the generated result. Use with `FetchReportResultRows` to retrieve data.", + "type": "string" + } + }, + "type": "object" + }, + "Sort": { + "description": "Represents a sorting in a report.", + "id": "Sort", + "properties": { + "descending": { + "description": "Optional. The sort order. If true the sort will be descending.", + "type": "boolean" + }, + "field": { + "$ref": "Field", + "description": "Required. A field (dimension or metric) to sort by." + } + }, + "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" + }, + "StringList": { + "description": "A list of string values.", + "id": "StringList", + "properties": { + "values": { + "description": "The values", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "StringTargetingDimension": { + "description": "Generic targeting with string values.", + "id": "StringTargetingDimension", + "properties": { + "selectionType": { + "description": "Required. How the items in this list should be targeted.", + "enum": [ + "SELECTION_TYPE_UNSPECIFIED", + "SELECTION_TYPE_INCLUDE", + "SELECTION_TYPE_EXCLUDE" + ], + "enumDescriptions": [ + "Unspecified selection type. Should not be used.", + "The values in the targeting dimension are included.", + "The values in the targeting dimension are excluded." + ], + "type": "string" + }, + "values": { + "description": "Required. The values specified.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TaxonomyTargeting": { + "description": "Defines targeting criteria for handling the IAB audience and content Taxonomy ID space.", + "id": "TaxonomyTargeting", + "properties": { + "excludedTaxonomyIds": { + "description": "Optional. The list of excluded content taxonomy IDs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetedTaxonomyIds": { + "description": "Optional. The list of targeted content taxonomy IDs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoPlayerSizeTargeting": { + "description": "Represents the size of the video player that can be targeted. Both width and height are required to be set to non-zero values.", + "id": "VideoPlayerSizeTargeting", + "properties": { + "minimumHeight": { + "description": "Required. The minimum height of the video player in pixels.", + "format": "int64", + "type": "string" + }, + "minimumWidth": { + "description": "Required. The minimum width of the video player in pixels.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "VideoPlcmtTargeting": { + "description": "Defines targeting criteria based on the video placement type, often corresponding to the IAB OpenRTB 'plcmt' field.", + "id": "VideoPlcmtTargeting", + "properties": { + "selectionType": { + "description": "Required. The selection type for the list of video plcmts.", + "enum": [ + "SELECTION_TYPE_UNSPECIFIED", + "SELECTION_TYPE_INCLUDE", + "SELECTION_TYPE_EXCLUDE" + ], + "enumDescriptions": [ + "Unspecified selection type. Should not be used.", + "The values in the targeting dimension are included.", + "The values in the targeting dimension are excluded." + ], + "type": "string" + }, + "videoPlcmtTypes": { + "description": "Required. The list of targeted video plcmts types. If empty, inventory will be targeted regardless of video plcmt type.", + "items": { + "enum": [ + "VIDEO_PLCMT_TYPE_UNSPECIFIED", + "INSTREAM", + "ACCOMPANYING_CONTENT", + "INTERSTITIAL", + "NO_CONTENT" + ], + "enumDescriptions": [ + "Default value. Should not be used in targeting specifications.", + "Pre-roll, mid-roll, and post-roll ads that are played before, during or after the streaming video content that the consumer has requested. Instream video must be set to “sound on” by default at player start, or have explicitly clear user intent to watch the video content. While there may be other content surrounding the player, the video content must be the focus of the user’s visit. It should remain the primary content on the page and the only video player in-view capable of audio when playing. If the player converts to floating/sticky, subsequent ad calls should accurately convey the updated player size.", + "Pre-roll, mid-roll, and post-roll ads that are played before, during, or after streaming video content. The video player loads and plays before, between, or after paragraphs of text or graphical content, and starts playing only when it enters the viewport. Accompanying content should only start playback upon entering the viewport. It may convert to a floating/sticky player as it scrolls off the page.", + "Video ads that are played without video content. During playback, it must be the primary focus of the page and take up the majority of the viewport and cannot be scrolled out of view. This can be in placements like in-app video or slideshows.", + "Video ads that are played without streaming video content. This can be in placements like slideshows, native feeds, in-content or sticky/floating." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Curation Partners API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/dataflow-v1b3.json b/discovery/dataflow-v1b3.json index cec1662cf3f..f90cb67e900 100644 --- a/discovery/dataflow-v1b3.json +++ b/discovery/dataflow-v1b3.json @@ -790,6 +790,11 @@ "required": true, "type": "string" }, + "regionalFanoutRequested": { + "description": "Optional.", + "location": "query", + "type": "boolean" + }, "view": { "deprecated": true, "description": "Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews.", @@ -1023,6 +1028,11 @@ "required": true, "type": "string" }, + "regionalFanoutRequested": { + "description": "Optional.", + "location": "query", + "type": "boolean" + }, "view": { "deprecated": true, "description": "Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews.", @@ -1868,6 +1878,11 @@ "required": true, "type": "string" }, + "regionalFanoutRequested": { + "description": "Optional.", + "location": "query", + "type": "boolean" + }, "view": { "deprecated": true, "description": "Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews.", @@ -2884,7 +2899,7 @@ } } }, - "revision": "20260818", + "revision": "20260825", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { diff --git a/discovery/dataform-v1beta1.json b/discovery/dataform-v1beta1.json index 3efb2358c7d..18799f88d1a 100644 --- a/discovery/dataform-v1beta1.json +++ b/discovery/dataform-v1beta1.json @@ -3428,7 +3428,7 @@ } } }, - "revision": "20260819", + "revision": "20260826", "rootUrl": "https://dataform.googleapis.com/", "schemas": { "ActionErrorTable": { @@ -6467,7 +6467,7 @@ "readOnly": true }, "depth": { - "description": "Optional. Input only. Immutable. The maximum depth of the Git repository to checkout for this workspace. If defined and greater than 0, the Git repository will be created as a shallow clone with the given depth, otherwise a full clone will be performed. This field is available only for GitHub, Gitlab and 1p repositories with enabled branch management.", + "description": "Optional. Input only. Immutable. The maximum depth of the Git repository to checkout for this workspace. If defined and greater than 0, the Git repository will be created as a shallow clone with the given depth, otherwise a full clone will be performed. This field is available only for GitHub, GitLab and 1p repositories with enabled branch management.", "format": "int32", "type": "integer" }, diff --git a/discovery/datamanager-v1.json b/discovery/datamanager-v1.json index 19b575d84c7..f79660f2798 100644 --- a/discovery/datamanager-v1.json +++ b/discovery/datamanager-v1.json @@ -211,7 +211,7 @@ ], "parameters": { "filter": { - "description": "Optional. A [filter string](https://google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Fields must be specified using either all [camel case](https://en.wikipedia.org/wiki/Camel_case) or all [snake case](https://en.wikipedia.org/wiki/Snake_case). Don't use a combination of camel case and snake case. Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` - `feature_set` For partner links with the FEATURE_SET_AD_EVENT_MANAGEMENT feature set, the following fields are also supported: - `partner_customer_account.account_id` Example: `owning_account.account_type = \"GOOGLE_ADS\" AND partner_account.account_id = 987654321`", + "description": "Optional. A [filter string](https://google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Fields must be specified using either all [camel case](https://en.wikipedia.org/wiki/Camel_case) or all [snake case](https://en.wikipedia.org/wiki/Snake_case). Don't use a combination of camel case and snake case. Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` - `feature_set` For partner links with the FEATURE_SET_AD_EVENT_MANAGEMENT feature set, the following fields are also supported: - `partner_customer_account.account_id` - `partner_link_metadata.implicit_accounts.account_id` Example: `owning_account.account_type = \"GOOGLE_ADS\" AND partner_account.account_id = 987654321`", "location": "query", "type": "string" }, @@ -860,7 +860,7 @@ } } }, - "revision": "20260824", + "revision": "20260828", "rootUrl": "https://datamanager.googleapis.com/", "schemas": { "AdEvent": { diff --git a/discovery/dataplex-v1.json b/discovery/dataplex-v1.json index b027abd216e..4f0ec81f390 100644 --- a/discovery/dataplex-v1.json +++ b/discovery/dataplex-v1.json @@ -1042,6 +1042,12 @@ "name" ], "parameters": { + "contexts": { + "description": "Optional. Specifies the scope of the context in which the search will be performed. This scope will also be used to perform IAM checks, which if passing, will return all resources in the scope.", + "location": "query", + "repeated": true, + "type": "string" + }, "name": { "description": "Required. The project to which the request should be attributed in the following form: projects/{project}/locations/global.", "location": "path", @@ -8038,7 +8044,7 @@ } } }, - "revision": "20260804", + "revision": "20260823", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -9843,6 +9849,21 @@ "description": "Output only. The SQL query string which can be executed.", "readOnly": true, "type": "string" + }, + "sqlDialect": { + "description": "Output only. The SQL dialect of the query.", + "enum": [ + "SQL_DIALECT_UNSPECIFIED", + "GOOGLE_SQL", + "SPARK_SQL" + ], + "enumDescriptions": [ + "SQL dialect unspecified.", + "Google SQL dialect.", + "Spark SQL dialect." + ], + "readOnly": true, + "type": "string" } }, "type": "object" @@ -9990,6 +10011,20 @@ "type": "string" }, "type": "array" + }, + "sqlDialect": { + "description": "Optional. The SQL dialect to use in the generated SQL queries. If not specified, the default dialect is Google SQL.", + "enum": [ + "SQL_DIALECT_UNSPECIFIED", + "GOOGLE_SQL", + "SPARK_SQL" + ], + "enumDescriptions": [ + "SQL dialect unspecified.", + "Google SQL dialect.", + "Spark SQL dialect." + ], + "type": "string" } }, "type": "object" diff --git a/discovery/dataproc-v1.json b/discovery/dataproc-v1.json index 86041fcac5c..237310c043c 100644 --- a/discovery/dataproc-v1.json +++ b/discovery/dataproc-v1.json @@ -5498,7 +5498,7 @@ } } }, - "revision": "20260818", + "revision": "20260820", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -5983,7 +5983,8 @@ "type": "integer" }, "diskType": { - "description": "Optional. Disk type.", + "deprecated": true, + "description": "Optional. Deprecated: Use type instead.", "enum": [ "DISK_TYPE_UNSPECIFIED", "HYPERDISK_BALANCED", @@ -5992,11 +5993,11 @@ "HYPERDISK_THROUGHPUT" ], "enumDescriptions": [ - "Required unspecified disk type.", - "Hyperdisk Balanced disk type.", - "Hyperdisk Extreme disk type.", - "Hyperdisk ML disk type.", - "Hyperdisk Throughput disk type." + "Disk type is not specified.", + "Hyperdisk Balanced.", + "Hyperdisk Extreme.", + "Hyperdisk ML.", + "Hyperdisk Throughput." ], "type": "string" }, @@ -6009,6 +6010,10 @@ "description": "Optional. Indicates how much throughput to provision for the attached disk. This sets the number of throughput mb per second that the disk can handle. See https://cloud.google.com/compute/docs/disks/hyperdisks#hyperdisk-features", "format": "int64", "type": "string" + }, + "type": { + "description": "Optional. Attached disk type. Currently only supports Hyperdisks. See https://cloud.google.com/compute/docs/disks/hyperdisks. Note: Hyperdisk Balanced High Availability is not supported.Allowed values are: hyperdisk-balanced hyperdisk-extreme hyperdisk-ml hyperdisk-throughput", + "type": "string" } }, "type": "object" diff --git a/discovery/developerconnect-v1.json b/discovery/developerconnect-v1.json index 45ca9568719..25884fcddd4 100644 --- a/discovery/developerconnect-v1.json +++ b/discovery/developerconnect-v1.json @@ -18,8 +18,73 @@ "endpoints": [ { "description": "Regional Endpoint", - "endpointUrl": "https://developerconnect.us-central1.rep.googleapis.com/", - "location": "us-central1" + "endpointUrl": "https://developerconnect.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" }, { "description": "Regional Endpoint", @@ -28,19 +93,94 @@ }, { "description": "Regional Endpoint", - "endpointUrl": "https://developerconnect.asia-east1.rep.googleapis.com/", - "location": "asia-east1" + "endpointUrl": "https://developerconnect.europe-west10.rep.googleapis.com/", + "location": "europe-west10" }, { "description": "Regional Endpoint", - "endpointUrl": "https://developerconnect.asia-east2.rep.googleapis.com/", - "location": "asia-east2" + "endpointUrl": "https://developerconnect.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.europe-west3.rep.googleapis.com/", + "location": "europe-west3" }, { "description": "Regional Endpoint", "endpointUrl": "https://developerconnect.europe-west4.rep.googleapis.com/", "location": "europe-west4" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://developerconnect.us-east4.rep.googleapis.com/", @@ -53,8 +193,13 @@ }, { "description": "Regional Endpoint", - "endpointUrl": "https://developerconnect.asia-southeast1.rep.googleapis.com/", - "location": "asia-southeast1" + "endpointUrl": "https://developerconnect.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.us-south1.rep.googleapis.com/", + "location": "us-south1" }, { "description": "Regional Endpoint", @@ -65,6 +210,16 @@ "description": "Regional Endpoint", "endpointUrl": "https://developerconnect.us-west2.rep.googleapis.com/", "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://developerconnect.us-west4.rep.googleapis.com/", + "location": "us-west4" } ], "fullyEncodeReservedExpansion": true, @@ -1800,7 +1955,7 @@ } } }, - "revision": "20260813", + "revision": "20260824", "rootUrl": "https://developerconnect.googleapis.com/", "schemas": { "AccountConnector": { @@ -2501,6 +2656,21 @@ }, "type": "object" }, + "FieldVisibility": { + "description": "Visibility rules for individual tool parameters (fields). This allows producers to hide specific fields in tools/list and tools/call.", + "id": "FieldVisibility", + "properties": { + "restriction": { + "description": "The visibility restriction labels for this field (comma-separated).", + "type": "string" + }, + "selector": { + "description": "The name of the parameter in the input_schema or output_schema.", + "type": "string" + } + }, + "type": "object" + }, "FinishOAuthResponse": { "description": "Message for responding to finishing an OAuth flow.", "id": "FinishOAuthResponse", @@ -3232,6 +3402,38 @@ }, "type": "object" }, + "McpToolVisibility": { + "description": "Profile describing the visibility restriction of an MCP tool. Key: \"google.com/tool.profiles/visibility.restriction\"", + "id": "McpToolVisibility", + "properties": { + "fieldVisibility": { + "description": "A list of field-level visibility restrictions.", + "items": { + "$ref": "FieldVisibility" + }, + "type": "array" + }, + "visibilityEnforcementStrategy": { + "description": "The strategy used to enforce visibility restrictions. DO NOT USE. This field is not yet implemented.", + "enum": [ + "VISIBILITY_ENFORCEMENT_STRATEGY_UNSPECIFIED", + "COMBINE", + "OVERRIDE" + ], + "enumDescriptions": [ + "Default. Equivalent to COMBINE.", + "The principal must satisfy both API-level tool-level) visibility restrictions.", + "Bypasses the API-level visibility restrictions check; access is determined solely by the tool-level visibility restrictions." + ], + "type": "string" + }, + "visibilityRestriction": { + "description": "The visibility restriction labels for the tool itself (e.g., \"PRODUCER_DEFINED_PREVIEW\"). Multiple labels can be provided as a comma-separated string.", + "type": "string" + } + }, + "type": "object" + }, "OAuthCredential": { "description": "Represents an OAuth token of the account that authorized the Connection, and associated metadata.", "id": "OAuthCredential", diff --git a/discovery/developerknowledge-v1.json b/discovery/developerknowledge-v1.json index 22a31f1618a..4732b905b7b 100644 --- a/discovery/developerknowledge-v1.json +++ b/discovery/developerknowledge-v1.json @@ -250,7 +250,7 @@ } } }, - "revision": "20260823", + "revision": "20260830", "rootUrl": "https://developerknowledge.googleapis.com/", "schemas": { "Answer": { @@ -413,7 +413,7 @@ "type": "string" }, "uri": { - "description": "Output only. Provides the URI of the content, such as `docs.cloud.google.com/storage/docs/creating-buckets`.", + "description": "Output only. Provides the URI of the content, such as `https://docs.cloud.google.com/storage/docs/creating-buckets`.", "readOnly": true, "type": "string" }, diff --git a/discovery/developerknowledge-v1alpha.json b/discovery/developerknowledge-v1alpha.json index 9ebe05a7afd..7e9f1ac6504 100644 --- a/discovery/developerknowledge-v1alpha.json +++ b/discovery/developerknowledge-v1alpha.json @@ -250,7 +250,7 @@ } } }, - "revision": "20260809", + "revision": "20260830", "rootUrl": "https://developerknowledge.googleapis.com/", "schemas": { "Answer": { @@ -413,7 +413,7 @@ "type": "string" }, "uri": { - "description": "Output only. Provides the URI of the content, such as `docs.cloud.google.com/storage/docs/creating-buckets`.", + "description": "Output only. Provides the URI of the content, such as `https://docs.cloud.google.com/storage/docs/creating-buckets`.", "readOnly": true, "type": "string" }, diff --git a/discovery/discoveryengine-v1.json b/discovery/discoveryengine-v1.json index 8aefc608a77..659f0e3a1da 100644 --- a/discovery/discoveryengine-v1.json +++ b/discovery/discoveryengine-v1.json @@ -663,6 +663,69 @@ "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, + "getIamPolicy": { + "description": "Gets the IAM access control policy for a Collection. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}:getIamPolicy", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM access control policy for a Collection. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a Collection resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}:setIamPolicy", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] + }, "updateDataConnector": { "description": "Updates a DataConnector.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector", @@ -1004,6 +1067,39 @@ "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, + "getIamPolicy": { + "description": "Gets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:getIamPolicy", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.dataStores.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] + }, "getSiteSearchEngine": { "description": "Gets the SiteSearchEngine.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine", @@ -1110,6 +1206,36 @@ "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, + "setIamPolicy": { + "description": "Sets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a DataStore resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:setIamPolicy", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] + }, "trainCustomModel": { "description": "Trains a custom model.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:trainCustomModel", @@ -3826,16 +3952,18 @@ "type": "string" }, "modelInfoView": { - "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`).", + "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", - "ADMIN" + "ADMIN", + "END_USER_MOBILE" ], "enumDescriptions": [ "Not specified.", "The end-user web model selector view.", - "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated." + "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated.", + "The end-user model selector view for the Gemini Enterprise mobile app. Returns only mobile-surfaced models, with the mobile default selected. Set explicitly by the mobile client." ], "location": "query", "type": "string" @@ -5844,16 +5972,18 @@ "type": "string" }, "modelInfoView": { - "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`).", + "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", - "ADMIN" + "ADMIN", + "END_USER_MOBILE" ], "enumDescriptions": [ "Not specified.", "The end-user web model selector view.", - "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated." + "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated.", + "The end-user model selector view for the Gemini Enterprise mobile app. Returns only mobile-surfaced models, with the mobile default selected. Set explicitly by the mobile client." ], "location": "query", "type": "string" @@ -6158,6 +6288,39 @@ "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, + "getIamPolicy": { + "description": "Gets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}:getIamPolicy", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.dataStores.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] + }, "getSiteSearchEngine": { "description": "Gets the SiteSearchEngine.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine", @@ -6263,6 +6426,36 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite", "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] + }, + "setIamPolicy": { + "description": "Sets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a DataStore resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}:setIamPolicy", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] } }, "resources": { @@ -8610,16 +8803,18 @@ "type": "string" }, "modelInfoView": { - "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`).", + "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", - "ADMIN" + "ADMIN", + "END_USER_MOBILE" ], "enumDescriptions": [ "Not specified.", "The end-user web model selector view.", - "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated." + "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated.", + "The end-user model selector view for the Gemini Enterprise mobile app. Returns only mobile-surfaced models, with the mobile default selected. Set explicitly by the mobile client." ], "location": "query", "type": "string" @@ -9742,7 +9937,7 @@ } } }, - "revision": "20260823", + "revision": "20260908", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "A2aV1APIKeySecurityScheme": { @@ -13165,6 +13360,10 @@ }, "type": "array" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Data protection policy to be used for sanitizing file uploads." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyModelArmorConfig", "description": "Optional. Model Armor configuration to be used for sanitizing user prompts and assistant responses." @@ -15296,6 +15495,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the connector." + }, "dataSource": { "description": "Required. The identifier for the data source. For the full, up-to-date list of supported connectors and their values, see [Connect a third-party data source](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/connect-third-party-data-source#sources-by-launch-stage).", "type": "string" @@ -15706,6 +15909,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1DataProtectionPolicy": { + "description": "Contains the data protection policy config for a DataStore or a connector.", + "id": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. Specifies the sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. Specifies the resource name of the Sensitive Data Protection content policy.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1DataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1DataStore", @@ -15772,6 +15997,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the data store." + }, "defaultSchemaId": { "description": "Output only. The id of the default Schema associated to this data store.", "readOnly": true, @@ -16772,7 +17001,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -16853,6 +17082,10 @@ "$ref": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1SessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "solutionType": { "description": "Required. The solutions of the engine.", "enum": [ @@ -19760,6 +19993,10 @@ "description": "Whether to turn on safe search. This is only supported for website search.", "type": "boolean" }, + "searchAddonSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestSearchAddonSpec", + "description": "Optional. SearchAddonSpec is used to disable add-ons for search as per new repricing model. This field is only supported for search requests." + }, "searchAsYouTypeSpec": { "$ref": "GoogleCloudDiscoveryengineV1SearchRequestSearchAsYouTypeSpec", "description": "Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical." @@ -20373,6 +20610,25 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1SearchRequestSearchAddonSpec": { + "description": "SearchAddonSpec is used to disable add-ons for search as per new repricing model. By default if the SearchAddonSpec is not specified, we consider that the customer wants to enable them wherever applicable.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestSearchAddonSpec", + "properties": { + "disableGenerativeAnswerAddOn": { + "description": "Optional. If true, generative answer add-on is disabled. Generative answer add-on includes natural language to filters and simple answers.", + "type": "boolean" + }, + "disableKpiPersonalizationAddOn": { + "description": "Optional. If true, disables event re-ranking and personalization to optimize KPIs & personalize results.", + "type": "boolean" + }, + "disableSemanticAddOn": { + "description": "Optional. If true, semantic add-on is disabled. Semantic add-on includes embeddings and jetstream.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1SearchRequestSearchAsYouTypeSpec": { "description": "Specification for search as you type in search requests.", "id": "GoogleCloudDiscoveryengineV1SearchRequestSearchAsYouTypeSpec", @@ -21349,6 +21605,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1SessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1SessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1SessionTurn": { "description": "Represents a turn, including a query from the user and a answer from service.", "id": "GoogleCloudDiscoveryengineV1SessionTurn", @@ -22768,6 +23061,23 @@ "description": "Customer provided configurations.", "id": "GoogleCloudDiscoveryengineV1WidgetConfigCustomerProvidedConfig", "properties": { + "complianceLevel": { + "description": "Output only. The customer's Assured Workloads compliance level. `customer_type` collapses every compliance level into a single `GOVERNMENT_CUSTOMER` value, so a client that gates a feature on one specific level rather than on government status as a whole must read this field instead.", + "enum": [ + "COMPLIANCE_LEVEL_UNSPECIFIED", + "COMPLIANCE_LEVEL_FEDRAMP_HIGH", + "COMPLIANCE_LEVEL_IL4", + "COMPLIANCE_LEVEL_IL5" + ], + "enumDescriptions": [ + "The project has no Assured Workloads compliance level, or reports one that this API version does not model.", + "FedRAMP High compliance level.", + "Impact Level 4 (IL4) compliance level.", + "Impact Level 5 (IL5) compliance level." + ], + "readOnly": true, + "type": "string" + }, "customerType": { "description": "Customer type.", "enum": [ @@ -23074,7 +23384,7 @@ ], "type": "string" }, - "description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "readOnly": true, "type": "object" }, @@ -23145,6 +23455,10 @@ ], "type": "string" }, + "searchAddonSpec": { + "$ref": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsSearchAddonSpec", + "description": "Optional. SearchAddonSpec is used to disable add-ons for search. This field is only supported for search requests." + }, "sourceAdminDisplayNameEnabled": { "description": "Optional. Whether to show the admin-configured display name for data connectors in the widget sources UI (instead of the connector kind). Opt-in; defaults to false.", "type": "boolean" @@ -23257,6 +23571,11 @@ "readOnly": true, "type": "string" }, + "iconUrl": { + "description": "Output only. Absolute URL of a brand mark to render instead of `icon`, for models whose vendor logo is not a GM3 glyph. `icon` stays populated as the fallback, so a client that does not render images, or that fails to fetch this one, shows the glyph instead of nothing.", + "readOnly": true, + "type": "string" + }, "isPreview": { "description": "Output only. Whether the model is currently in preview. Clients should surface this via a \"Preview\" badge in the selector UI.", "readOnly": true, @@ -23305,6 +23624,25 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsSearchAddonSpec": { + "description": "SearchAddonSpec is used to disable add-ons for search. By default, if this field is not specified, add-ons are enabled wherever applicable.", + "id": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsSearchAddonSpec", + "properties": { + "generativeAnswerAddOnDisabled": { + "description": "Optional. If true, generative answer add-on is disabled. Generative answer add-on includes natural language to filters and simple answers.", + "type": "boolean" + }, + "kpiPersonalizationAddOnDisabled": { + "description": "Optional. If true, disables event re-ranking and personalization to optimize KPIs & personalize results.", + "type": "boolean" + }, + "semanticAddOnDisabled": { + "description": "Optional. If true, semantic add-on is disabled. Semantic add-on includes embeddings and jetstream.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1WorkspaceConfig": { "description": "Config to store data store type configuration for workspace data", "id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", @@ -23794,6 +24132,24 @@ "description": "Required. Model name (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). See `model_mixture` for the list of allowed models.", "type": "string" }, + "thinkingLevel": { + "description": "Optional. Sent as Vertex `ThinkingConfig.thinking_level`.", + "enum": [ + "THINKING_LEVEL_UNSPECIFIED", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Unset. The model applies its own default, which is not the same level for every model.", + "Least thinking. Not offered by every model.", + "Vertex `LOW`.", + "Vertex `MEDIUM`.", + "Vertex `HIGH`." + ], + "type": "string" + }, "weight": { "description": "Optional. Relative weight for this model in the mixture. Must be a finite, strictly positive value. Weights across all entries are normalized server-side, so they need not sum to 1.0. Defaults to 1.0 when unset, which is convenient when configuring a single model or an even mixture. Some Pro-tier models are capped at most 50% of the total weight; requests violating that cap are rejected with INVALID_ARGUMENT.", "format": "float", @@ -27506,7 +27862,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -27592,6 +27948,10 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "similarDocumentsConfig": { "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", "description": "Additional config specs for a `similar-items` engine." @@ -31116,6 +31476,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1alphaSessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSessionTurn": { "description": "Represents a turn, including a query from the user and a answer from service.", "id": "GoogleCloudDiscoveryengineV1alphaSessionTurn", @@ -32342,6 +32739,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy": { + "description": "Contains the data protection policy config for a DataStore or a connector.", + "id": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. Specifies the sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. Specifies the resource name of the Sensitive Data Protection content policy.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1betaDataStore", @@ -32408,6 +32827,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the data store." + }, "defaultSchemaId": { "description": "Output only. The id of the default Schema associated to this data store.", "readOnly": true, @@ -33090,7 +33513,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -33171,6 +33594,10 @@ "$ref": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaSessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "solutionType": { "description": "Required. The solutions of the engine.", "enum": [ @@ -35683,6 +36110,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1betaSessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSetDedicatedCrawlRateMetadata": { "description": "Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaSetDedicatedCrawlRateMetadata", diff --git a/discovery/discoveryengine-v1alpha.json b/discovery/discoveryengine-v1alpha.json index 0eca8c64026..843dbf67a9c 100644 --- a/discovery/discoveryengine-v1alpha.json +++ b/discovery/discoveryengine-v1alpha.json @@ -5404,16 +5404,18 @@ "type": "string" }, "modelInfoView": { - "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`).", + "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", - "ADMIN" + "ADMIN", + "END_USER_MOBILE" ], "enumDescriptions": [ "Not specified.", "The end-user web model selector view.", - "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated." + "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated.", + "The end-user model selector view for the Gemini Enterprise mobile app. Returns only mobile-surfaced models, with the mobile default selected. Set explicitly by the mobile client." ], "location": "query", "type": "string" @@ -8191,16 +8193,18 @@ "type": "string" }, "modelInfoView": { - "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`).", + "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", - "ADMIN" + "ADMIN", + "END_USER_MOBILE" ], "enumDescriptions": [ "Not specified.", "The end-user web model selector view.", - "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated." + "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated.", + "The end-user model selector view for the Gemini Enterprise mobile app. Returns only mobile-surfaced models, with the mobile default selected. Set explicitly by the mobile client." ], "location": "query", "type": "string" @@ -11520,16 +11524,18 @@ "type": "string" }, "modelInfoView": { - "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`).", + "description": "Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin \"Feature Management\" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector.", "enum": [ "MODEL_INFO_VIEW_UNSPECIFIED", "END_USER_WEB", - "ADMIN" + "ADMIN", + "END_USER_MOBILE" ], "enumDescriptions": [ "Not specified.", "The end-user web model selector view.", - "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated." + "The Cloud Console admin \"Feature Control\" view that displays model toggles. Returns admin-surfaced models with `ResolvedModel.admin_view` populated.", + "The end-user model selector view for the Gemini Enterprise mobile app. Returns only mobile-surfaced models, with the mobile default selected. Set explicitly by the mobile client." ], "location": "query", "type": "string" @@ -12265,163 +12271,6 @@ } }, "notebooks": { - "methods": { - "batchDelete": { - "description": "Batch deletes Notebooks.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/notebooks:batchDelete", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.notebooks.batchDelete", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/notebooks:batchDelete", - "request": { - "$ref": "GoogleCloudNotebooklmV1alphaBatchDeleteNotebooksRequest" - }, - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.readwrite", - "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" - ] - }, - "create": { - "description": "Creates a notebook.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/notebooks", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.notebooks.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/notebooks", - "request": { - "$ref": "GoogleCloudNotebooklmV1alphaNotebook" - }, - "response": { - "$ref": "GoogleCloudNotebooklmV1alphaNotebook" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.readwrite", - "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" - ] - }, - "get": { - "description": "Gets a notebook.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/notebooks/{notebooksId}", - "httpMethod": "GET", - "id": "discoveryengine.projects.locations.notebooks.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Full resource name of Notebook, such as `projects/{project}/locations/{location}/notebooks/{notebook_id}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/notebooks/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleCloudNotebooklmV1alphaNotebook" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.readwrite", - "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" - ] - }, - "listRecentlyViewed": { - "description": "Lists the notebooks ordered by last view time.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/notebooks:listRecentlyViewed", - "httpMethod": "GET", - "id": "discoveryengine.projects.locations.notebooks.listRecentlyViewed", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Optional. Maximum number of Notebooks to return. If unspecified, defaults to \"500\". The maximum allowed value is \"500\". If this field is negative, will use the default value.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The page token, provide this to retrieve the subsequent page.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/notebooks:listRecentlyViewed", - "response": { - "$ref": "GoogleCloudNotebooklmV1alphaListRecentlyViewedNotebooksResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.readwrite", - "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" - ] - }, - "share": { - "description": "Shares a notebook to other accounts.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/notebooks/{notebooksId}:share", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.notebooks.share", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Full resource name of Notebook, such as `projects/{project}/locations/{location}/notebooks/{notebook_id}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/notebooks/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}:share", - "request": { - "$ref": "GoogleCloudNotebooklmV1alphaShareNotebookRequest" - }, - "response": { - "$ref": "GoogleCloudNotebooklmV1alphaShareNotebookResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.readwrite", - "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" - ] - } - }, "resources": { "audioOverviews": { "methods": { @@ -12483,98 +12332,6 @@ ] } } - }, - "sources": { - "methods": { - "batchCreate": { - "description": "Creates a list of Sources.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/notebooks/{notebooksId}/sources:batchCreate", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.notebooks.sources.batchCreate", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource where the sources will be created. Format: projects/{project}/locations/{location}/notebooks/{notebook}", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/notebooks/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/sources:batchCreate", - "request": { - "$ref": "GoogleCloudNotebooklmV1alphaBatchCreateSourcesRequest" - }, - "response": { - "$ref": "GoogleCloudNotebooklmV1alphaBatchCreateSourcesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.assist.readwrite", - "https://www.googleapis.com/auth/discoveryengine.readwrite", - "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" - ] - }, - "batchDelete": { - "description": "Deletes multiple sources", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/notebooks/{notebooksId}/sources:batchDelete", - "httpMethod": "POST", - "id": "discoveryengine.projects.locations.notebooks.sources.batchDelete", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource where the sources will be deleted. Format: projects/{project}/locations/{location}/notebooks/{notebook}", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/notebooks/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/sources:batchDelete", - "request": { - "$ref": "GoogleCloudNotebooklmV1alphaBatchDeleteSourcesRequest" - }, - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.readwrite", - "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" - ] - }, - "get": { - "description": "Gets a Source.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/notebooks/{notebooksId}/sources/{sourcesId}", - "httpMethod": "GET", - "id": "discoveryengine.projects.locations.notebooks.sources.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The resource name for source Format: projects/{project}/locations/{location}/notebooks/{notebook}/sources/{source}", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/notebooks/[^/]+/sources/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleCloudNotebooklmV1alphaSource" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/discoveryengine.readwrite", - "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" - ] - } - } } } }, @@ -13647,7 +13404,7 @@ } } }, - "revision": "20260823", + "revision": "20260908", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -14346,6 +14103,10 @@ }, "type": "array" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Data protection policy to be used for sanitizing file uploads." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyModelArmorConfig", "description": "Optional. Model Armor configuration to be used for sanitizing user prompts and assistant responses." @@ -15262,6 +15023,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the connector." + }, "dataSource": { "description": "Required. The identifier for the data source. For the full, up-to-date list of supported connectors and their values, see [Connect a third-party data source](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/connect-third-party-data-source#sources-by-launch-stage).", "type": "string" @@ -15672,6 +15437,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1DataProtectionPolicy": { + "description": "Contains the data protection policy config for a DataStore or a connector.", + "id": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. Specifies the sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. Specifies the resource name of the Sensitive Data Protection content policy.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1DataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1DataStore", @@ -15738,6 +15525,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the data store." + }, "defaultSchemaId": { "description": "Output only. The id of the default Schema associated to this data store.", "readOnly": true, @@ -16496,7 +16287,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -16577,6 +16368,10 @@ "$ref": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1SessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "solutionType": { "description": "Required. The solutions of the engine.", "enum": [ @@ -18183,6 +17978,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1SessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1SessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1SetUpDataConnectorMetadata": { "description": "Metadata for DataConnectorService.SetUpDataConnector method.", "id": "GoogleCloudDiscoveryengineV1SetUpDataConnectorMetadata", @@ -19699,6 +19531,24 @@ "description": "Required. Model name (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). See `model_mixture` for the list of allowed models.", "type": "string" }, + "thinkingLevel": { + "description": "Optional. Sent as Vertex `ThinkingConfig.thinking_level`.", + "enum": [ + "THINKING_LEVEL_UNSPECIFIED", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Unset. The model applies its own default, which is not the same level for every model.", + "Least thinking. Not offered by every model.", + "Vertex `LOW`.", + "Vertex `MEDIUM`.", + "Vertex `HIGH`." + ], + "type": "string" + }, "weight": { "description": "Optional. Relative weight for this model in the mixture. Must be a finite, strictly positive value. Weights across all entries are normalized server-side, so they need not sum to 1.0. Defaults to 1.0 when unset, which is convenient when configuring a single model or an even mixture. Some Pro-tier models are capped at most 50% of the total weight; requests violating that cap are rejected with INVALID_ARGUMENT.", "format": "float", @@ -21435,6 +21285,10 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig", "description": "Optional. Configuration for the generation of the assistant response." }, + "knowledgeCatalogEnabled": { + "description": "Optional. Indicates whether Knowledge Catalog is enabled for this specific assistant. When enabled, it powers discovery context using organizational data.", + "type": "boolean" + }, "name": { "description": "Immutable. Resource name of the assistant. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}` It must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" @@ -26136,7 +25990,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -26222,6 +26076,10 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "similarDocumentsConfig": { "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", "description": "Additional config specs for a `similar-items` engine." @@ -33414,6 +33272,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1alphaSessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSessionTurn": { "description": "Represents a turn, including a query from the user and a answer from service.", "id": "GoogleCloudDiscoveryengineV1alphaSessionTurn", @@ -35187,6 +35082,23 @@ "description": "Customer provided configurations.", "id": "GoogleCloudDiscoveryengineV1alphaWidgetConfigCustomerProvidedConfig", "properties": { + "complianceLevel": { + "description": "Output only. The customer's Assured Workloads compliance level. `customer_type` collapses every compliance level into a single `GOVERNMENT_CUSTOMER` value, so a client that gates a feature on one specific level rather than on government status as a whole must read this field instead.", + "enum": [ + "COMPLIANCE_LEVEL_UNSPECIFIED", + "COMPLIANCE_LEVEL_FEDRAMP_HIGH", + "COMPLIANCE_LEVEL_IL4", + "COMPLIANCE_LEVEL_IL5" + ], + "enumDescriptions": [ + "The project has no Assured Workloads compliance level, or reports one that this API version does not model.", + "FedRAMP High compliance level.", + "Impact Level 4 (IL4) compliance level.", + "Impact Level 5 (IL5) compliance level." + ], + "readOnly": true, + "type": "string" + }, "customerType": { "description": "Customer type.", "enum": [ @@ -35541,7 +35453,7 @@ ], "type": "string" }, - "description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "readOnly": true, "type": "object" }, @@ -35728,6 +35640,11 @@ "readOnly": true, "type": "string" }, + "iconUrl": { + "description": "Output only. Absolute URL of a brand mark to render instead of `icon`, for models whose vendor logo is not a GM3 glyph. `icon` stays populated as the fallback, so a client that does not render images, or that fails to fetch this one, shows the glyph instead of nothing.", + "readOnly": true, + "type": "string" + }, "isPreview": { "description": "Output only. Whether the model is currently in preview. Clients should surface this via a \"Preview\" badge in the selector UI.", "readOnly": true, @@ -36464,6 +36381,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy": { + "description": "Contains the data protection policy config for a DataStore or a connector.", + "id": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. Specifies the sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. Specifies the resource name of the Sensitive Data Protection content policy.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1betaDataStore", @@ -36530,6 +36469,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the data store." + }, "defaultSchemaId": { "description": "Output only. The id of the default Schema associated to this data store.", "readOnly": true, @@ -37212,7 +37155,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -37293,6 +37236,10 @@ "$ref": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaSessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "solutionType": { "description": "Required. The solutions of the engine.", "enum": [ @@ -39805,6 +39752,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1betaSessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSetDedicatedCrawlRateMetadata": { "description": "Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaSetDedicatedCrawlRateMetadata", @@ -40288,52 +40272,6 @@ }, "type": "object" }, - "GoogleCloudNotebooklmV1alphaAccountAndRole": { - "description": "Account and role information.", - "id": "GoogleCloudNotebooklmV1alphaAccountAndRole", - "properties": { - "email": { - "description": "Required. The email address associated with the account.", - "type": "string" - }, - "role": { - "description": "Required. The role in the notebook.", - "enum": [ - "PROJECT_ROLE_UNKNOWN", - "PROJECT_ROLE_OWNER", - "PROJECT_ROLE_WRITER", - "PROJECT_ROLE_READER", - "PROJECT_ROLE_NOT_SHARED" - ], - "enumDescriptions": [ - "Unknown role.", - "The user owns the project.", - "The user has writer permissions on the project.", - "The user has reader permissions on the project.", - "The user has no access to the project." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaAgentspaceMetadata": { - "description": "Metadata about an agentspace source.", - "id": "GoogleCloudNotebooklmV1alphaAgentspaceMetadata", - "properties": { - "documentName": { - "description": "Output only. The full document name in Agentspace.", - "readOnly": true, - "type": "string" - }, - "documentTitle": { - "description": "Output only. The title of the document.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudNotebooklmV1alphaAudioOverview": { "description": "An audio overview of a notebook. This is a summary of the notebook in audio format.", "id": "GoogleCloudNotebooklmV1alphaAudioOverview", @@ -40412,73 +40350,6 @@ }, "type": "object" }, - "GoogleCloudNotebooklmV1alphaBatchCreateSourcesRequest": { - "description": "Request for SourceService.BatchCreateSources method.", - "id": "GoogleCloudNotebooklmV1alphaBatchCreateSourcesRequest", - "properties": { - "userContents": { - "description": "Required. The UserContents to be uploaded.", - "items": { - "$ref": "GoogleCloudNotebooklmV1alphaUserContent" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaBatchCreateSourcesResponse": { - "description": "Response for SourceService.BatchCreateSources method.", - "id": "GoogleCloudNotebooklmV1alphaBatchCreateSourcesResponse", - "properties": { - "sources": { - "description": "The Sources.", - "items": { - "$ref": "GoogleCloudNotebooklmV1alphaSource" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaBatchDeleteNotebooksRequest": { - "description": "Request for NotebookService.BatchDeleteNotebooks method.", - "id": "GoogleCloudNotebooklmV1alphaBatchDeleteNotebooksRequest", - "properties": { - "names": { - "description": "Required. Full resource names of Notebook, such as `projects/{project}/locations/{location}/notebooks/{notebook_id}`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaBatchDeleteSourcesRequest": { - "description": "Request for BatchDeleteSourcesRequest method.", - "id": "GoogleCloudNotebooklmV1alphaBatchDeleteSourcesRequest", - "properties": { - "names": { - "description": "Required. Names of sources to be deleted. Format: projects/{project}/locations/{location}/notebooks/{notebook}/sources/{source}", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaCmekConfig": { - "description": "Customer-managed encryption configuration for Notebooks.", - "id": "GoogleCloudNotebooklmV1alphaCmekConfig", - "properties": { - "kmsKey": { - "description": "Required. KMS key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudNotebooklmV1alphaCreateAudioOverviewRequest": { "description": "Request for AudioOverviewService.CreateAudioOverview method.", "id": "GoogleCloudNotebooklmV1alphaCreateAudioOverviewRequest", @@ -40501,389 +40372,6 @@ }, "type": "object" }, - "GoogleCloudNotebooklmV1alphaFailureReason": { - "description": "Failure reason containing details about why a source failed to ingest.", - "id": "GoogleCloudNotebooklmV1alphaFailureReason", - "properties": { - "audioTranscriptionError": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionError", - "description": "An audio file transcription specific error." - }, - "domainBlocked": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonDomainBlocked", - "description": "Error if the user tries to add a source from a blocked domain." - }, - "googleDriveError": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveError", - "description": "A google drive specific error." - }, - "ingestionError": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonIngestionError", - "description": "Indicates an error occurred while ingesting the source." - }, - "mimeTypeBlocked": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonMimeTypeBlocked", - "description": "Indicates that the source MIME type is blocked." - }, - "paywallError": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonPaywallError", - "description": "Indicates that the source is paywalled and cannot be ingested." - }, - "policyCheckFailed": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonPolicyCheckFailed", - "description": "Indicates that the policy check failed." - }, - "sourceEmpty": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonSourceEmpty", - "description": "Indicates that the source is empty." - }, - "sourceLimitExceeded": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonSourceLimitExceeded", - "description": "Error if the user tries to update beyond their limits." - }, - "sourceTooLong": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonSourceTooLong", - "description": "Indicates source word count exceeded the user's limit." - }, - "sourceUnreachable": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonSourceUnreachable", - "description": "Indicates that the source is unreachable." - }, - "unknown": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonUnknown", - "description": "Indicates an unknown error occurred." - }, - "uploadError": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonUploadError", - "description": "Indicates an error occurred while uploading the source." - }, - "youtubeError": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonYoutubeError", - "description": "A youtube specific error." - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionError": { - "description": "An audio file transcription specific error.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionError", - "properties": { - "languageDetectionFailed": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorLanguageDetectionFailed", - "description": "Could not detect language of the file (it may not be speech)." - }, - "noAudioDetected": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorNoAudioDetected", - "description": "No audio was detected in the input file (it may have been a video)." - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorLanguageDetectionFailed": { - "description": "Could not detect language of the file (it may not be speech).", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorLanguageDetectionFailed", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorNoAudioDetected": { - "description": "No audio was detected in the input file.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorNoAudioDetected", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonDomainBlocked": { - "description": "Error to indicate that the source was removed because the domain was blocked.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonDomainBlocked", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveError": { - "description": "A google drive specific error.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveError", - "properties": { - "downloadPrevented": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveErrorDownloadPrevented", - "description": "The user was prevented from downloading the file." - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveErrorDownloadPrevented": { - "description": "The user was prevented from downloading the file.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveErrorDownloadPrevented", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonIngestionError": { - "description": "Indicates an error occurred while ingesting the source.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonIngestionError", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonMimeTypeBlocked": { - "description": "Indicates that the source MIME type is blocked.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonMimeTypeBlocked", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonPaywallError": { - "description": "Indicates that the source is paywalled and cannot be ingested.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonPaywallError", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonPolicyCheckFailed": { - "description": "Indicates that the policy check failed.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonPolicyCheckFailed", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonSourceEmpty": { - "description": "Indicates that the source is empty.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonSourceEmpty", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonSourceLimitExceeded": { - "description": "Indicates that the user does not have space for this source.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonSourceLimitExceeded", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonSourceTooLong": { - "description": "Indicates source word count exceeded the user's limit.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonSourceTooLong", - "properties": { - "wordCount": { - "description": "The number of words in the source.", - "format": "int32", - "type": "integer" - }, - "wordLimit": { - "description": "The word count limit for the current user at the time of the upload.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonSourceUnreachable": { - "description": "Indicates that the source is unreachable. This is primarily used for sources that are added via URL.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonSourceUnreachable", - "properties": { - "errorDetails": { - "description": "Describes why the source is unreachable.", - "enum": [ - "ERROR_REASON_UNSPECIFIED", - "ERROR_REASON_INVALID_URL", - "ERROR_REASON_NOT_ACCESSIBLE", - "ERROR_REASON_NOT_REACHABLE", - "ERROR_REASON_URL_NOT_FOUND", - "ERROR_REASON_TRANSIENT_ERROR", - "ERROR_REASON_FETCH_FAILED", - "ERROR_REASON_NOT_SUPPORTED" - ], - "enumDescriptions": [ - "Default", - "The source URL is invalid.", - "The source URL is not accessible.", - "The source URL is not reachable.", - "The source URL returned 404.", - "The source URL not reachable due to a transient network error or host timeout etc.", - "The source URL could not be fetched due to an internal error.", - "The URL is not yet supported. Examples include: the fetched content exceeds the trawler fetch max size, the fetched content is a type we do not yet support, etc." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonUnknown": { - "description": "Indicates an unknown error occurred.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonUnknown", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonUploadError": { - "description": "Indicates an error occurred while uploading the source.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonUploadError", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonYoutubeError": { - "description": "A youtube specific error.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonYoutubeError", - "properties": { - "videoDeleted": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReasonYoutubeErrorVideoDeleted", - "description": "Error to indicate that the source was removed because the video was deleted." - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaFailureReasonYoutubeErrorVideoDeleted": { - "description": "Error to indicate that the source was removed because the video was deleted.", - "id": "GoogleCloudNotebooklmV1alphaFailureReasonYoutubeErrorVideoDeleted", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaGoogleDocsSourceMetadata": { - "description": "Metadata about a google doc source.", - "id": "GoogleCloudNotebooklmV1alphaGoogleDocsSourceMetadata", - "properties": { - "documentId": { - "description": "Output only. The document id of the google doc.", - "readOnly": true, - "type": "string" - }, - "revisionId": { - "description": "Output only. Revision id for the doc.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaListRecentlyViewedNotebooksResponse": { - "description": "Response for NotebookService.ListRecentlyViewedNotebooks method.", - "id": "GoogleCloudNotebooklmV1alphaListRecentlyViewedNotebooksResponse", - "properties": { - "nextPageToken": { - "description": "The page token, provide this to retrieve the subsequent page.", - "type": "string" - }, - "notebooks": { - "description": "The list of recently viewed notebooks.", - "items": { - "$ref": "GoogleCloudNotebooklmV1alphaNotebook" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaNotebook": { - "description": "Notebook is a resource where users can store their content (as sources) and interacts with the content.", - "id": "GoogleCloudNotebooklmV1alphaNotebook", - "properties": { - "cmekConfig": { - "$ref": "GoogleCloudNotebooklmV1alphaCmekConfig", - "description": "Output only. CMEK-related information for the Notebook.", - "readOnly": true - }, - "emoji": { - "description": "Output only. The emoji of the notebook.", - "readOnly": true, - "type": "string" - }, - "metadata": { - "$ref": "GoogleCloudNotebooklmV1alphaNotebookMetadata", - "description": "Output only. The metadata of the notebook.", - "readOnly": true - }, - "name": { - "description": "Identifier. The identifier of the notebook. Format: `projects/{project}/locations/{location}/notebooks/{notebook_id}`. This field must be a UTF-8 encoded string.", - "type": "string" - }, - "notebookId": { - "description": "Output only. Notebook id, which is the last segment of the notebook's resource name.", - "readOnly": true, - "type": "string" - }, - "sources": { - "description": "Output only. List of sources in the notebook. This is an output only field.", - "items": { - "$ref": "GoogleCloudNotebooklmV1alphaSource" - }, - "readOnly": true, - "type": "array" - }, - "title": { - "description": "Optional. The title of the notebook.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaNotebookMetadata": { - "description": "Metadata for a notebook.", - "id": "GoogleCloudNotebooklmV1alphaNotebookMetadata", - "properties": { - "createTime": { - "description": "The time at which this project was created.", - "format": "google-datetime", - "type": "string" - }, - "isShareable": { - "description": "True if the project is shareable.", - "type": "boolean" - }, - "isShared": { - "description": "True if this project is currently shared with other people, false otherwise.", - "type": "boolean" - }, - "lastViewed": { - "description": "A timestamp indicating the time that the current in session user has last viewed the project.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaShareNotebookRequest": { - "description": "Request for NotebookService.ShareNotebook method.", - "id": "GoogleCloudNotebooklmV1alphaShareNotebookRequest", - "properties": { - "accountAndRoles": { - "description": "Required. The list of accounts and roles to share the notebook with.", - "items": { - "$ref": "GoogleCloudNotebooklmV1alphaAccountAndRole" - }, - "type": "array" - }, - "notifyViaEmail": { - "description": "Required. Whether to notify the shared users via email.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaShareNotebookResponse": { - "description": "Response for NotebookService.ShareNotebook method.", - "id": "GoogleCloudNotebooklmV1alphaShareNotebookResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaSource": { - "description": "Source represents a single source of content.", - "id": "GoogleCloudNotebooklmV1alphaSource", - "properties": { - "metadata": { - "$ref": "GoogleCloudNotebooklmV1alphaSourceMetadata", - "description": "Output only. Metadata about the source.", - "readOnly": true - }, - "name": { - "description": "Identifier. The full resource name of the source. Format: `projects/{project}/locations/{location}/notebooks/{notebook}/sources/{source_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", - "type": "string" - }, - "settings": { - "$ref": "GoogleCloudNotebooklmV1alphaSourceSettings", - "description": "Output only. Status of the source, and any failure reasons.", - "readOnly": true - }, - "sourceId": { - "$ref": "GoogleCloudNotebooklmV1alphaSourceId", - "description": "Optional. Output only. Source id, which is the last segment of the source's resource name.", - "readOnly": true - }, - "title": { - "description": "Optional. Title of the source.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudNotebooklmV1alphaSourceId": { "description": "SourceId is the last segment of the source's resource name.", "id": "GoogleCloudNotebooklmV1alphaSourceId", @@ -40895,194 +40383,6 @@ }, "type": "object" }, - "GoogleCloudNotebooklmV1alphaSourceMetadata": { - "description": "Represents the metadata of a source and some additional information.", - "id": "GoogleCloudNotebooklmV1alphaSourceMetadata", - "properties": { - "agentspaceMetadata": { - "$ref": "GoogleCloudNotebooklmV1alphaAgentspaceMetadata", - "description": "Metadata for an agentspace source." - }, - "googleDocsMetadata": { - "$ref": "GoogleCloudNotebooklmV1alphaGoogleDocsSourceMetadata", - "description": "Metadata for a google doc source." - }, - "sourceAddedTimestamp": { - "description": "The timestamp the source was added.", - "format": "google-datetime", - "type": "string" - }, - "tokenCount": { - "description": "The number of tokens in the source.", - "format": "int32", - "type": "integer" - }, - "wordCount": { - "description": "The word count of the source.", - "format": "int32", - "type": "integer" - }, - "youtubeMetadata": { - "$ref": "GoogleCloudNotebooklmV1alphaYoutubeMetadata", - "description": "Metadata for a youtube video source." - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaSourceSettings": { - "description": "Allows extension of Source Settings in the BatchCreateSources (Formerly AddSource request).", - "id": "GoogleCloudNotebooklmV1alphaSourceSettings", - "properties": { - "failureReason": { - "$ref": "GoogleCloudNotebooklmV1alphaFailureReason", - "description": "Failure reason containing details about why a source failed to ingest." - }, - "status": { - "description": "Status of the source.", - "enum": [ - "SOURCE_STATUS_UNSPECIFIED", - "SOURCE_STATUS_PENDING", - "SOURCE_STATUS_COMPLETE", - "SOURCE_STATUS_ERROR", - "SOURCE_STATUS_PENDING_DELETION", - "SOURCE_STATUS_TENTATIVE" - ], - "enumDescriptions": [ - "Unspecified status.", - "The source is pending addition.", - "Source addition is complete and successful.", - "Source addition has permanently failed.", - "The source is pending deletion.", - "The user is attempting to add a source, but we have not yet uploaded it or checked user limits. Does not count towards the user's source limit." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaUserContent": { - "description": "The \"Content\" messages refer to data the user wants to upload.", - "id": "GoogleCloudNotebooklmV1alphaUserContent", - "properties": { - "agentspaceContent": { - "$ref": "GoogleCloudNotebooklmV1alphaUserContentAgentspaceContent", - "description": "Agentspace content uploaded as source." - }, - "googleDriveContent": { - "$ref": "GoogleCloudNotebooklmV1alphaUserContentGoogleDriveContent", - "description": "The content from Google Drive." - }, - "textContent": { - "$ref": "GoogleCloudNotebooklmV1alphaUserContentTextContent", - "description": "The text content uploaded as source." - }, - "videoContent": { - "$ref": "GoogleCloudNotebooklmV1alphaUserContentVideoContent", - "description": "The video content uploaded as source." - }, - "webContent": { - "$ref": "GoogleCloudNotebooklmV1alphaUserContentWebContent", - "description": "The web content uploaded as source." - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaUserContentAgentspaceContent": { - "description": "Agentspace content uploaded as source.", - "id": "GoogleCloudNotebooklmV1alphaUserContentAgentspaceContent", - "properties": { - "documentName": { - "description": "Optional. The full resource name of the Agentspace document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`.", - "type": "string" - }, - "engineName": { - "description": "Optional. Engine to verify the permission of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`.", - "type": "string" - }, - "ideaforgeIdeaName": { - "description": "Optional. Resource name of the idea forge instance. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/ideaForgeInstances/{instance}`", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaUserContentGoogleDriveContent": { - "description": "The content from Google Drive.", - "id": "GoogleCloudNotebooklmV1alphaUserContentGoogleDriveContent", - "properties": { - "documentId": { - "description": "The document id of the selected document.", - "type": "string" - }, - "mimeType": { - "description": "The mime type of the selected document. This can be used to differentiate type of content selected in the drive picker. Use application/vnd.google-apps.document for Google Docs or application/vnd.google-apps.presentation for Google Slides.", - "type": "string" - }, - "sourceName": { - "description": "The name to be displayed for the source.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaUserContentTextContent": { - "description": "The text content uploaded as source.", - "id": "GoogleCloudNotebooklmV1alphaUserContentTextContent", - "properties": { - "content": { - "description": "The name to be displayed for the source.", - "type": "string" - }, - "sourceName": { - "description": "The display name of the text source.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaUserContentVideoContent": { - "description": "Video content uploaded as source.", - "id": "GoogleCloudNotebooklmV1alphaUserContentVideoContent", - "properties": { - "youtubeUrl": { - "description": "The youtube url of the video content.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaUserContentWebContent": { - "description": "The web content uploaded as source.", - "id": "GoogleCloudNotebooklmV1alphaUserContentWebContent", - "properties": { - "sourceName": { - "description": "The name to be displayed for the source.", - "type": "string" - }, - "url": { - "description": "If URL is supplied, will fetch the webpage in the backend.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNotebooklmV1alphaYoutubeMetadata": { - "description": "Metadata about a youtube video source.", - "id": "GoogleCloudNotebooklmV1alphaYoutubeMetadata", - "properties": { - "channelName": { - "description": "Output only. The channel name of the youtube video.", - "readOnly": true, - "type": "string" - }, - "videoId": { - "description": "Output only. The id of the youtube video.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, "GoogleIamV1Binding": { "description": "Associates `members`, or principals, with a `role`.", "id": "GoogleIamV1Binding", diff --git a/discovery/discoveryengine-v1beta.json b/discovery/discoveryengine-v1beta.json index 4d23d2bb41e..8094c7419cb 100644 --- a/discovery/discoveryengine-v1beta.json +++ b/discovery/discoveryengine-v1beta.json @@ -868,6 +868,39 @@ "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, + "getIamPolicy": { + "description": "Gets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:getIamPolicy", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.dataStores.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] + }, "getSiteSearchEngine": { "description": "Gets the SiteSearchEngine.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine", @@ -974,6 +1007,36 @@ "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, + "setIamPolicy": { + "description": "Sets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a DataStore resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:setIamPolicy", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] + }, "trainCustomModel": { "description": "Trains a custom model.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:trainCustomModel", @@ -5531,6 +5594,39 @@ "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] }, + "getIamPolicy": { + "description": "Gets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}:getIamPolicy", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.dataStores.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] + }, "getSiteSearchEngine": { "description": "Gets the SiteSearchEngine.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine", @@ -5636,6 +5732,36 @@ "https://www.googleapis.com/auth/discoveryengine.readwrite", "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" ] + }, + "setIamPolicy": { + "description": "Sets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a DataStore resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}:setIamPolicy", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/discoveryengine.readwrite", + "https://www.googleapis.com/auth/discoveryengine.serving.readwrite" + ] } }, "resources": { @@ -9554,7 +9680,7 @@ } } }, - "revision": "20260823", + "revision": "20260908", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -10253,6 +10379,10 @@ }, "type": "array" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Data protection policy to be used for sanitizing file uploads." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1AssistantCustomerPolicyModelArmorConfig", "description": "Optional. Model Armor configuration to be used for sanitizing user prompts and assistant responses." @@ -11169,6 +11299,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the connector." + }, "dataSource": { "description": "Required. The identifier for the data source. For the full, up-to-date list of supported connectors and their values, see [Connect a third-party data source](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/connect-third-party-data-source#sources-by-launch-stage).", "type": "string" @@ -11579,6 +11713,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1DataProtectionPolicy": { + "description": "Contains the data protection policy config for a DataStore or a connector.", + "id": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. Specifies the sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. Specifies the resource name of the Sensitive Data Protection content policy.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1DataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1DataStore", @@ -11645,6 +11801,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1DataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the data store." + }, "defaultSchemaId": { "description": "Output only. The id of the default Schema associated to this data store.", "readOnly": true, @@ -12403,7 +12563,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -12484,6 +12644,10 @@ "$ref": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1SessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "solutionType": { "description": "Required. The solutions of the engine.", "enum": [ @@ -14090,6 +14254,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1SessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1SessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1SessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1SetUpDataConnectorMetadata": { "description": "Metadata for DataConnectorService.SetUpDataConnector method.", "id": "GoogleCloudDiscoveryengineV1SetUpDataConnectorMetadata", @@ -14958,6 +15159,24 @@ "description": "Required. Model name (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). See `model_mixture` for the list of allowed models.", "type": "string" }, + "thinkingLevel": { + "description": "Optional. Sent as Vertex `ThinkingConfig.thinking_level`.", + "enum": [ + "THINKING_LEVEL_UNSPECIFIED", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Unset. The model applies its own default, which is not the same level for every model.", + "Least thinking. Not offered by every model.", + "Vertex `LOW`.", + "Vertex `MEDIUM`.", + "Vertex `HIGH`." + ], + "type": "string" + }, "weight": { "description": "Optional. Relative weight for this model in the mixture. Must be a finite, strictly positive value. Weights across all entries are normalized server-side, so they need not sum to 1.0. Defaults to 1.0 when unset, which is convenient when configuring a single model or an even mixture. Some Pro-tier models are capped at most 50% of the total weight; requests violating that cap are rejected with INVALID_ARGUMENT.", "format": "float", @@ -18670,7 +18889,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -18756,6 +18975,10 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "similarDocumentsConfig": { "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", "description": "Additional config specs for a `similar-items` engine." @@ -22280,6 +22503,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1alphaSessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSessionTurn": { "description": "Represents a turn, including a query from the user and a answer from service.", "id": "GoogleCloudDiscoveryengineV1alphaSessionTurn", @@ -24957,6 +25217,10 @@ }, "type": "array" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy", + "description": "Optional. Data protection policy to be used for sanitizing file uploads." + }, "modelArmorConfig": { "$ref": "GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyModelArmorConfig", "description": "Optional. Model Armor configuration to be used for sanitizing user prompts and assistant responses." @@ -26864,6 +27128,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy": { + "description": "Contains the data protection policy config for a DataStore or a connector.", + "id": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy", + "properties": { + "sensitiveDataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy", + "description": "Optional. Specifies the sensitive data protection policy for the connector source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy": { + "description": "Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy.", + "id": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy", + "properties": { + "policy": { + "description": "Optional. Specifies the resource name of the Sensitive Data Protection content policy.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1betaDataStore", @@ -26930,6 +27216,10 @@ "readOnly": true, "type": "string" }, + "dataProtectionPolicy": { + "$ref": "GoogleCloudDiscoveryengineV1betaDataProtectionPolicy", + "description": "Optional. Specifies the data protection policy for the data store." + }, "defaultSchemaId": { "description": "Output only. The id of the default Schema associated to this data store.", "readOnly": true, @@ -27865,7 +28155,7 @@ ], "type": "string" }, - "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", + "description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications`", "type": "object" }, "industryVertical": { @@ -27946,6 +28236,10 @@ "$ref": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." }, + "sessionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaSessionConfig", + "description": "Optional. Non-empty default. Session config for the engine." + }, "solutionType": { "description": "Required. The solutions of the engine.", "enum": [ @@ -33318,6 +33612,43 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSessionConfig": { + "description": "Configuration for the session.", + "id": "GoogleCloudDiscoveryengineV1betaSessionConfig", + "properties": { + "sessionManagementPolicy": { + "description": "Optional. Session management policy that defines who will manage the session.", + "enum": [ + "SESSION_MANAGEMENT_POLICY_UNSPECIFIED", + "NOT_MANAGED", + "VERTEX_AI_MANAGED" + ], + "enumDescriptions": [ + "Default value.", + "The session will be managed by the customer.", + "Sessions multi-tenancy will be controlled by Google using 1P or 3P identity providers." + ], + "type": "string" + }, + "sessionTtl": { + "$ref": "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl", + "description": "Optional. The TTL for the session. If unset, the default value is 60 days." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl": { + "description": "Defines the TTL for sessions.", + "id": "GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl", + "properties": { + "days": { + "description": "Defines the number of days for session TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSessionTurn": { "description": "Represents a turn, including a query from the user and a answer from service.", "id": "GoogleCloudDiscoveryengineV1betaSessionTurn", diff --git a/discovery/displayvideo-v2.json b/discovery/displayvideo-v2.json index ef36154054b..8e4ee0b2d71 100644 --- a/discovery/displayvideo-v2.json +++ b/discovery/displayvideo-v2.json @@ -7823,7 +7823,7 @@ } } }, - "revision": "20260811", + "revision": "20260902", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -11975,7 +11975,7 @@ "id": "DigitalContentLabelAssignedTargetingOptionDetails", "properties": { "excludedContentRatingTier": { - "description": "Required. The display name of the digital content label rating tier to be EXCLUDED.", + "description": "Required. The display name of the digital content label rating tier to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept the value `CONTENT_RATING_TIER_UNRATED`. All other values will be deprecated and no longer be accepted.**", "enum": [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", @@ -11986,13 +11986,13 @@ "CONTENT_RATING_TIER_FAMILIES" ], "enumDescriptions": [ - "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "Content that has not been labeled.", - "Content suitable for general audiences.", - "Content suitable for most audiences with parental guidance.", - "Content suitable for teen and older audiences.", - "Content suitable only for mature audiences.", - "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + "Content suitable for general audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for most audiences with parental guidance. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for teen and older audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable only for mature audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**" ], "type": "string" } @@ -12015,13 +12015,13 @@ "CONTENT_RATING_TIER_FAMILIES" ], "enumDescriptions": [ - "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "Content that has not been labeled.", - "Content suitable for general audiences.", - "Content suitable for most audiences with parental guidance.", - "Content suitable for teen and older audiences.", - "Content suitable only for mature audiences.", - "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + "Content suitable for general audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for most audiences with parental guidance. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for teen and older audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable only for mature audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**" ], "readOnly": true, "type": "string" @@ -17899,7 +17899,7 @@ "id": "SensitiveCategoryAssignedTargetingOptionDetails", "properties": { "excludedSensitiveCategory": { - "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED.", + "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept `SENSITIVE_CATEGORY_EMBEDDED_VIDEO` or `SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO`. All other values will be deprecated and no longer be accepted.**", "enum": [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", @@ -17924,23 +17924,23 @@ ], "enumDescriptions": [ "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", - "Adult or pornographic text, image, or video content.", - "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", - "Content related to audio, video, or software downloads.", - "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", - "Contains content related to betting or wagering in a real-world or online setting.", - "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", - "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", - "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", - "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", - "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", - "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", - "Political news and media, including discussions of social, governmental, and public policy.", - "Content related to religious thought or beliefs.", - "Content related to death, disasters, accidents, war, etc.", - "Content related to motor vehicle, aviation or other transportation accidents.", - "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.", + "Adult or pornographic text, image, or video content. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to audio, video, or software downloads. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to betting or wagering in a real-world or online setting. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Political news and media, including discussions of social, governmental, and public policy. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to religious thought or beliefs. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to death, disasters, accidents, war, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to motor vehicle, aviation or other transportation accidents. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "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). **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "YouTube videos embedded on websites outside of YouTube.com.", "Video of live events streamed over the internet." ], @@ -17979,23 +17979,23 @@ ], "enumDescriptions": [ "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", - "Adult or pornographic text, image, or video content.", - "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", - "Content related to audio, video, or software downloads.", - "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", - "Contains content related to betting or wagering in a real-world or online setting.", - "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", - "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", - "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", - "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", - "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", - "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", - "Political news and media, including discussions of social, governmental, and public policy.", - "Content related to religious thought or beliefs.", - "Content related to death, disasters, accidents, war, etc.", - "Content related to motor vehicle, aviation or other transportation accidents.", - "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.", + "Adult or pornographic text, image, or video content. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to audio, video, or software downloads. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to betting or wagering in a real-world or online setting. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Political news and media, including discussions of social, governmental, and public policy. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to religious thought or beliefs. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to death, disasters, accidents, war, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to motor vehicle, aviation or other transportation accidents. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "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). **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "YouTube videos embedded on websites outside of YouTube.com.", "Video of live events streamed over the internet." ], diff --git a/discovery/displayvideo-v3.json b/discovery/displayvideo-v3.json index da5b199f9bb..b447e986743 100644 --- a/discovery/displayvideo-v3.json +++ b/discovery/displayvideo-v3.json @@ -8360,7 +8360,7 @@ } } }, - "revision": "20260811", + "revision": "20260902", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -8576,7 +8576,7 @@ "type": "object" }, "AdGroupAd": { - "description": "A single ad associated with an ad group.", + "description": "LINT: LEGACY_NAMES A single ad associated with an ad group.", "id": "AdGroupAd", "properties": { "adGroupAdId": { @@ -15016,7 +15016,7 @@ "id": "DigitalContentLabelAssignedTargetingOptionDetails", "properties": { "excludedContentRatingTier": { - "description": "Required. The display name of the digital content label rating tier to be EXCLUDED.", + "description": "Required. The display name of the digital content label rating tier to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept the value `CONTENT_RATING_TIER_UNRATED`. All other values will be deprecated and no longer be accepted.**", "enum": [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", @@ -15027,13 +15027,13 @@ "CONTENT_RATING_TIER_FAMILIES" ], "enumDescriptions": [ - "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "Content that has not been labeled.", - "Content suitable for general audiences.", - "Content suitable for most audiences with parental guidance.", - "Content suitable for teen and older audiences.", - "Content suitable only for mature audiences.", - "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + "Content suitable for general audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for most audiences with parental guidance. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for teen and older audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable only for mature audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**" ], "type": "string" } @@ -15056,13 +15056,13 @@ "CONTENT_RATING_TIER_FAMILIES" ], "enumDescriptions": [ - "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "Content that has not been labeled.", - "Content suitable for general audiences.", - "Content suitable for most audiences with parental guidance.", - "Content suitable for teen and older audiences.", - "Content suitable only for mature audiences.", - "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + "Content suitable for general audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for most audiences with parental guidance. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for teen and older audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable only for mature audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**" ], "readOnly": true, "type": "string" @@ -21163,7 +21163,7 @@ "id": "SensitiveCategoryAssignedTargetingOptionDetails", "properties": { "excludedSensitiveCategory": { - "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED.", + "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept `SENSITIVE_CATEGORY_EMBEDDED_VIDEO` or `SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO`. All other values will be deprecated and no longer be accepted.**", "enum": [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", @@ -21188,23 +21188,23 @@ ], "enumDescriptions": [ "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", - "Adult or pornographic text, image, or video content.", - "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", - "Content related to audio, video, or software downloads.", - "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", - "Contains content related to betting or wagering in a real-world or online setting.", - "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", - "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", - "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", - "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", - "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", - "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", - "Political news and media, including discussions of social, governmental, and public policy.", - "Content related to religious thought or beliefs.", - "Content related to death, disasters, accidents, war, etc.", - "Content related to motor vehicle, aviation or other transportation accidents.", - "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.", + "Adult or pornographic text, image, or video content. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to audio, video, or software downloads. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to betting or wagering in a real-world or online setting. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Political news and media, including discussions of social, governmental, and public policy. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to religious thought or beliefs. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to death, disasters, accidents, war, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to motor vehicle, aviation or other transportation accidents. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "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). **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "YouTube videos embedded on websites outside of YouTube.com.", "Video of live events streamed over the internet." ], @@ -21243,23 +21243,23 @@ ], "enumDescriptions": [ "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", - "Adult or pornographic text, image, or video content.", - "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", - "Content related to audio, video, or software downloads.", - "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", - "Contains content related to betting or wagering in a real-world or online setting.", - "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", - "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", - "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", - "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", - "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", - "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", - "Political news and media, including discussions of social, governmental, and public policy.", - "Content related to religious thought or beliefs.", - "Content related to death, disasters, accidents, war, etc.", - "Content related to motor vehicle, aviation or other transportation accidents.", - "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.", + "Adult or pornographic text, image, or video content. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to audio, video, or software downloads. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to betting or wagering in a real-world or online setting. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Political news and media, including discussions of social, governmental, and public policy. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to religious thought or beliefs. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to death, disasters, accidents, war, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to motor vehicle, aviation or other transportation accidents. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "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). **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "YouTube videos embedded on websites outside of YouTube.com.", "Video of live events streamed over the internet." ], diff --git a/discovery/displayvideo-v4.json b/discovery/displayvideo-v4.json index b305140d085..28fe13db4b6 100644 --- a/discovery/displayvideo-v4.json +++ b/discovery/displayvideo-v4.json @@ -9618,7 +9618,7 @@ } } }, - "revision": "20260811", + "revision": "20260902", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -9904,7 +9904,7 @@ "type": "object" }, "AdGroupAd": { - "description": "A single ad associated with an ad group.", + "description": "LINT: LEGACY_NAMES A single ad associated with an ad group.", "id": "AdGroupAd", "properties": { "adGroupAdId": { @@ -16729,7 +16729,7 @@ "id": "DigitalContentLabelAssignedTargetingOptionDetails", "properties": { "excludedContentRatingTier": { - "description": "Required. The display name of the digital content label rating tier to be EXCLUDED.", + "description": "Required. The display name of the digital content label rating tier to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept the value `CONTENT_RATING_TIER_UNRATED`. All other values will be deprecated and no longer be accepted.**", "enum": [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", @@ -16740,13 +16740,13 @@ "CONTENT_RATING_TIER_FAMILIES" ], "enumDescriptions": [ - "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "Content that has not been labeled.", - "Content suitable for general audiences.", - "Content suitable for most audiences with parental guidance.", - "Content suitable for teen and older audiences.", - "Content suitable only for mature audiences.", - "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + "Content suitable for general audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for most audiences with parental guidance. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for teen and older audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable only for mature audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**" ], "type": "string" } @@ -16769,13 +16769,13 @@ "CONTENT_RATING_TIER_FAMILIES" ], "enumDescriptions": [ - "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "Content that has not been labeled.", - "Content suitable for general audiences.", - "Content suitable for most audiences with parental guidance.", - "Content suitable for teen and older audiences.", - "Content suitable only for mature audiences.", - "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + "Content suitable for general audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for most audiences with parental guidance. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for teen and older audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable only for mature audiences. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**" ], "readOnly": true, "type": "string" @@ -24441,7 +24441,7 @@ "id": "SensitiveCategoryAssignedTargetingOptionDetails", "properties": { "excludedSensitiveCategory": { - "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED.", + "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept `SENSITIVE_CATEGORY_EMBEDDED_VIDEO` or `SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO`. All other values will be deprecated and no longer be accepted.**", "enum": [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", @@ -24466,23 +24466,23 @@ ], "enumDescriptions": [ "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", - "Adult or pornographic text, image, or video content.", - "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", - "Content related to audio, video, or software downloads.", - "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", - "Contains content related to betting or wagering in a real-world or online setting.", - "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", - "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", - "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", - "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", - "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", - "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", - "Political news and media, including discussions of social, governmental, and public policy.", - "Content related to religious thought or beliefs.", - "Content related to death, disasters, accidents, war, etc.", - "Content related to motor vehicle, aviation or other transportation accidents.", - "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.", + "Adult or pornographic text, image, or video content. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to audio, video, or software downloads. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to betting or wagering in a real-world or online setting. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Political news and media, including discussions of social, governmental, and public policy. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to religious thought or beliefs. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to death, disasters, accidents, war, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to motor vehicle, aviation or other transportation accidents. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "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). **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "YouTube videos embedded on websites outside of YouTube.com.", "Video of live events streamed over the internet." ], @@ -24521,23 +24521,23 @@ ], "enumDescriptions": [ "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", - "Adult or pornographic text, image, or video content.", - "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", - "Content related to audio, video, or software downloads.", - "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", - "Contains content related to betting or wagering in a real-world or online setting.", - "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", - "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", - "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", - "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", - "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", - "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", - "Political news and media, including discussions of social, governmental, and public policy.", - "Content related to religious thought or beliefs.", - "Content related to death, disasters, accidents, war, etc.", - "Content related to motor vehicle, aviation or other transportation accidents.", - "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.", + "Adult or pornographic text, image, or video content. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to audio, video, or software downloads. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to betting or wagering in a real-world or online setting. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Political news and media, including discussions of social, governmental, and public policy. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to religious thought or beliefs. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to death, disasters, accidents, war, etc. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content related to motor vehicle, aviation or other transportation accidents. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "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). **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor. **Starting on *October 1, 2026*, this value will be deprecated and no longer be accepted as a valid value when assigning targeting.**", "YouTube videos embedded on websites outside of YouTube.com.", "Video of live events streamed over the internet." ], diff --git a/discovery/dlp-v2.json b/discovery/dlp-v2.json index feda3a89a1e..c46a22ef0f4 100644 --- a/discovery/dlp-v2.json +++ b/discovery/dlp-v2.json @@ -3545,7 +3545,7 @@ ], "parameters": { "parent": { - "description": "Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization): + Projects scope: `projects/{project_id}/locations/{location_id}` + Organizations scope: `organizations/{org_id}/locations/{location_id}`", + "description": "Required. Parent resource name. The format of this value varies depending on the scope of the request (project): + Projects scope: `projects/{project_id}/locations/{location_id}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -3634,7 +3634,7 @@ "type": "string" }, "parent": { - "description": "Required. Resource name of the organization or project, for example, `organizations/433245324/locations/europe` or `projects/project-id/locations/asia`.", + "description": "Required. Resource name of the project, for example, `projects/project-id/locations/asia`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -5274,7 +5274,7 @@ } } }, - "revision": "20260808", + "revision": "20260829", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -6828,11 +6828,6 @@ "$ref": "GooglePrivacyDlpV2InspectConfig", "description": "Optional. InspectConfig to use to produce findings." }, - "inspectTemplate": { - "$ref": "GooglePrivacyDlpV2InspectTemplate", - "deprecated": true, - "description": "Optional. InspectTemplate to use to produce findings. Deprecated: use inspect_config instead." - }, "loggingConfigs": { "description": "Optional. Log the actions taken by the content policy to external systems.", "items": { @@ -6900,9 +6895,17 @@ "id": "GooglePrivacyDlpV2ConversationMessage", "properties": { "content": { - "description": "The contents of this message.", + "deprecated": true, + "description": "Deprecated: Use `message_parts` instead. The contents of this message. Only one of `content` and `message_parts` can be set.", "type": "string" }, + "messageParts": { + "description": "Optional. The parts of the message. Restricted to being at most a single text item. Only one of `content` and `message_parts` can be set.", + "items": { + "$ref": "GooglePrivacyDlpV2MessagePart" + }, + "type": "array" + }, "messageType": { "description": "The type of message.", "enum": [ @@ -11375,6 +11378,17 @@ "properties": {}, "type": "object" }, + "GooglePrivacyDlpV2MessagePart": { + "description": "A part of a conversation message.", + "id": "GooglePrivacyDlpV2MessagePart", + "properties": { + "text": { + "description": "String content for text-based messages.", + "type": "string" + } + }, + "type": "object" + }, "GooglePrivacyDlpV2MetadataKeyValueExpression": { "description": "Configuration for a custom infoType that detects key-value pairs in the metadata matching the specified regular expressions.", "id": "GooglePrivacyDlpV2MetadataKeyValueExpression", @@ -11719,21 +11733,6 @@ "$ref": "GooglePrivacyDlpV2PolicyCondition" }, "type": "array" - }, - "returnVerdict": { - "deprecated": true, - "description": "If set, the verdict will be returned to the user. Deprecated: Use `action` instead.", - "enum": [ - "CONTENT_POLICY_VERDICT_UNSPECIFIED", - "ALLOW", - "BLOCK" - ], - "enumDescriptions": [ - "Not used.", - "The policy allows the provided content to be used.", - "The policy prevents the provided content from being used. This should result in a blocked file upload, exclusion from training dataset, or other similar block action. (specific action will depend on the caller)." - ], - "type": "string" } }, "type": "object" diff --git a/discovery/docs-v1.json b/discovery/docs-v1.json index 2295cb2ac50..faa17415d14 100644 --- a/discovery/docs-v1.json +++ b/discovery/docs-v1.json @@ -184,7 +184,7 @@ "type": "string" }, "includeTabsContent": { - "description": "Whether to populate the Document.tabs field instead of the text content fields like `body` and `documentStyle` on Document. - When `True`: Document content populates in the Document.tabs field instead of the text content fields in Document. - When `False`: The content of the document's first tab populates the content fields in Document excluding Document.tabs. If a document has only one tab, then that tab is used to populate the document content. Document.tabs will be empty.", + "description": "Whether to populate the `Document.tabs` field instead of the text content fields like `body` and `documentStyle` on `Document`. - When `true`: Document content populates in the `Document.tabs` field instead of the text content fields in `Document`. - When `false`: The content of the document's first tab populates the content fields in `Document` excluding `Document.tabs`. If a document has only one tab, then that tab is used to populate the document content. `Document.tabs` will be empty. If you use a field mask that references the `Document.tabs` field (or any subfield), the API implicitly treats the request as if you set `include_tabs_content` to `true`.", "location": "query", "type": "boolean" }, @@ -221,7 +221,7 @@ } } }, - "revision": "20260427", + "revision": "20260902", "rootUrl": "https://docs.googleapis.com/", "schemas": { "AddDocumentTabRequest": { @@ -1077,7 +1077,7 @@ "type": "string" }, "tabs": { - "description": "Tabs that are part of a document. Tabs can contain child tabs, a tab nested within another tab. Child tabs are represented by the Tab.childTabs field.", + "description": "Output only. Tabs that are part of a document. Tabs can contain child tabs, a tab nested within another tab. Child tabs are represented by the Tab.childTabs field.", "items": { "$ref": "Tab" }, diff --git a/discovery/drive-v3.json b/discovery/drive-v3.json index 8ece0f565e3..900fcb7e074 100644 --- a/discovery/drive-v3.json +++ b/discovery/drive-v3.json @@ -1344,6 +1344,12 @@ "fileId" ], "parameters": { + "copyComments": { + "default": "false", + "description": "Whether to copy the comments associated with the file.", + "location": "query", + "type": "boolean" + }, "enforceSingleParent": { "default": "false", "deprecated": true, @@ -3038,7 +3044,7 @@ } } }, - "revision": "20260823", + "revision": "20260901", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { diff --git a/discovery/file-v1.json b/discovery/file-v1.json index 716ce00df11..041dd34a5cb 100644 --- a/discovery/file-v1.json +++ b/discovery/file-v1.json @@ -1206,7 +1206,7 @@ } } }, - "revision": "20260710", + "revision": "20260819", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -2486,6 +2486,10 @@ "endpointProject": { "description": "Optional. Consumer service project in which the Private Service Connect endpoint would be set up. This is optional, and only relevant in case the network is a shared VPC. If this is not specified, the endpoint would be setup in the VPC host project.", "type": "string" + }, + "requestedIpAddress": { + "description": "Optional. Immutable. Optional: The desired IP address for the instance. If not specified, an IP will be automatically allocated. The IP must be from the subnetwork range configured in the Service Connection Policy. This effective ip address is set in the ip_addresses field. use 3 instead of 2 to avoid conflict with the reserved_ip_range field.", + "type": "string" } }, "type": "object" diff --git a/discovery/file-v1beta1.json b/discovery/file-v1beta1.json index 2ee52b4bea1..aef760ff4a6 100644 --- a/discovery/file-v1beta1.json +++ b/discovery/file-v1beta1.json @@ -1735,7 +1735,7 @@ } } }, - "revision": "20260819", + "revision": "20260827", "rootUrl": "https://file.googleapis.com/", "schemas": { "AcquireShareRequest": { @@ -1871,6 +1871,10 @@ "readOnly": true, "type": "string" }, + "sourceVolume": { + "description": "Optional. The resource name of the Filestore volume that the backup is created from. Should be in the format: projects/{project_id}/locations/{location_id}/volumePools/{volume_pool_id}/volumes/{volume_id}", + "type": "string" + }, "state": { "description": "Output only. The backup state.", "enum": [ @@ -2568,94 +2572,6 @@ }, "type": "object" }, - "InstanceTemplate": { - "description": "InstanceTemplate representation of a Cloud Filestore volume pool instance template.", - "id": "InstanceTemplate", - "properties": { - "backendType": { - "description": "Optional. Backend type.", - "enum": [ - "BACKEND_TYPE_UNSPECIFIED", - "COMPUTE_BASED_BACKEND", - "FILESTORE_BACKEND" - ], - "enumDescriptions": [ - "Backend type not set.", - "Instance is backed by Compute.", - "Instance is backed by Filestore." - ], - "type": "string" - }, - "capacityGb": { - "description": "Optional. Capacity in GB.", - "format": "int32", - "type": "integer" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Instance labels.", - "type": "object" - }, - "networks": { - "description": "Optional. Network configurations.", - "items": { - "$ref": "NetworkConfig" - }, - "type": "array" - }, - "performanceConfig": { - "$ref": "PerformanceConfig", - "description": "Optional. Performance configuration." - }, - "protocol": { - "description": "Optional. File protocol.", - "enum": [ - "FILE_PROTOCOL_UNSPECIFIED", - "NFS_V3", - "NFS_V4_1" - ], - "enumDescriptions": [ - "FILE_PROTOCOL_UNSPECIFIED serves a \"not set\" default value when a FileProtocol is a separate field in a message.", - "NFS 3.0.", - "NFS 4.1." - ], - "type": "string" - }, - "requestOverrides": { - "description": "Optional. Request overrides in JSON format.", - "type": "string" - }, - "tier": { - "description": "Optional. Tier of the instance.", - "enum": [ - "TIER_UNSPECIFIED", - "STANDARD", - "PREMIUM", - "BASIC_HDD", - "BASIC_SSD", - "HIGH_SCALE_SSD", - "ENTERPRISE", - "ZONAL", - "REGIONAL" - ], - "enumDescriptions": [ - "Not set.", - "STANDARD tier. BASIC_HDD is the preferred term for this tier.", - "PREMIUM tier. BASIC_SSD is the preferred term for this tier.", - "BASIC instances offer a maximum capacity of 63.9 TB. BASIC_HDD is an alias for STANDARD Tier, offering economical performance backed by HDD.", - "BASIC instances offer a maximum capacity of 63.9 TB. BASIC_SSD is an alias for PREMIUM Tier, and offers improved performance backed by SSD.", - "HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.", - "ENTERPRISE instances offer the features and availability needed for mission-critical workloads.", - "ZONAL instances offer expanded capacity and performance scaling capabilities.", - "REGIONAL instances offer the features and availability needed for mission-critical workloads." - ], - "type": "string" - } - }, - "type": "object" - }, "LdapConfig": { "description": "LdapConfig contains all the parameters for connecting to LDAP servers.", "id": "LdapConfig", @@ -3524,7 +3440,12 @@ "type": "string" }, "capacityGb": { - "description": "File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes. Must be greater than 0.", + "description": "Optional. File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes. Must be greater than 0. Exactly one of capacity_gb or capacity_mb must be specified.", + "format": "int64", + "type": "string" + }, + "capacityMb": { + "description": "Optional. File share capacity in Megabytes (MB). Must be greater than 0. Exactly one of capacity_gb or capacity_mb must be specified.", "format": "int64", "type": "string" }, @@ -3769,29 +3690,26 @@ "description": "VolumePool representation of a Cloud Filestore volume pool.", "id": "VolumePool", "properties": { + "activeVolumeIops": { + "description": "Optional. The number of IOPs provisioned per active volume.", + "format": "int32", + "type": "integer" + }, "createTime": { "description": "Output only. The time when the volume pool was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "description": { - "description": "Optional. A description of the volume pool with 2048 characters or less.", - "type": "string" - }, - "instanceListPageSize": { - "description": "Optional. The page size to use when listing instances.", + "defaultVolumeQuotaMib": { + "description": "Optional. The default quota per volume in MiB. Default: 1024 MiB.", "format": "int32", "type": "integer" }, - "instanceNamePrefix": { - "description": "Optional. Instance name prefix.", + "description": { + "description": "Optional. A description of the volume pool with 2048 characters or less.", "type": "string" }, - "instanceTemplate": { - "$ref": "InstanceTemplate", - "description": "Optional. Instance template details." - }, "labels": { "additionalProperties": { "type": "string" @@ -3799,91 +3717,18 @@ "description": "Optional. Resource labels to represent user provided metadata.", "type": "object" }, - "maxAcquireCandidates": { - "description": "Optional. The maximum number of candidates to fetch when acquiring a volume.", - "format": "int32", - "type": "integer" - }, - "maxInstances": { - "description": "Optional. Maximum number of instances to create.", - "format": "int32", - "type": "integer" - }, - "maxPendingInstanceCreations": { - "description": "Optional. The maximum number of pending instance creation requests.", - "format": "int32", - "type": "integer" - }, - "maxPendingVolumeCreationsPerInstance": { - "description": "Optional. The maximum number of pending volume creation requests per instance.", - "format": "int32", - "type": "integer" - }, - "maxPendingVolumeDeletionsPerInstance": { - "description": "Optional. The maximum number of pending volume deletion requests per instance.", - "format": "int32", - "type": "integer" - }, - "maxVolumesPerInstance": { - "description": "Optional. Maximum number of volumes per instance.", - "format": "int32", - "type": "integer" - }, - "minAvailableVolumes": { - "description": "Optional. Minimum number of available volumes to maintain.", - "format": "int32", - "type": "integer" - }, - "minInstances": { - "description": "Optional. Minimum number of instances to create.", - "format": "int32", - "type": "integer" - }, "name": { "description": "Identifier. The resource name of the volume pool, in the format `projects/{project}/locations/{location}/volumePools/{volume_pool}`.", "type": "string" }, - "negbaInstanceRatio": { - "description": "Optional. The ratio of Negba instances to maintain in the volume pool, between 0 and 1.", - "format": "float", - "type": "number" - }, - "operationPollLimit": { - "description": "Optional. The maximum number of operations to poll in a single reconciliation run.", - "format": "int32", - "type": "integer" - }, - "state": { - "description": "Output only. The volume pool state.", - "enum": [ - "STATE_UNSPECIFIED", - "READY", - "DELETING", - "INVALID" - ], - "enumDescriptions": [ - "State not set.", - "Volume pool is ready for use.", - "Volume pool is being deleted.", - "Volume pool is in an invalid state." - ], - "readOnly": true, + "network": { + "description": "Required. The VPC network to which the VolumePool should be attached. Only Private Service Connect (PSC) is supported.", "type": "string" }, - "uniqueId": { - "description": "Output only. Unique ID of the resource, as defined by CCFE.", + "uid": { + "description": "Output only. System-assigned unique identifier for the volume pool.", "readOnly": true, "type": "string" - }, - "volumeBatchSize": { - "description": "Optional. The number of volumes to create in a single batch.", - "format": "int32", - "type": "integer" - }, - "volumeSizeMb": { - "description": "Optional. Volume size in MiB.", - "format": "int32", - "type": "integer" } }, "type": "object" diff --git a/discovery/firebaseappcheck-v1.json b/discovery/firebaseappcheck-v1.json index 38301225b35..37a013b15e8 100644 --- a/discovery/firebaseappcheck-v1.json +++ b/discovery/firebaseappcheck-v1.json @@ -551,6 +551,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/firebase" ] + }, + "mintAppCheckToken": { + "description": "Mints a new App Check token for the specified Firebase App. This method is intended to be called from a privileged environment where the caller can be authorized via Cloud IAM; for example, using a service account. To call this method, the caller must have the [`firebaseappcheck.googleapis.com/tokens.mint`](https://firebase.google.com/docs/projects/iam/permissions#app-check) permission. Returns a MintAppCheckTokenResponse.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:mintAppCheckToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.mintAppCheckToken", + "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": "v1/{+app}:mintAppCheckToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1MintAppCheckTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1MintAppCheckTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] } }, "resources": { @@ -1535,7 +1564,7 @@ } } }, - "revision": "20260717", + "revision": "20260822", "rootUrl": "https://firebaseappcheck.googleapis.com/", "schemas": { "GoogleFirebaseAppcheckV1AppAttestConfig": { @@ -1971,6 +2000,17 @@ }, "type": "object" }, + "GoogleFirebaseAppcheckV1LimitedUseConfig": { + "description": "Configuration for a limited-use App Check token.", + "id": "GoogleFirebaseAppcheckV1LimitedUseConfig", + "properties": { + "jti": { + "description": "Optional. Specifies the desired `jti` claim (Section 4.1.7 of RFC 7519) in the returned App Check token. Limited-use App Check tokens with the same `jti` will be counted as the same token for the purposes of replay protection. The size of this field is limited to 500 bytes. If specified, its length must be at least 16 bytes. If this field is omitted or is empty, a randomly generated `jti` claim with length between 16 and 500 bytes (inclusive) will be used in the returned App Check token. Leaving this field empty is only recommended if your custom attestation provider itself is not vulnerable to replay attacks.", + "type": "string" + } + }, + "type": "object" + }, "GoogleFirebaseAppcheckV1ListDebugTokensResponse": { "description": "Response message for the ListDebugTokens method.", "id": "GoogleFirebaseAppcheckV1ListDebugTokensResponse", @@ -2025,6 +2065,38 @@ }, "type": "object" }, + "GoogleFirebaseAppcheckV1MintAppCheckTokenRequest": { + "description": "Request message for the MintAppCheckToken method.", + "id": "GoogleFirebaseAppcheckV1MintAppCheckTokenRequest", + "properties": { + "limitedUseConfig": { + "$ref": "GoogleFirebaseAppcheckV1LimitedUseConfig", + "description": "Optional. If specified, the returned App Check token will be a limited-use token minted according to the specified configuration options." + }, + "tokenTtl": { + "description": "Optional. If specified, the returned App Check token will be a session token, valid for the specified duration. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1MintAppCheckTokenResponse": { + "description": "Response message for the MintAppCheckToken method.", + "id": "GoogleFirebaseAppcheckV1MintAppCheckTokenResponse", + "properties": { + "token": { + "description": "The App Check token, used to access backend services protected by App Check. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.", + "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" + }, "GoogleFirebaseAppcheckV1PlayIntegrityConfig": { "description": "An app's Play Integrity configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API; 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": "GoogleFirebaseAppcheckV1PlayIntegrityConfig", diff --git a/discovery/firebaseappcheck-v1beta.json b/discovery/firebaseappcheck-v1beta.json index 2bfbbb4f286..585f237422c 100644 --- a/discovery/firebaseappcheck-v1beta.json +++ b/discovery/firebaseappcheck-v1beta.json @@ -612,6 +612,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/firebase" ] + }, + "mintAppCheckToken": { + "description": "Mints a new App Check token for the specified Firebase App. This method is intended to be called from a privileged environment where the caller can be authorized via Cloud IAM; for example, using a service account. To call this method, the caller must have the [`firebaseappcheck.googleapis.com/tokens.mint`](https://firebase.google.com/docs/projects/iam/permissions#app-check) permission. Returns a MintAppCheckTokenResponse.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:mintAppCheckToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.mintAppCheckToken", + "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}:mintAppCheckToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaMintAppCheckTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaMintAppCheckTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] } }, "resources": { @@ -1697,7 +1726,7 @@ } } }, - "revision": "20260717", + "revision": "20260822", "rootUrl": "https://firebaseappcheck.googleapis.com/", "schemas": { "GoogleFirebaseAppcheckV1betaAppAttestConfig": { @@ -2187,6 +2216,17 @@ }, "type": "object" }, + "GoogleFirebaseAppcheckV1betaLimitedUseConfig": { + "description": "Configuration for a limited-use App Check token.", + "id": "GoogleFirebaseAppcheckV1betaLimitedUseConfig", + "properties": { + "jti": { + "description": "Optional. Specifies the desired `jti` claim (Section 4.1.7 of RFC 7519) in the returned App Check token. Limited-use App Check tokens with the same `jti` will be counted as the same token for the purposes of replay protection. The size of this field is limited to 500 bytes. If specified, its length must be at least 16 bytes. If this field is omitted or is empty, a randomly generated `jti` claim with length between 16 and 500 bytes (inclusive) will be used in the returned App Check token. Leaving this field empty is only recommended if your custom attestation provider itself is not vulnerable to replay attacks.", + "type": "string" + } + }, + "type": "object" + }, "GoogleFirebaseAppcheckV1betaListDebugTokensResponse": { "description": "Response message for the ListDebugTokens method.", "id": "GoogleFirebaseAppcheckV1betaListDebugTokensResponse", @@ -2241,6 +2281,38 @@ }, "type": "object" }, + "GoogleFirebaseAppcheckV1betaMintAppCheckTokenRequest": { + "description": "Request message for the MintAppCheckToken method.", + "id": "GoogleFirebaseAppcheckV1betaMintAppCheckTokenRequest", + "properties": { + "limitedUseConfig": { + "$ref": "GoogleFirebaseAppcheckV1betaLimitedUseConfig", + "description": "Optional. If specified, the returned App Check token will be a limited-use token minted according to the specified configuration options." + }, + "tokenTtl": { + "description": "Optional. If specified, the returned App Check token will be a session token, valid for the specified duration. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaMintAppCheckTokenResponse": { + "description": "Response message for the MintAppCheckToken method.", + "id": "GoogleFirebaseAppcheckV1betaMintAppCheckTokenResponse", + "properties": { + "token": { + "description": "The App Check token, used to access backend services protected by App Check. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries.", + "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" + }, "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig": { "description": "An app's Play Integrity configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API; 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": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig", diff --git a/discovery/firebaseml-v2beta.json b/discovery/firebaseml-v2beta.json index 414acdcb00c..f4085925c6d 100644 --- a/discovery/firebaseml-v2beta.json +++ b/discovery/firebaseml-v2beta.json @@ -206,7 +206,7 @@ } } }, - "revision": "20260823", + "revision": "20260830", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -1625,6 +1625,10 @@ "description": "Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.", "format": "float", "type": "number" + }, + "translationConfig": { + "$ref": "GoogleCloudAiplatformV1beta1TranslationConfig", + "description": "Optional. Config for translation." } }, "type": "object" @@ -2394,7 +2398,7 @@ "AGENTIC" ], "enumDescriptions": [ - "Default. Uses model-specific processing (3.5 Pro+ -> `AGENTIC`, older models -> `STATIC`).", + "Defaults to model-specific processing.", "Fixed-rate frame extraction. All frames placed in context.", "Model-driven dynamic navigation. Recommended for most use cases." ], @@ -3415,6 +3419,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1TranslationConfig": { + "description": "Config for translation features.", + "id": "GoogleCloudAiplatformV1beta1TranslationConfig", + "properties": { + "echoTargetLanguage": { + "description": "Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language.", + "type": "boolean" + }, + "targetLanguageCode": { + "description": "Required. The target language for translation. Supported values are BCP-47 language codes (e.g. \"en\", \"es\", \"fr\").", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1UrlContext": { "description": "Tool to support URL context.", "id": "GoogleCloudAiplatformV1beta1UrlContext", diff --git a/discovery/firestore-v1.json b/discovery/firestore-v1.json index ec9a82edcc0..90b4999680e 100644 --- a/discovery/firestore-v1.json +++ b/discovery/firestore-v1.json @@ -2602,7 +2602,7 @@ } } }, - "revision": "20260818", + "revision": "20260826", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -4900,7 +4900,7 @@ "id": "GoogleFirestoreAdminV1SearchGeoSpec", "properties": { "geoJsonIndexingDisabled": { - "description": "Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed.", + "description": "Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of the value of this field.", "type": "boolean" } }, diff --git a/discovery/games-v1.json b/discovery/games-v1.json index 8e90a8dfc94..48a300112d3 100644 --- a/discovery/games-v1.json +++ b/discovery/games-v1.json @@ -1501,7 +1501,7 @@ } } }, - "revision": "20260813", + "revision": "20260907", "rootUrl": "https://games.googleapis.com/", "schemas": { "AchievementDefinition": { @@ -3410,11 +3410,6 @@ "stringValue": { "description": "A string value.", "type": "string" - }, - "timestampValue": { - "description": "A timestamp value.", - "format": "google-datetime", - "type": "string" } }, "type": "object" diff --git a/discovery/gkebackup-v1.json b/discovery/gkebackup-v1.json index 68563344739..f29b1bbbc8e 100644 --- a/discovery/gkebackup-v1.json +++ b/discovery/gkebackup-v1.json @@ -2560,7 +2560,7 @@ } } }, - "revision": "20260715", + "revision": "20260826", "rootUrl": "https://gkebackup.googleapis.com/", "schemas": { "AuditConfig": { @@ -2697,9 +2697,13 @@ "type": "object" }, "BDRBackupRestoreJobLog": { - "description": "Log entry for Backup and Restore Job for resources using BackupPlan based protection. Next Id: 26", + "description": "Log entry for Backup and Restore Job for resources using BackupPlan based protection. Next Id: 27", "id": "BDRBackupRestoreJobLog", "properties": { + "autoProtectionPolicy": { + "description": "The auto-protection policy that created the backup.", + "type": "string" + }, "backupConsistencyTime": { "description": "Backup consistency time.", "format": "google-datetime", diff --git a/discovery/health-v4.json b/discovery/health-v4.json index fb3a56bb215..30a1ffba040 100644 --- a/discovery/health-v4.json +++ b/discovery/health-v4.json @@ -26,9 +26,15 @@ "https://www.googleapis.com/auth/googlehealth.location.readonly": { "description": "See exercise GPS location data in Google Health" }, + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly": { + "description": "See your Google Health logged symptoms data" + }, "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly": { "description": "Add logged symptoms data to Google Health, and edit or delete the data it adds" }, + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly": { + "description": "See your Google Health mindfulness data" + }, "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly": { "description": "Add mindfulness data to Google Health, and edit or delete the data it adds" }, @@ -41,6 +47,9 @@ "https://www.googleapis.com/auth/googlehealth.profile.writeonly": { "description": "Add profile data to Google Health, and edit or delete the data it adds." }, + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly": { + "description": "See your Google Health reproductive health data" + }, "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly": { "description": "Add reproductive health data to Google Health, and edit or delete the data it adds" }, @@ -528,7 +537,10 @@ "https://www.googleapis.com/auth/googlehealth.ecg.readonly", "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", "https://www.googleapis.com/auth/googlehealth.irn.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", "https://www.googleapis.com/auth/googlehealth.profile.readonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", "https://www.googleapis.com/auth/googlehealth.settings.readonly", "https://www.googleapis.com/auth/googlehealth.sleep.readonly" ] @@ -780,9 +792,12 @@ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", "https://www.googleapis.com/auth/googlehealth.sleep.readonly", "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" @@ -848,9 +863,12 @@ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", "https://www.googleapis.com/auth/googlehealth.sleep.readonly", "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" @@ -899,9 +917,12 @@ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", "https://www.googleapis.com/auth/googlehealth.sleep.readonly", "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" @@ -989,9 +1010,12 @@ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", "https://www.googleapis.com/auth/googlehealth.sleep.readonly", "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" @@ -1027,9 +1051,12 @@ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", "https://www.googleapis.com/auth/googlehealth.sleep.readonly", "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" @@ -1107,7 +1134,7 @@ } } }, - "revision": "20260825", + "revision": "20260908", "rootUrl": "https://health.googleapis.com/", "schemas": { "ActiveEnergyBurned": { @@ -1979,7 +2006,7 @@ "description": "Required. Closed-open range of data points that will be rolled up. The start time must be aligned with the aggregation window. The maximum range for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes` and `total-calories` is 14 days. The maximum range for all other data types is 90 days." }, "windowSizeDays": { - "description": "Optional. Aggregation window size, in number of days. Defaults to 1 if not specified.", + "description": "Optional. Aggregation window size, in number of days. Defaults to 1 if not specified. If the requested range is not an exact multiple of `window_size_days`, the final bucket chronologically will be truncated at the upper endpoint of the range and will cover a duration shorter than `window_size_days`.", "format": "int32", "type": "integer" } @@ -3441,6 +3468,39 @@ }, "type": "object" }, + "GoogleDevicesandservicesHealthV4betaDataType": { + "description": "Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly.", + "id": "GoogleDevicesandservicesHealthV4betaDataType", + "properties": { + "name": { + "description": "Identifier. The resource name of the data type. Format: `users/{user}/dataTypes/{data_type}` See DataPoint.name for examples and possible values.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevicesandservicesHealthV4betaUser": { + "description": "Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly.", + "id": "GoogleDevicesandservicesHealthV4betaUser", + "properties": { + "name": { + "description": "Identifier. The resource name of the user. The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevicesandservicesHealthV4betaWebhookNotificationCloudLog": { + "description": "Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.", + "id": "GoogleDevicesandservicesHealthV4betaWebhookNotificationCloudLog", + "properties": { + "httpResponse": { + "$ref": "HttpResponse", + "description": "Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body." + } + }, + "type": "object" + }, "HeartBeat": { "description": "A single heart beat measurement.", "id": "HeartBeat", @@ -3557,6 +3617,10 @@ "description": "Captures user's heart rate variability (HRV) as measured by the root mean square of successive differences (RMSSD) between normal heartbeats or by standard deviation of the inter-beat intervals (SDNN).", "id": "HeartRateVariability", "properties": { + "metadata": { + "$ref": "HeartRateVariabilityMetadata", + "description": "Optional. Metadata used in 1P surfaces." + }, "rootMeanSquareOfSuccessiveDifferencesMilliseconds": { "description": "Optional. The root mean square of successive differences between normal heartbeats. This is a measure of heart rate variability used by Google Health.", "format": "double", @@ -3574,6 +3638,23 @@ }, "type": "object" }, + "HeartRateVariabilityMetadata": { + "description": "Metadata for HeartRateVariability.", + "id": "HeartRateVariabilityMetadata", + "properties": { + "highFrequencyPower": { + "description": "Optional. The power in interbeat interval fluctuations within the high frequency band (0.15 Hz - 0.4 Hz).", + "format": "double", + "type": "number" + }, + "lowFrequencyPower": { + "description": "Optional. The power in interbeat interval fluctuations within the low frequency band (0.04 Hz - 0.15 Hz).", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "HeartRateVariabilityPersonalRangeRollupValue": { "description": "Represents the result of the rollup of the user's daily heart rate variability personal range.", "id": "HeartRateVariabilityPersonalRangeRollupValue", @@ -4761,13 +4842,13 @@ "type": "integer" }, "autoRunningStrideLengthMm": { - "description": "Output only. The automatically calculated running stride length, in millimeters. The user must consent to one of the following access scopes to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness`", + "description": "Output only. The automatically calculated running stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly`", "format": "int32", "readOnly": true, "type": "integer" }, "autoWalkingStrideLengthMm": { - "description": "Output only. The automatically calculated walking stride length, in millimeters. The user must consent to one of the following access scopes to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness`", + "description": "Output only. The automatically calculated walking stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly`", "format": "int32", "readOnly": true, "type": "integer" @@ -4782,12 +4863,12 @@ "type": "string" }, "userConfiguredRunningStrideLengthMm": { - "description": "Optional. The user's user configured running stride length, in millimeters. The user must consent to one of the following access scopes to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness`", + "description": "Optional. The user's user configured running stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly`", "format": "int32", "type": "integer" }, "userConfiguredWalkingStrideLengthMm": { - "description": "Optional. The user's user configured walking stride length, in millimeters. The user must consent to one of the following access scopes to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness`", + "description": "Optional. The user's user configured walking stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly`", "format": "int32", "type": "integer" } @@ -5047,7 +5128,7 @@ "description": "Required. Closed-open range of data points that will be rolled up. The maximum range for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes` and `total-calories` is 14 days. The maximum range for all other data types is 90 days." }, "windowSize": { - "description": "Required. The size of the time window to group data points into before applying the aggregation functions. Must be at least 1 second.", + "description": "Required. The size of the time window to group data points into before applying the aggregation functions. Must be at least 1 second. If the requested range is not an exact multiple of `window_size`, the final bucket chronologically will be truncated at the upper endpoint of the range and will cover a duration shorter than `window_size`.", "format": "google-duration", "type": "string" } diff --git a/discovery/health-v4beta.json b/discovery/health-v4beta.json new file mode 100644 index 00000000000..54c424bfe3b --- /dev/null +++ b/discovery/health-v4beta.json @@ -0,0 +1,6625 @@ +{ + "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/googlehealth.activity_and_fitness.readonly": { + "description": "See your Google Health activity and fitness data" + }, + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly": { + "description": "Add activity and fitness data to Google Health, and edit or delete the data it adds." + }, + "https://www.googleapis.com/auth/googlehealth.ecg.readonly": { + "description": "See your Google Health ECG data" + }, + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly": { + "description": "See your Google Health health metrics and measurement data" + }, + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly": { + "description": "Add health metric and measurements data to Google Health, and edit or delete the data it adds." + }, + "https://www.googleapis.com/auth/googlehealth.irn.readonly": { + "description": "See your Google Health Irregular Rhythm Notifications data" + }, + "https://www.googleapis.com/auth/googlehealth.location.readonly": { + "description": "See exercise GPS location data in Google Health" + }, + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly": { + "description": "See your Google Health logged symptoms data" + }, + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly": { + "description": "Add logged symptoms data to Google Health, and edit or delete the data it adds" + }, + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly": { + "description": "See your Google Health mindfulness data" + }, + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly": { + "description": "Add mindfulness data to Google Health, and edit or delete the data it adds" + }, + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly": { + "description": "Add nutrition data to Google Health, and edit or delete the data it adds." + }, + "https://www.googleapis.com/auth/googlehealth.profile.readonly": { + "description": "See your Google Health profile data" + }, + "https://www.googleapis.com/auth/googlehealth.profile.writeonly": { + "description": "Add profile data to Google Health, and edit or delete the data it adds." + }, + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly": { + "description": "See your Google Health reproductive health data" + }, + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly": { + "description": "Add reproductive health data to Google Health, and edit or delete the data it adds" + }, + "https://www.googleapis.com/auth/googlehealth.settings.readonly": { + "description": "See your Google Health settings" + }, + "https://www.googleapis.com/auth/googlehealth.settings.writeonly": { + "description": "Add settings data to Google Health, and edit or delete the data it adds." + }, + "https://www.googleapis.com/auth/googlehealth.sleep.readonly": { + "description": "See your Google Health sleep data" + }, + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly": { + "description": "Add sleep data to Google Health, and edit or delete the data it adds." + } + } + } + }, + "basePath": "", + "baseUrl": "https://health.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Google Health API", + "description": "The Google Health API lets you view and manage health and fitness metrics and measurement data.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/health", + "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": "health:v4beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://health.mtls.googleapis.com/", + "name": "health", + "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": { + "subscribers": { + "methods": { + "create": { + "description": "Registers a new subscriber endpoint to receive notifications. A subscriber represents an application or service that wishes to receive data change notifications for users who have granted consent. **Endpoint Verification:** For a subscriber to be successfully created, the provided `endpoint_uri` must be a valid HTTPS endpoint and must pass an automated verification check. The backend will send two HTTP POST requests to the `endpoint_uri`: 1. **Verification with Authorization:** * **Headers:** Includes `Content-Type: application/json` and `Authorization` (with the exact value from `CreateSubscriberPayload.endpoint_authorization.secret`). * **Body:** `{\"type\": \"verification\"}` * **Expected Response:** HTTP `201 Created`. 2. **Verification without Authorization:** * **Headers:** Includes `Content-Type: application/json`. The `Authorization` header is OMITTED. * **Body:** `{\"type\": \"verification\"}` * **Expected Response:** HTTP `401 Unauthorized` or `403 Forbidden`. Both tests must pass for the subscriber creation to succeed. If verification fails, the operation will not be completed and an error will be returned. This process ensures the endpoint is reachable and correctly validates the `Authorization` header.", + "flatPath": "v4beta/projects/{projectsId}/subscribers", + "httpMethod": "POST", + "id": "health.projects.subscribers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this subscriber will be created. Format: projects/{project_number} Example: projects/1234567890", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "subscriberId": { + "description": "Optional. The ID to use for the subscriber, which will become the final component of the subscriber's resource name. This value should be 4-36 characters, and valid characters are /[a-z]([a-z0-9-]{2,34}[a-z0-9])/.", + "location": "query", + "type": "string" + } + }, + "path": "v4beta/{+parent}/subscribers", + "request": { + "$ref": "CreateSubscriberPayload" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a subscriber registration. This will stop all notifications to the subscriber's endpoint.", + "flatPath": "v4beta/projects/{projectsId}/subscribers/{subscribersId}", + "httpMethod": "DELETE", + "id": "health.projects.subscribers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Optional. If set to true, any child resources (e.g., subscriptions) will also be deleted. If false (default) and child resources exist, the request will fail.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the subscriber to delete. Format: projects/{project}/subscribers/{subscriber} Example: projects/my-project/subscribers/my-subscriber-123 The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated if not provided during creation.", + "location": "path", + "pattern": "^projects/[^/]+/subscribers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all subscribers registered within the owned Google Cloud Project.", + "flatPath": "v4beta/projects/{projectsId}/subscribers", + "httpMethod": "GET", + "id": "health.projects.subscribers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of subscribers to return. The service may return fewer than this value. If unspecified, at most 50 subscribers 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 `ListSubscribers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscribers` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of subscribers. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/subscribers", + "response": { + "$ref": "ListSubscribersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the configuration of an existing subscriber, such as the endpoint URI or the data types it's interested in. **Endpoint Verification:** If the `endpoint_uri` or `endpoint_authorization` field is included in the `update_mask`, the backend will re-verify the endpoint. The verification process is the same as described in `CreateSubscriber`: 1. **Verification with Authorization:** POST to the new or existing `endpoint_uri` with the new or existing `Authorization` secret. Expects HTTP `201 Created`. 2. **Verification without Authorization:** POST to the `endpoint_uri` without the `Authorization` header. Expects HTTP `401 Unauthorized` or `403 Forbidden`. Both tests must pass using the potentially updated values for the subscriber update to succeed. If verification fails, the update will not be applied, and an error will be returned.", + "flatPath": "v4beta/projects/{projectsId}/subscribers/{subscribersId}", + "httpMethod": "PATCH", + "id": "health.projects.subscribers.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the Subscriber. Format: projects/{project}/subscribers/{subscriber} The {project} ID is a Google Cloud Project ID or Project Number. The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise (e.g., a UUID). Example (User-settable subscriber ID): projects/my-project/subscribers/my-sub-123 Example (System-generated subscriber ID): projects/my-project/subscribers/a1b2c3d4-e5f6-7890-1234-567890abcdef", + "location": "path", + "pattern": "^projects/[^/]+/subscribers/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. A field mask that specifies which fields of the Subscriber message are to be updated. This allows for partial updates. Supported fields: - endpoint_uri - subscriber_configs - endpoint_authorization", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4beta/{+name}", + "request": { + "$ref": "Subscriber" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "subscriptions": { + "methods": { + "create": { + "description": "Creates a subscription for a specific user to a specific subscriber. This method requires the subscriber to have a `SubscriptionCreatePolicy` set to `MANUAL` for the given data types.", + "flatPath": "v4beta/projects/{projectsId}/subscribers/{subscribersId}/subscriptions", + "httpMethod": "POST", + "id": "health.projects.subscribers.subscriptions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise.", + "location": "path", + "pattern": "^projects/[^/]+/subscribers/[^/]+$", + "required": true, + "type": "string" + }, + "subscriptionId": { + "description": "Optional. The {subscription_id} is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise. If provided, the ID must be unique within the parent subscriber.", + "location": "query", + "type": "string" + } + }, + "path": "v4beta/{+parent}/subscriptions", + "request": { + "$ref": "CreateSubscriptionPayload" + }, + "response": { + "$ref": "Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a specific user subscription, stopping notifications for this user to this subscriber.", + "flatPath": "v4beta/projects/{projectsId}/subscribers/{subscribersId}/subscriptions/{subscriptionsId}", + "httpMethod": "DELETE", + "id": "health.projects.subscribers.subscriptions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the subscription to delete. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated if not provided during creation.", + "location": "path", + "pattern": "^projects/[^/]+/subscribers/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all active subscriptions for a given subscriber. This can be filtered, for example, by user or data type.", + "flatPath": "v4beta/projects/{projectsId}/subscribers/{subscribersId}/subscriptions", + "httpMethod": "GET", + "id": "health.projects.subscribers.subscriptions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = \"users/user1\" Example: user = \"users/user1\" OR user = \"users/user2\" Example: user = \"users/user1\" AND (data_type = \"sleep\" OR data_type = \"weight\")", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of subscriptions to return. The service may return fewer than this value. If unspecified, at most 50 subscriptions 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 `ListSubscriptions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscriptions` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise.", + "location": "path", + "pattern": "^projects/[^/]+/subscribers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/subscriptions", + "response": { + "$ref": "ListSubscriptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the data types for an existing user subscription.", + "flatPath": "v4beta/projects/{projectsId}/subscribers/{subscribersId}/subscriptions/{subscriptionsId}", + "httpMethod": "PATCH", + "id": "health.projects.subscribers.subscriptions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.", + "location": "path", + "pattern": "^projects/[^/]+/subscribers/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4beta/{+name}", + "request": { + "$ref": "Subscription" + }, + "response": { + "$ref": "Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "shl": { + "resources": { + "m": { + "methods": { + "getShlManifest": { + "description": "Forward a manifest request for a given SHL", + "flatPath": "v4beta/shl/m/{externalShlId}", + "httpMethod": "POST", + "id": "health.shl.m.getShlManifest", + "parameterOrder": [ + "externalShlId" + ], + "parameters": { + "externalShlId": { + "description": "Required. External ID mapping to a ShlSharedLinkCapabilityToken object See https://docs.google.com/document/d/1Pch20pxJHRbsaMxp0EYgs3ZU0Gu7QTUznk8LhvbQvfY/edit?tab=t.0#heading=h.17wg41voij6q", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v4beta/shl/m/{externalShlId}", + "request": { + "$ref": "ManifestParams" + }, + "response": { + "$ref": "HttpBody" + } + } + } + }, + "r": { + "methods": { + "get": { + "description": "Forward a resource request for a given SHL", + "flatPath": "v4beta/shl/r/{externalShlId}/{resourceToken}", + "httpMethod": "GET", + "id": "health.shl.r.get", + "parameterOrder": [ + "externalShlId", + "resourceToken" + ], + "parameters": { + "externalShlId": { + "description": "Required. External ID mapping to a ShlSharedLinkCapabilityToken object See https://docs.google.com/document/d/1Pch20pxJHRbsaMxp0EYgs3ZU0Gu7QTUznk8LhvbQvfY/edit?tab=t.0#heading=h.17wg41voij6q", + "location": "path", + "required": true, + "type": "string" + }, + "resourceToken": { + "description": "Required. Encoded, encrypted message containing resource access details", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v4beta/shl/r/{externalShlId}/{resourceToken}", + "response": { + "$ref": "HttpBody" + } + } + } + } + } + }, + "users": { + "methods": { + "getIdentity": { + "description": "Gets the user's identity. It includes the legacy Fitbit user ID and the Google user ID and it can be used by migrating clients to map identifiers between the two systems.", + "flatPath": "v4beta/users/{usersId}/identity", + "httpMethod": "GET", + "id": "health.users.getIdentity", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Identity. Format: `users/me/identity`", + "location": "path", + "pattern": "^users/[^/]+/identity$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "response": { + "$ref": "Identity" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", + "https://www.googleapis.com/auth/googlehealth.ecg.readonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", + "https://www.googleapis.com/auth/googlehealth.irn.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", + "https://www.googleapis.com/auth/googlehealth.profile.readonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", + "https://www.googleapis.com/auth/googlehealth.settings.readonly", + "https://www.googleapis.com/auth/googlehealth.sleep.readonly" + ] + }, + "getIrnProfile": { + "description": "Returns user's IRN Profile details.", + "flatPath": "v4beta/users/{usersId}/irnProfile", + "httpMethod": "GET", + "id": "health.users.getIrnProfile", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the IRN Profile. Format: `users/{user}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.", + "location": "path", + "pattern": "^users/[^/]+/irnProfile$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "response": { + "$ref": "IrnProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.irn.readonly" + ] + }, + "getProfile": { + "description": "Returns user Profile details.", + "flatPath": "v4beta/users/{usersId}/profile", + "httpMethod": "GET", + "id": "health.users.getProfile", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Profile. Format: `users/me/profile`.", + "location": "path", + "pattern": "^users/[^/]+/profile$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "response": { + "$ref": "Profile" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.profile.readonly" + ] + }, + "getSettings": { + "description": "Returns user settings details.", + "flatPath": "v4beta/users/{usersId}/settings", + "httpMethod": "GET", + "id": "health.users.getSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Settings. Format: `users/me/settings`.", + "location": "path", + "pattern": "^users/[^/]+/settings$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.settings.readonly" + ] + }, + "updateProfile": { + "description": "Updates the user's profile details.", + "flatPath": "v4beta/users/{usersId}/profile", + "httpMethod": "PATCH", + "id": "health.users.updateProfile", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of this Profile resource. Format: `users/{user}/profile` Example: `users/1234567890/profile` or `users/me/profile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.", + "location": "path", + "pattern": "^users/[^/]+/profile$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4beta/{+name}", + "request": { + "$ref": "Profile" + }, + "response": { + "$ref": "Profile" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.profile.writeonly" + ] + }, + "updateSettings": { + "description": "Updates the user's settings details.", + "flatPath": "v4beta/users/{usersId}/settings", + "httpMethod": "PATCH", + "id": "health.users.updateSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of this Settings resource. Format: `users/{user}/settings` Example: `users/1234567890/settings` or `users/me/settings` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.", + "location": "path", + "pattern": "^users/[^/]+/settings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4beta/{+name}", + "request": { + "$ref": "Settings" + }, + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.settings.writeonly" + ] + } + }, + "resources": { + "dataTypes": { + "resources": { + "dataPoints": { + "methods": { + "batchDelete": { + "description": "Delete a batch of identifyable data points.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints:batchDelete", + "httpMethod": "POST", + "id": "health.users.dataTypes.dataPoints.batchDelete", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Optional. Parent (data type) for the Data Point collection Format: `users/me/dataTypes/{data_type}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/-` For a list of the supported data types see the DataPoint data union field. Deleting data points across multiple data type collections is supported following https://aip.dev/159. If this is set, the parent of all of the data points specified in `names` must match this field.", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/dataPoints:batchDelete", + "request": { + "$ref": "BatchDeleteDataPointsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" + ] + }, + "create": { + "description": "Creates a single identifiable data point.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints", + "httpMethod": "POST", + "id": "health.users.dataTypes.dataPoints.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the data point will be created. Format: `users/{user}/dataTypes/{data_type}`", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/dataPoints", + "request": { + "$ref": "DataPoint" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" + ] + }, + "dailyRollUp": { + "description": "Roll up data points over civil time intervals for supported data types.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints:dailyRollUp", + "httpMethod": "POST", + "id": "health.users.dataTypes.dataPoints.dailyRollUp", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent data type of the Data Point collection. Format: `users/{user}/dataTypes/{data_type}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/distance` For a list of the supported data types see the DailyRollupDataPoint value union field.", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/dataPoints:dailyRollUp", + "request": { + "$ref": "DailyRollUpDataPointsRequest" + }, + "response": { + "$ref": "DailyRollUpDataPointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", + "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", + "https://www.googleapis.com/auth/googlehealth.sleep.readonly", + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" + ] + }, + "exportExerciseTcx": { + "description": "Exports exercise data in TCX format. **IMPORTANT:** HTTP clients must append `?alt=media` to the request URL to download the raw TCX file. Example: `https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints/EXERCISE_ID:exportExerciseTcx?alt=media` Without `alt=media`, the server returns a JSON response (`ExportExerciseTcxResponse`) which is intended primarily for gRPC clients. **Note:** While the Authorization section below states that any one of the listed scopes is accepted, this specific method requires the user to provide both one of the `activity_and_fitness` scopes (`normal` or `readonly`) AND one of the `location` scopes (`normal` or `readonly`) in their access token to succeed.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints/{dataPointsId}:exportExerciseTcx", + "httpMethod": "GET", + "id": "health.users.dataTypes.dataPoints.exportExerciseTcx", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the exercise data point to export. Format: `users/{user}/dataTypes/exercise/dataPoints/{data_point}` Example: `users/me/dataTypes/exercise/dataPoints/2026443605080188808` The `{user}` is the alias `\"me\"` currently. Future versions may support user IDs. The `{data_point}` ID maps to the exercise ID, which is a long integer.", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+/dataPoints/[^/]+$", + "required": true, + "type": "string" + }, + "partialData": { + "description": "Optional. Indicates whether to include the TCX data points when the GPS data is not available. If not specified, defaults to `false` and partial data will not be included.", + "location": "query", + "type": "boolean" + } + }, + "path": "v4beta/{+name}:exportExerciseTcx", + "response": { + "$ref": "ExportExerciseTcxResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", + "https://www.googleapis.com/auth/googlehealth.location.readonly" + ], + "supportsMediaDownload": true, + "useMediaDownloadService": true + }, + "get": { + "description": "Get a single identifyable data point.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints/{dataPointsId}", + "httpMethod": "GET", + "id": "health.users.dataTypes.dataPoints.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the data point to retrieve. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` See DataPoint.name for examples and possible values.", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+/dataPoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "response": { + "$ref": "DataPoint" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", + "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", + "https://www.googleapis.com/auth/googlehealth.sleep.readonly", + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" + ] + }, + "list": { + "description": "Query user health and fitness data points.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints", + "httpMethod": "GET", + "id": "health.users.dataTypes.dataPoints.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type}.interval.start_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time >= \"2023-11-24T00:00:00Z\" AND steps.interval.start_time < \"2023-11-25T00:00:00Z\"` - `distance.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Interval civil start time: - Pattern: `{interval_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time >= \"2023-11-24\" AND steps.interval.civil_start_time < \"2023-11-25\"` - `distance.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Sample observation physical time: - Pattern: `{sample_data_type}.sample_time.physical_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time >= \"2023-11-24T00:00:00Z\" AND weight.sample_time.physical_time < \"2023-11-25T00:00:00Z\"` - `weight.sample_time.physical_time >= \"2024-08-14T12:34:56Z\"` - Sample observation civil time: - Pattern: `{sample_data_type}.sample_time.civil_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time >= \"2023-11-24\" AND weight.sample_time.civil_time < \"2023-11-25\"` - `weight.sample_time.civil_time >= \"2024-08-14T12:34:56\"` - Daily summary date: - Pattern: `{daily_summary_data_type}.date` - Supported comparison operators: `>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < \"2024-08-15\"` - Session civil start time (**Excluding Sleep and ECG**): - Pattern: `{session_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time >= \"2023-11-24\" AND exercise.interval.civil_start_time < \"2023-11-25\"` - `exercise.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Session start time (**ECG specific**): - Pattern: `electrocardiogram.interval.start_time` - Supported comparison operators: `>=` - Timestamp literal expected in RFC-3339 format - Example: - `electrocardiogram.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., `electrocardiogram.interval.end_time`) is not supported. - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time >= \"2023-11-24T00:00:00Z\" AND sleep.interval.end_time < \"2023-11-25T00:00:00Z\"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time >= \"2023-11-24\" AND sleep.interval.civil_end_time < \"2023-11-25\"` Data points in the response will be ordered by the interval start time in descending order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For `exercise` and `sleep` the default page size is 25. The maximum page size for `exercise` and `sleep` is 25.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` from a previous request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent data type of the Data Point collection. Format: `users/me/dataTypes/{data_type}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/weight` For a list of the supported data types see the DataPoint data union field.", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/dataPoints", + "response": { + "$ref": "ListDataPointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", + "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", + "https://www.googleapis.com/auth/googlehealth.sleep.readonly", + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" + ] + }, + "patch": { + "description": "Updates a single identifiable data point. If a data point with the specified `name` is not found, the request will fail.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints/{dataPointsId}", + "httpMethod": "PATCH", + "id": "health.users.dataTypes.dataPoints.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+/dataPoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "request": { + "$ref": "DataPoint" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" + ] + }, + "reconcile": { + "description": "Reconcile data points from multiple data sources into a single data stream.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints:reconcile", + "httpMethod": "GET", + "id": "health.users.dataTypes.dataPoints.reconcile", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dataSourceFamily": { + "description": "Optional. The data source family name to reconcile. If empty, data points from all data sources will be reconciled. Format: `users/me/dataSourceFamilies/{data_source_family}` - `users/me/dataSourceFamilies/all-sources` - Default value. Includes data from all available data sources. - `users/me/dataSourceFamilies/google-wearables` - Includes data from Google and Fitbit tracker devices (such as Fitbit trackers and Pixel Watch). Excludes manually logged data. - `users/me/dataSourceFamilies/google-sources` - Includes first-party Google data, such as data from tracker devices, manually logged data, and Health Connect.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Optional. Filter expression based on https://aip.dev/160. A time range, either physical or civil, can be specified. See the ListDataPointsRequest.filter for the supported fields and syntax.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For `exercise` and `sleep` the default page size is 25. The maximum page size for `exercise` and `sleep` is 25.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` from a previous request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent data type of the Data Point collection. Format: `users/me/dataTypes/{data_type}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/heart-rate` For a list of the supported data types see the DataPoint data union field.", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/dataPoints:reconcile", + "response": { + "$ref": "ReconcileDataPointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", + "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", + "https://www.googleapis.com/auth/googlehealth.sleep.readonly", + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" + ] + }, + "rollUp": { + "description": "Roll up data points over physical time intervals for supported data types.", + "flatPath": "v4beta/users/{usersId}/dataTypes/{dataTypesId}/dataPoints:rollUp", + "httpMethod": "POST", + "id": "health.users.dataTypes.dataPoints.rollUp", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent data type of the Data Point collection. Format: `users/{user}/dataTypes/{data_type}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/distance` For a list of the supported data types see the RollupDataPoint value union field.", + "location": "path", + "pattern": "^users/[^/]+/dataTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/dataPoints:rollUp", + "request": { + "$ref": "RollUpDataPointsRequest" + }, + "response": { + "$ref": "RollUpDataPointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", + "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", + "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly", + "https://www.googleapis.com/auth/googlehealth.location.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly", + "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.readonly", + "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly", + "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly", + "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly", + "https://www.googleapis.com/auth/googlehealth.sleep.readonly", + "https://www.googleapis.com/auth/googlehealth.sleep.writeonly" + ] + } + } + } + } + }, + "pairedDevices": { + "methods": { + "get": { + "description": "Returns user's Device.", + "flatPath": "v4beta/users/{usersId}/pairedDevices/{pairedDevicesId}", + "httpMethod": "GET", + "id": "health.users.pairedDevices.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the device to retrieve. Format: users/{user}/devices/{device}", + "location": "path", + "pattern": "^users/[^/]+/pairedDevices/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+name}", + "response": { + "$ref": "PairedDevice" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.settings.readonly" + ] + }, + "list": { + "description": "Returns the user's list of paired 1P trackers and smartwatches.", + "flatPath": "v4beta/users/{usersId}/pairedDevices", + "httpMethod": "GET", + "id": "health.users.pairedDevices.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of devices to return. The service may return fewer than this value. If unspecified, at most 5 devices will be returned. The maximum value is 100. values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListPairedDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPairedDevices` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of devices. Format: users/{user}", + "location": "path", + "pattern": "^users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4beta/{+parent}/pairedDevices", + "response": { + "$ref": "ListPairedDevicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/googlehealth.settings.readonly" + ] + } + } + } + } + } + }, + "revision": "20260908", + "rootUrl": "https://health.googleapis.com/", + "schemas": { + "ActiveEnergyBurned": { + "description": "Energy burned as part of an activity, excluding the basal energy burn.", + "id": "ActiveEnergyBurned", + "properties": { + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval" + }, + "kcal": { + "description": "Required. Energy burned during an activity, measured in kilocalories.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ActiveEnergyBurnedRollupValue": { + "description": "Represents the result of the rollup of active energy burned.", + "id": "ActiveEnergyBurnedRollupValue", + "properties": { + "kcalSum": { + "description": "Output only. Sum of the active energy burned in kilocalories.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "ActiveMinutes": { + "description": "Record of active minutes in a given time interval.", + "id": "ActiveMinutes", + "properties": { + "activeMinutesByActivityLevel": { + "description": "Required. Active minutes by activity level. At most one record per activity level is allowed.", + "items": { + "$ref": "ActiveMinutesByActivityLevel" + }, + "type": "array" + }, + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + } + }, + "type": "object" + }, + "ActiveMinutesByActivityLevel": { + "description": "Active minutes at a given activity level.", + "id": "ActiveMinutesByActivityLevel", + "properties": { + "activeMinutes": { + "description": "Required. Number of whole minutes spent in activity.", + "format": "int64", + "type": "string" + }, + "activityLevel": { + "description": "Required. The level of activity.", + "enum": [ + "ACTIVITY_LEVEL_UNSPECIFIED", + "LIGHT", + "MODERATE", + "VIGOROUS" + ], + "enumDescriptions": [ + "Activity level is unspecified.", + "Light activity level.", + "Moderate activity level.", + "Vigorous activity level." + ], + "type": "string" + } + }, + "type": "object" + }, + "ActiveMinutesRollupByActivityLevel": { + "description": "Active minutes by activity level.", + "id": "ActiveMinutesRollupByActivityLevel", + "properties": { + "activeMinutesSum": { + "description": "Number of whole minutes spent in activity.", + "format": "int64", + "type": "string" + }, + "activityLevel": { + "description": "The level of activity.", + "enum": [ + "ACTIVITY_LEVEL_UNSPECIFIED", + "LIGHT", + "MODERATE", + "VIGOROUS" + ], + "enumDescriptions": [ + "Activity level is unspecified.", + "Light activity level.", + "Moderate activity level.", + "Vigorous activity level." + ], + "type": "string" + } + }, + "type": "object" + }, + "ActiveMinutesRollupValue": { + "description": "Represents the result of the rollup of the active minutes data type.", + "id": "ActiveMinutesRollupValue", + "properties": { + "activeMinutesRollupByActivityLevel": { + "description": "Active minutes by activity level. At most one record per activity level is allowed.", + "items": { + "$ref": "ActiveMinutesRollupByActivityLevel" + }, + "type": "array" + } + }, + "type": "object" + }, + "ActiveZoneMinutes": { + "description": "Record of active zone minutes in a given time interval.", + "id": "ActiveZoneMinutes", + "properties": { + "activeZoneMinutes": { + "description": "Required. Number of Active Zone Minutes earned in the given time interval. Note: active_zone_minutes equals to 1 for low intensity (fat burn) zones or 2 for high intensity zones (cardio, peak).", + "format": "int64", + "type": "string" + }, + "heartRateZone": { + "description": "Required. Heart rate zone in which the active zone minutes have been earned, in the given time interval.", + "enum": [ + "HEART_RATE_ZONE_UNSPECIFIED", + "FAT_BURN", + "CARDIO", + "PEAK" + ], + "enumDescriptions": [ + "Unspecified heart rate zone.", + "The fat burn heart rate zone.", + "The cardio heart rate zone.", + "The peak heart rate zone." + ], + "type": "string" + }, + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + } + }, + "type": "object" + }, + "ActiveZoneMinutesRollupValue": { + "description": "Represents the result of the rollup of the active zone minutes data type.", + "id": "ActiveZoneMinutesRollupValue", + "properties": { + "sumInCardioHeartZone": { + "description": "Active zone minutes in `HeartRateZone.CARDIO`.", + "format": "int64", + "type": "string" + }, + "sumInFatBurnHeartZone": { + "description": "Active zone minutes in `HeartRateZone.FAT_BURN`.", + "format": "int64", + "type": "string" + }, + "sumInPeakHeartZone": { + "description": "Active zone minutes in `HeartRateZone.PEAK`.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ActivityLevel": { + "description": "Internal type to capture activity level during a certain time interval.", + "id": "ActivityLevel", + "properties": { + "activityLevelType": { + "description": "Required. Activity level type in the given time interval.", + "enum": [ + "ACTIVITY_LEVEL_TYPE_UNSPECIFIED", + "SEDENTARY", + "LIGHTLY_ACTIVE", + "MODERATELY_ACTIVE", + "VERY_ACTIVE" + ], + "enumDescriptions": [ + "Unspecified activity level type.", + "Sedentary activity level.", + "Lightly active activity level.", + "Moderately active activity level.", + "Very active activity level." + ], + "type": "string" + }, + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + } + }, + "type": "object" + }, + "ActivityLevelRollupByActivityLevelType": { + "description": "Represents the total duration in a specific activity level type.", + "id": "ActivityLevelRollupByActivityLevelType", + "properties": { + "activityLevelType": { + "description": "Activity level type.", + "enum": [ + "ACTIVITY_LEVEL_TYPE_UNSPECIFIED", + "SEDENTARY", + "LIGHTLY_ACTIVE", + "MODERATELY_ACTIVE", + "VERY_ACTIVE" + ], + "enumDescriptions": [ + "Unspecified activity level type.", + "Sedentary activity level.", + "Lightly active activity level.", + "Moderately active activity level.", + "Very active activity level." + ], + "type": "string" + }, + "totalDuration": { + "description": "Total duration in the activity level type.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "ActivityLevelRollupValue": { + "description": "Represents the result of the rollup of the activity level data type.", + "id": "ActivityLevelRollupValue", + "properties": { + "activityLevelRollupsByActivityLevelType": { + "description": "List of total durations in each activity level type.", + "items": { + "$ref": "ActivityLevelRollupByActivityLevelType" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlertWindow": { + "description": "An analysis window evaluated for AFib. Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save \"inconclusive\" windows (they aren't produced by the algorithm).", + "id": "AlertWindow", + "properties": { + "civilEndTime": { + "$ref": "CivilDateTime", + "description": "Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval", + "readOnly": true + }, + "civilStartTime": { + "$ref": "CivilDateTime", + "description": "Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval", + "readOnly": true + }, + "endTime": { + "description": "Required. The end time of the analysis window.", + "format": "google-datetime", + "type": "string" + }, + "endUtcOffset": { + "description": "Required. The UTC offset of the user's timezone when the analysis window ended.", + "format": "google-duration", + "type": "string" + }, + "heartBeats": { + "description": "Optional. All heart beats in the interval contained in this analysis window.", + "items": { + "$ref": "HeartBeat" + }, + "type": "array" + }, + "positive": { + "description": "Optional. Flag indicating whether the window was positive for AFib or not. A `true` value indicates that AFib was detected in this window. A `false` value means AFib was not detected, but does not guarantee the absence of AFib.", + "type": "boolean" + }, + "startTime": { + "description": "Required. Observed interval. The start time of the analysis window.", + "format": "google-datetime", + "type": "string" + }, + "startUtcOffset": { + "description": "Required. The UTC offset of the user's timezone when the analysis window started.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "Altitude": { + "description": "Captures the altitude gain (i.e. deltas), and not level above sea, for a user in millimeters.", + "id": "Altitude", + "properties": { + "gainMillimeters": { + "description": "Required. Altitude gain in millimeters over the observed interval.", + "format": "int64", + "type": "string" + }, + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + } + }, + "type": "object" + }, + "AltitudeRollupValue": { + "description": "Represents the result of the rollup of the user's altitude.", + "id": "AltitudeRollupValue", + "properties": { + "gainMillimetersSum": { + "description": "Sum of the altitude gain in millimeters.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Application": { + "description": "Optional metadata for the application that provided this data.", + "id": "Application", + "properties": { + "googleWebClientId": { + "description": "Output only. The Google OAuth 2.0 client ID of the web application or service that recorded the data. This is the client ID used during the Google OAuth flow to obtain user credentials. This field is system-populated when the data is uploaded from Google Web API.", + "readOnly": true, + "type": "string" + }, + "packageName": { + "description": "Output only. A unique identifier for the mobile application that was the source of the data. This is typically the application's package name on Android (e.g., `com.google.fitbit`) or the bundle ID on iOS. This field is informational and helps trace data origin. This field is system-populated when the data is uploaded from the Fitbit mobile application, Health Connect or Health Kit.", + "readOnly": true, + "type": "string" + }, + "webClientId": { + "description": "Output only. The client ID of the application that recorded the data. This ID is a legacy Fitbit API client ID, which is different from a Google OAuth client ID. Example format: `ABC123`. This field is system-populated and used for tracing data from legacy Fitbit API integrations. This field is system-populated when the data is uploaded from a legacy Fitbit API integration.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BasalEnergyBurned": { + "description": "Number of calories burned due to basal metabolic rate (BMR) over a period of time.", + "id": "BasalEnergyBurned", + "properties": { + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + }, + "kcal": { + "description": "Required. Number of calories burned due to basal metabolic rate in kilocalories over the observed interval.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "BatchDeleteDataPointsRequest": { + "description": "Request to delete a batch of identifiable data points.", + "id": "BatchDeleteDataPointsRequest", + "properties": { + "names": { + "description": "Required. The names of the DataPoints to delete. A maximum of 10000 data points can be deleted in a single request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BloodGlucose": { + "description": "Represents a blood glucose level measurement. LINT: LEGACY_NAMES", + "id": "BloodGlucose", + "properties": { + "bloodGlucoseMilligramsPerDeciliter": { + "description": "Required. Blood glucose level concentration in mg/dL.", + "format": "double", + "type": "number" + }, + "mealType": { + "description": "Optional. Meal type of the measurement.", + "enum": [ + "MEAL_TYPE_UNSPECIFIED", + "BREAKFAST", + "LUNCH", + "DINNER", + "SNACK" + ], + "enumDescriptions": [ + "Unspecified meal type.", + "Breakfast.", + "Lunch.", + "Dinner.", + "Snack." + ], + "type": "string" + }, + "measurementSource": { + "description": "Optional. Source of the measurement.", + "enum": [ + "MEASUREMENT_SOURCE_UNSPECIFIED", + "SELF_MONITORING_BLOOD_GLUCOSE", + "CONTINUOUS_GLUCOSE_MONITORING", + "LAB_TEST" + ], + "enumDescriptions": [ + "Unspecified measurement source.", + "Self-monitoring of blood glucose (Blood glucose meter)", + "Continuous glucose monitoring device", + "Laboratory test" + ], + "type": "string" + }, + "measurementTiming": { + "description": "Optional. Timing of the measurement.", + "enum": [ + "MEASUREMENT_TIMING_UNSPECIFIED", + "AFTER_MEAL", + "BEFORE_MEAL", + "FASTING", + "GENERAL", + "BEFORE_BED", + "OVER_NIGHT" + ], + "enumDescriptions": [ + "Unspecified measurement timing.", + "Measurement taken after meal.", + "Measurement taken before meal.", + "Measurement taken while fasting.", + "General measurement (not associated with a meal or time of day).", + "Measurement taken before bed.", + "Measurement taken over night." + ], + "type": "string" + }, + "notes": { + "description": "Optional. Standard free-form notes captured at manual logging.", + "type": "string" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which blood glucose was measured." + }, + "specimen": { + "description": "Optional. Type of body fluid used to measure the blood glucose.", + "enum": [ + "SPECIMEN_UNSPECIFIED", + "CAPILLARY_BLOOD", + "INTERSTITIAL_FLUID", + "PLASMA", + "SERUM", + "TEARS", + "WHOLE_BLOOD" + ], + "enumDescriptions": [ + "Unspecified specimen.", + "Capillary blood.", + "Interstitial fluid.", + "Plasma.", + "Serum.", + "Tears.", + "Whole blood." + ], + "type": "string" + } + }, + "type": "object" + }, + "BloodGlucoseRollupValue": { + "description": "Represents the result of the rollup of the blood glucose data type. LINT: LEGACY_NAMES", + "id": "BloodGlucoseRollupValue", + "properties": { + "bloodGlucoseMilligramsPerDeciliterAvg": { + "description": "Average blood glucose level in mg/dL.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "BodyFat": { + "description": "Body fat measurement.", + "id": "BodyFat", + "properties": { + "percentage": { + "description": "Required. Body fat percentage, in range [0, 100].", + "format": "double", + "type": "number" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which body fat was measured." + } + }, + "type": "object" + }, + "BodyFatRollupValue": { + "description": "Represents the result of the rollup of the body fat data type.", + "id": "BodyFatRollupValue", + "properties": { + "bodyFatPercentageAvg": { + "description": "Average body fat percentage.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "CaloriesInHeartRateZoneRollupValue": { + "description": "Represents the result of the rollup of the calories in heart rate zone data type.", + "id": "CaloriesInHeartRateZoneRollupValue", + "properties": { + "caloriesInHeartRateZones": { + "description": "List of calories burned in each heart rate zone.", + "items": { + "$ref": "CaloriesInHeartRateZoneValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "CaloriesInHeartRateZoneValue": { + "description": "Represents the amount of kilocalories burned in a specific heart rate zone.", + "id": "CaloriesInHeartRateZoneValue", + "properties": { + "heartRateZone": { + "description": "The heart rate zone.", + "enum": [ + "HEART_RATE_ZONE_TYPE_UNSPECIFIED", + "LIGHT", + "MODERATE", + "VIGOROUS", + "PEAK" + ], + "enumDescriptions": [ + "Unspecified heart rate zone.", + "The light heart rate zone.", + "The moderate heart rate zone.", + "The vigorous heart rate zone.", + "The peak heart rate zone." + ], + "type": "string" + }, + "kcal": { + "description": "The amount of kilocalories burned in the specified heart rate zone.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "CivilDateTime": { + "description": "Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries.", + "id": "CivilDateTime", + "properties": { + "date": { + "$ref": "Date", + "description": "Required. Calendar date." + }, + "time": { + "$ref": "TimeOfDay", + "description": "Optional. Time of day. Defaults to the start of the day, at midnight if omitted." + } + }, + "type": "object" + }, + "CivilTimeInterval": { + "description": "Counterpart of google.type.Interval, but using CivilDateTime.", + "id": "CivilTimeInterval", + "properties": { + "end": { + "$ref": "CivilDateTime", + "description": "Required. The exclusive end of the range." + }, + "start": { + "$ref": "CivilDateTime", + "description": "Required. The inclusive start of the range." + } + }, + "type": "object" + }, + "CoreBodyTemperature": { + "description": "Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs.", + "id": "CoreBodyTemperature", + "properties": { + "id": { + "description": "Optional. The unique identifier of the core body temperature measurement.", + "type": "string" + }, + "measurementLocation": { + "description": "Optional. The location of the core body temperature measurement.", + "enum": [ + "MEASUREMENT_LOCATION_UNSPECIFIED", + "OTHER", + "ARMPIT", + "BODY", + "EAR", + "FINGER", + "GASTRO_INTESTINAL", + "MOUTH", + "RECTUM", + "TOE", + "EAR_DRUM", + "TEMPORAL_ARTERY", + "FOREHEAD", + "URINARY_BLADDER", + "NASAL", + "NASOPHARYNGEAL", + "WRIST", + "VAGINA" + ], + "enumDescriptions": [ + "Measurement location is unspecified.", + "Other measurement location.", + "Armpit measurement location.", + "Body measurement location.", + "Ear measurement location.", + "Finger measurement location.", + "Gastro-intestinal measurement location.", + "Mouth measurement location.", + "Rectum measurement location.", + "Toe measurement location.", + "Ear drum measurement location.", + "Temporal artery measurement location.", + "Forehead measurement location.", + "Urinary bladder measurement location.", + "Nasal measurement location.", + "Nasopharyngeal measurement location.", + "Wrist measurement location.", + "Vagina measurement location." + ], + "type": "string" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which core body temperature was measured." + }, + "temperatureCelsius": { + "description": "Required. The core body temperature in Celsius.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "CoreBodyTemperatureRollupValue": { + "description": "Represents the result of the rollup of the core body temperature data type.", + "id": "CoreBodyTemperatureRollupValue", + "properties": { + "temperatureCelsiusAvg": { + "description": "Average core body temperature in Celsius.", + "format": "double", + "type": "number" + }, + "temperatureCelsiusMax": { + "description": "Maximum core body temperature in Celsius.", + "format": "double", + "type": "number" + }, + "temperatureCelsiusMin": { + "description": "Minimum core body temperature in Celsius.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "CreateSubscriberPayload": { + "description": "Payload for creating a subscriber.", + "id": "CreateSubscriberPayload", + "properties": { + "endpointAuthorization": { + "$ref": "EndpointAuthorization", + "description": "Required. Authorization mechanism for the subscriber endpoint. The `secret` within this message is crucial for endpoint verification and for securing webhook notifications." + }, + "endpointUri": { + "description": "Required. The full HTTPS URI where update notifications will be sent. The URI must be a valid URL and use HTTPS as the scheme. This endpoint will be verified during the `CreateSubscriber` call. See CreateSubscriber RPC documentation for verification details.", + "type": "string" + }, + "subscriberConfigs": { + "description": "Optional. Configuration for the subscriber.", + "items": { + "$ref": "SubscriberConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "CreateSubscriptionPayload": { + "description": "Payload for creating a subscription.", + "id": "CreateSubscriptionPayload", + "properties": { + "dataTypes": { + "description": "Optional. Data types subscribed to.", + "items": { + "type": "string" + }, + "type": "array" + }, + "user": { + "description": "Required. Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).", + "type": "string" + } + }, + "type": "object" + }, + "DailyHeartRateVariability": { + "description": "Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds`", + "id": "DailyHeartRateVariability", + "properties": { + "averageHeartRateVariabilityMilliseconds": { + "description": "Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats.", + "format": "double", + "type": "number" + }, + "date": { + "$ref": "Date", + "description": "Required. Date (in the user's timezone) of heart rate variability measurement." + }, + "deepSleepRootMeanSquareOfSuccessiveDifferencesMilliseconds": { + "description": "Optional. The root mean square of successive differences (RMSSD) value during deep sleep.", + "format": "double", + "type": "number" + }, + "entropy": { + "description": "Optional. The Shanon entropy of heartbeat intervals. Entropy quantifies randomness or disorder in a system. High entropy indicates high HRV. Entropy is measured from the histogram of time interval between successive heart beats values measured during sleep.", + "format": "double", + "type": "number" + }, + "nonRemHeartRateBeatsPerMinute": { + "description": "Optional. Non-REM heart rate", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DailyHeartRateZones": { + "description": "User's heart rate zone thresholds based on the Karvonen algorithm for a specific day.", + "id": "DailyHeartRateZones", + "properties": { + "date": { + "$ref": "Date", + "description": "Required. Date (in user's timezone) of the heart rate zones record." + }, + "heartRateZones": { + "description": "Required. The heart rate zones.", + "items": { + "$ref": "HeartRateZone" + }, + "type": "array" + } + }, + "type": "object" + }, + "DailyOxygenSaturation": { + "description": "A daily oxygen saturation (SpO2) record. Represents the user's daily oxygen saturation summary, typically calculated during sleep.", + "id": "DailyOxygenSaturation", + "properties": { + "averagePercentage": { + "description": "Required. The average value of the oxygen saturation samples during the sleep.", + "format": "double", + "type": "number" + }, + "date": { + "$ref": "Date", + "description": "Required. Date (in user's timezone) of the daily oxygen saturation record." + }, + "lowerBoundPercentage": { + "description": "Required. The lower bound of the confidence interval of oxygen saturation samples during sleep.", + "format": "double", + "type": "number" + }, + "standardDeviationPercentage": { + "description": "Optional. Standard deviation of the daily oxygen saturation averages from the past 7-30 days.", + "format": "double", + "type": "number" + }, + "upperBoundPercentage": { + "description": "Required. The upper bound of the confidence interval of oxygen saturation samples during sleep.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "DailyRespiratoryRate": { + "description": "A daily average respiratory rate (breaths per minute) for a day of the year. One data point per day calculated for the main sleep.", + "id": "DailyRespiratoryRate", + "properties": { + "breathsPerMinute": { + "description": "Required. The average number of breaths taken per minute.", + "format": "double", + "type": "number" + }, + "date": { + "$ref": "Date", + "description": "Required. The date on which the respiratory rate was measured." + } + }, + "type": "object" + }, + "DailyRestingHeartRate": { + "description": "Measures the daily resting heart rate for a user, calculated using the all day heart rate measurements.", + "id": "DailyRestingHeartRate", + "properties": { + "beatsPerMinute": { + "description": "Required. The resting heart rate value in beats per minute.", + "format": "int64", + "type": "string" + }, + "dailyRestingHeartRateMetadata": { + "$ref": "DailyRestingHeartRateMetadata", + "description": "Optional. Metadata for the daily resting heart rate." + }, + "date": { + "$ref": "Date", + "description": "Required. Date (in the user's timezone) of the resting heart rate measurement." + } + }, + "type": "object" + }, + "DailyRestingHeartRateMetadata": { + "description": "Metadata for the daily resting heart rate.", + "id": "DailyRestingHeartRateMetadata", + "properties": { + "calculationMethod": { + "description": "Required. The method used to calculate the resting heart rate.", + "enum": [ + "CALCULATION_METHOD_UNSPECIFIED", + "WITH_SLEEP", + "ONLY_WITH_AWAKE_DATA" + ], + "enumDescriptions": [ + "The calculation method is unspecified.", + "The resting heart rate is calculated using the sleep data.", + "The resting heart rate is calculated using only awake data." + ], + "type": "string" + } + }, + "type": "object" + }, + "DailyRollUpDataPointsRequest": { + "description": "Request to roll up data points by civil time intervals.", + "id": "DailyRollUpDataPointsRequest", + "properties": { + "dataSourceFamily": { + "description": "Optional. The data source family name to roll up. If empty, data points from all available data sources will be rolled up. Format: `users/me/dataSourceFamilies/{data_source_family}` The supported values are: - `users/me/dataSourceFamilies/all-sources` - Default value. Includes data from all available data sources. - `users/me/dataSourceFamilies/google-wearables` - Includes data from Google and Fitbit tracker devices (such as Fitbit trackers and Pixel Watch). Excludes manually logged data. - `users/me/dataSourceFamilies/google-sources` - Includes first-party Google data, such as data from tracker devices, manually logged data, and Health Connect.", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` from a previous request, if any. All other request fields need to be the same as in the initial request when the page token is specified.", + "type": "string" + }, + "range": { + "$ref": "CivilTimeInterval", + "description": "Required. Closed-open range of data points that will be rolled up. The start time must be aligned with the aggregation window. The maximum range for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes` and `total-calories` is 14 days. The maximum range for all other data types is 90 days." + }, + "windowSizeDays": { + "description": "Optional. Aggregation window size, in number of days. Defaults to 1 if not specified. If the requested range is not an exact multiple of `window_size_days`, the final bucket chronologically will be truncated at the upper endpoint of the range and will cover a duration shorter than `window_size_days`.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DailyRollUpDataPointsResponse": { + "description": "Response containing the list of rolled up data points.", + "id": "DailyRollUpDataPointsResponse", + "properties": { + "rollupDataPoints": { + "description": "Values for each aggregation time window.", + "items": { + "$ref": "DailyRollupDataPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "DailyRollupDataPoint": { + "description": "Value of a daily rollup for a single civil time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn.", + "id": "DailyRollupDataPoint", + "properties": { + "activeEnergyBurned": { + "$ref": "ActiveEnergyBurnedRollupValue", + "description": "Returned by default when rolling up data points from the `active-energy-burned` data type." + }, + "activeMinutes": { + "$ref": "ActiveMinutesRollupValue", + "description": "Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier." + }, + "activeZoneMinutes": { + "$ref": "ActiveZoneMinutesRollupValue", + "description": "Returned by default when rolling up data points from the `active-zone-minutes` data type, or when requested explicitly using the `active-zone-minutes` rollup type identifier." + }, + "activityLevel": { + "$ref": "ActivityLevelRollupValue", + "description": "Returned by default when rolling up data points from the `activity-level` data type, or when requested explicitly using the `activity-level` rollup type identifier." + }, + "altitude": { + "$ref": "AltitudeRollupValue", + "description": "Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier." + }, + "bloodGlucose": { + "$ref": "BloodGlucoseRollupValue", + "description": "Returned by default when rolling up data points from the `blood-glucose` data type." + }, + "bodyFat": { + "$ref": "BodyFatRollupValue", + "description": "Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier." + }, + "caloriesInHeartRateZone": { + "$ref": "CaloriesInHeartRateZoneRollupValue", + "description": "Returned by default when rolling up data points from the `calories-in-heart-rate-zone` data type, or when requested explicitly using the `calories-in-heart-rate-zone` rollup type identifier." + }, + "civilEndTime": { + "$ref": "CivilDateTime", + "description": "End time of the window this value aggregates over" + }, + "civilStartTime": { + "$ref": "CivilDateTime", + "description": "Start time of the window this value aggregates over" + }, + "coreBodyTemperature": { + "$ref": "CoreBodyTemperatureRollupValue", + "description": "Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier." + }, + "distance": { + "$ref": "DistanceRollupValue", + "description": "Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier." + }, + "floors": { + "$ref": "FloorsRollupValue", + "description": "Returned by default when rolling up data points from the `floors` data type, or when requested explicitly using the `floors` rollup type identifier." + }, + "heartRate": { + "$ref": "HeartRateRollupValue", + "description": "Returned by default when rolling up data points from the `heart-rate` data type, or when requested explicitly using the `heart-rate` rollup type identifier." + }, + "heartRateVariabilityPersonalRange": { + "$ref": "HeartRateVariabilityPersonalRangeRollupValue", + "description": "Returned by default when rolling up data points from the `daily-heart-rate-variability` data type, or when requested explicitly using the `heart-rate-variability-personal-range` rollup type identifier." + }, + "hydrationLog": { + "$ref": "HydrationLogRollupValue", + "description": "Returned by default when rolling up data points from the `hydration-log` data type, or when requested explicitly using the `hydration-log` rollup type identifier." + }, + "nutritionLog": { + "$ref": "NutritionLogRollupValue", + "description": "Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier." + }, + "restingHeartRatePersonalRange": { + "$ref": "RestingHeartRatePersonalRangeRollupValue", + "description": "Returned by default when rolling up data points from the `daily-resting-heart-rate` data type, or when requested explicitly using the `resting-heart-rate-personal-range` rollup type identifier." + }, + "runVo2Max": { + "$ref": "RunVO2MaxRollupValue", + "description": "Returned by default when rolling up data points from the `run-vo2-max` data type, or when requested explicitly using the `run-vo2-max` rollup type identifier." + }, + "sedentaryPeriod": { + "$ref": "SedentaryPeriodRollupValue", + "description": "Returned by default when rolling up data points from the `sedentary-period` data type, or when requested explicitly using the `sedentary-period` rollup type identifier." + }, + "steps": { + "$ref": "StepsRollupValue", + "description": "Returned by default when rolling up data points from the `steps` data type, or when requested explicitly using the `steps` rollup type identifier." + }, + "swimLengthsData": { + "$ref": "SwimLengthsDataRollupValue", + "description": "Returned by default when rolling up data points from the `swim-lengths-data` data type, or when requested explicitly using the `swim-lengths-data` rollup type identifier." + }, + "timeInHeartRateZone": { + "$ref": "TimeInHeartRateZoneRollupValue", + "description": "Returned by default when rolling up data points from the `time-in-heart-rate-zone` data type, or when requested explicitly using the `time-in-heart-rate-zone` rollup type identifier." + }, + "totalCalories": { + "$ref": "TotalCaloriesRollupValue", + "description": "Returned by default when rolling up data points from the `total-calories` data type, or when requested explicitly using the `total-calories` rollup type identifier." + }, + "weight": { + "$ref": "WeightRollupValue", + "description": "Returned by default when rolling up data points from the `weight` data type, or when requested explicitly using the `weight` rollup type identifier." + } + }, + "type": "object" + }, + "DailySleepTemperatureDerivations": { + "description": "Provides derived sleep temperature values, calculated from skin or internal device temperature readings during sleep.", + "id": "DailySleepTemperatureDerivations", + "properties": { + "baselineTemperatureCelsius": { + "description": "Optional. The user's baseline skin temperature. It is the median of the user's nightly skin temperature over the past 30 days.", + "format": "double", + "type": "number" + }, + "date": { + "$ref": "Date", + "description": "Required. Date for which the sleep temperature derivations are calculated." + }, + "nightlyTemperatureCelsius": { + "description": "Required. The user's nightly skin temperature. It is the mean of skin temperature samples taken from the user’s sleep.", + "format": "double", + "type": "number" + }, + "relativeNightlyStddev30dCelsius": { + "description": "Optional. The standard deviation of the user’s relative nightly skin temperature (temperature - baseline) over the past 30 days.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "DailyVO2Max": { + "description": "Contains a daily summary of the user's VO2 max (cardio fitness score), which is the maximum rate of oxygen the body can use during exercise.", + "id": "DailyVO2Max", + "properties": { + "cardioFitnessLevel": { + "description": "Optional. Represents the user's cardio fitness level based on their VO2 max.", + "enum": [ + "CARDIO_FITNESS_LEVEL_UNSPECIFIED", + "POOR", + "FAIR", + "AVERAGE", + "GOOD", + "VERY_GOOD", + "EXCELLENT" + ], + "enumDescriptions": [ + "Unspecified cardio fitness level.", + "Poor cardio fitness level.", + "Fair cardio fitness level.", + "Average cardio fitness level.", + "Good cardio fitness level.", + "Very good cardio fitness level.", + "Excellent cardio fitness level." + ], + "type": "string" + }, + "date": { + "$ref": "Date", + "description": "Required. The date for which the Daily VO2 max was measured." + }, + "estimated": { + "description": "Optional. An estimated field is added to indicate when the confidence has decreased sufficiently to consider the value an estimation.", + "type": "boolean" + }, + "vo2Max": { + "description": "Required. Daily VO2 max value measured as in ml consumed oxygen / kg of body weight / min.", + "format": "double", + "type": "number" + }, + "vo2MaxCovariance": { + "description": "Optional. The covariance of the VO2 max value.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "DataPoint": { + "description": "A computed or recorded metric.", + "id": "DataPoint", + "properties": { + "activeEnergyBurned": { + "$ref": "ActiveEnergyBurned", + "description": "Optional. Data for points in the `active-energy-burned` interval data type collection." + }, + "activeMinutes": { + "$ref": "ActiveMinutes", + "description": "Optional. Data for points in the `active-minutes` interval data type collection." + }, + "activeZoneMinutes": { + "$ref": "ActiveZoneMinutes", + "description": "Optional. Data for points in the `active-zone-minutes` interval data type collection, measured in minutes." + }, + "activityLevel": { + "$ref": "ActivityLevel", + "description": "Optional. Data for points in the `activity-level` daily data type collection." + }, + "altitude": { + "$ref": "Altitude", + "description": "Optional. Data for points in the `altitude` interval data type collection." + }, + "basalEnergyBurned": { + "$ref": "BasalEnergyBurned", + "description": "Optional. Data for points in the `basal-energy-burned` interval data type collection." + }, + "bloodGlucose": { + "$ref": "BloodGlucose", + "description": "Optional. Data for points in the `blood-glucose` sample data type collection." + }, + "bodyFat": { + "$ref": "BodyFat", + "description": "Optional. Data for points in the `body-fat` sample data type collection." + }, + "coreBodyTemperature": { + "$ref": "CoreBodyTemperature", + "description": "Optional. Data for points in the `core-body-temperature` sample data type collection." + }, + "dailyHeartRateVariability": { + "$ref": "DailyHeartRateVariability", + "description": "Optional. Data for points in the `daily-heart-rate-variability` daily data type collection." + }, + "dailyHeartRateZones": { + "$ref": "DailyHeartRateZones", + "description": "Optional. Data for points in the `daily-heart-rate-zones` daily data type collection." + }, + "dailyOxygenSaturation": { + "$ref": "DailyOxygenSaturation", + "description": "Optional. Data for points in the `daily-oxygen-saturation` daily data type collection." + }, + "dailyRespiratoryRate": { + "$ref": "DailyRespiratoryRate", + "description": "Optional. Data for points in the `daily-respiratory-rate` daily data type collection." + }, + "dailyRestingHeartRate": { + "$ref": "DailyRestingHeartRate", + "description": "Optional. Data for points in the `daily-resting-heart-rate` daily data type collection." + }, + "dailySleepTemperatureDerivations": { + "$ref": "DailySleepTemperatureDerivations", + "description": "Optional. Data for points in the `daily-sleep-temperature-derivations` daily data type collection." + }, + "dailyVo2Max": { + "$ref": "DailyVO2Max", + "description": "Optional. Data for points in the `daily-vo2-max` daily data type collection." + }, + "dataSource": { + "$ref": "DataSource", + "description": "Optional. Data source information for the metric" + }, + "distance": { + "$ref": "Distance", + "description": "Optional. Data for points in the `distance` interval data type collection." + }, + "electrocardiogram": { + "$ref": "Electrocardiogram", + "description": "Optional. Data for points in the `electrocardiogram` session data type collection." + }, + "exercise": { + "$ref": "Exercise", + "description": "Optional. Data for points in the `exercise` session data type collection." + }, + "floors": { + "$ref": "Floors", + "description": "Optional. Data for points in the `floors` interval data type collection." + }, + "food": { + "$ref": "Food", + "description": "Optional. The food details." + }, + "foodMeasurementUnit": { + "$ref": "FoodMeasurementUnit", + "description": "Optional. The food measurement unit details." + }, + "heartRate": { + "$ref": "HeartRate", + "description": "Optional. Data for points in the `heart-rate` sample data type collection." + }, + "heartRateVariability": { + "$ref": "HeartRateVariability", + "description": "Optional. Data for points in the `heart-rate-variability` sample data type collection." + }, + "height": { + "$ref": "Height", + "description": "Optional. Data for points in the `height` sample data type collection." + }, + "hydrationLog": { + "$ref": "HydrationLog", + "description": "Optional. Data for points in the `hydration-log` session data type collection." + }, + "irregularRhythmNotification": { + "$ref": "IrregularRhythmNotification", + "description": "Optional. Data for points in the `irregular-rhythm-notification` session data type collection." + }, + "menstrualPeriod": { + "$ref": "MenstrualPeriod", + "description": "Optional. Data for points in the `menstrual-period` interval data type collection." + }, + "moods": { + "$ref": "Moods", + "description": "Optional. Data for points in the `moods` sample data type collection." + }, + "name": { + "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", + "type": "string" + }, + "nutritionLog": { + "$ref": "NutritionLog", + "description": "Optional. Data for points in the `nutrition-log` session data type collection." + }, + "ovulationTest": { + "$ref": "OvulationTest", + "description": "Optional. Data for points in the `ovulation-test` sample data type collection." + }, + "oxygenSaturation": { + "$ref": "OxygenSaturation", + "description": "Optional. Data for points in the `oxygen-saturation` sample data type collection." + }, + "respiratoryRateSleepSummary": { + "$ref": "RespiratoryRateSleepSummary", + "description": "Optional. Data for points in the `respiratory-rate-sleep-summary` sample data type collection." + }, + "runVo2Max": { + "$ref": "RunVO2Max", + "description": "Optional. Data for points in the `run-vo2-max` sample data type collection." + }, + "sedentaryPeriod": { + "$ref": "SedentaryPeriod", + "description": "Optional. Data for points in the `sedentary-period` interval data type collection." + }, + "sleep": { + "$ref": "Sleep", + "description": "Optional. Data for points in the `sleep` session data type collection." + }, + "steps": { + "$ref": "Steps", + "description": "Optional. Data for points in the `steps` interval data type collection." + }, + "swimLengthsData": { + "$ref": "SwimLengthsData", + "description": "Optional. Data for points in the `swim-lengths-data` interval data type collection." + }, + "symptoms": { + "$ref": "Symptoms", + "description": "Optional. Data for points in the `symptoms` sample data type collection." + }, + "timeInHeartRateZone": { + "$ref": "TimeInHeartRateZone", + "description": "Optional. Data for points in the `time-in-heart-rate-zone` interval data type collection." + }, + "vo2Max": { + "$ref": "VO2Max", + "description": "Optional. Data for points in the `vo2-max` sample data type collection." + }, + "weight": { + "$ref": "Weight", + "description": "Optional. Data for points in the `weight` sample data type collection." + } + }, + "type": "object" + }, + "DataSource": { + "description": "Data Source definition to track the origin of data. Each health data point, regardless of the complexity or data model (whether a simple step count or a detailed sleep session) must retain information about its source of origin (e.g. the device or app that collected it).", + "id": "DataSource", + "properties": { + "application": { + "$ref": "Application", + "description": "Output only. Captures metadata for the application that provided this data.", + "readOnly": true + }, + "device": { + "$ref": "Device", + "description": "Optional. Captures metadata for raw data points originating from devices. We expect this data source to be used for data points written on device sync." + }, + "platform": { + "description": "Output only. Captures the platform that uploaded the data.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "FITBIT", + "HEALTH_CONNECT", + "HEALTH_KIT", + "FIT", + "FITBIT_WEB_API", + "NEST", + "GOOGLE_WEB_API", + "GOOGLE_PARTNER_INTEGRATION" + ], + "enumDescriptions": [ + "The platform is unspecified.", + "The data was uploaded from Fitbit.", + "The data was uploaded from Health Connect.", + "The data was uploaded from Health Kit.", + "The data was uploaded from Google Fit.", + "The data was uploaded from Fitbit legacy Web API.", + "The data was uploaded from Nest devices.", + "The data was uploaded from Google Health API.", + "The data was uploaded from Google Partner Integrations." + ], + "readOnly": true, + "type": "string" + }, + "recordingMethod": { + "description": "Optional. Captures how the data was recorded.", + "enum": [ + "RECORDING_METHOD_UNSPECIFIED", + "MANUAL", + "PASSIVELY_MEASURED", + "DERIVED", + "ACTIVELY_MEASURED", + "UNKNOWN" + ], + "enumDescriptions": [ + "The recording method is unspecified.", + "The data was manually entered by the user.", + "The data was passively measured by a device.", + "The data was derived from other data, e.g., by an algorithm in the backend.", + "The data was actively measured by a device.", + "The recording method is unknown. This is set when the data is uploaded from a third party app that does not provide this information." + ], + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateTime": { + "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", + "id": "DateTime", + "properties": { + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", + "format": "int32", + "type": "integer" + }, + "hours": { + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "TimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Device": { + "description": "Captures metadata about the device that recorded the measurement.", + "id": "Device", + "properties": { + "displayName": { + "description": "Optional. An optional name for the device.", + "type": "string" + }, + "formFactor": { + "description": "Optional. Captures the form factor of the device.", + "enum": [ + "FORM_FACTOR_UNSPECIFIED", + "FITNESS_BAND", + "WATCH", + "PHONE", + "RING", + "CHEST_STRAP", + "SCALE", + "TABLET", + "HEAD_MOUNTED", + "SMART_DISPLAY" + ], + "enumDescriptions": [ + "The form factor is unspecified.", + "The device is a fitness band.", + "The device is a watch.", + "The device is a phone.", + "The device is a ring.", + "The device is a chest strap.", + "The device is a scale.", + "The device is a tablet.", + "The device is a head mounted device.", + "The device is a smart display." + ], + "type": "string" + }, + "manufacturer": { + "description": "Optional. An optional manufacturer of the device.", + "type": "string" + } + }, + "type": "object" + }, + "Distance": { + "description": "Distance traveled over an interval of time.", + "id": "Distance", + "properties": { + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + }, + "millimeters": { + "description": "Required. Distance in millimeters over the observed interval.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DistanceRollupValue": { + "description": "Result of the rollup of the user's distance.", + "id": "DistanceRollupValue", + "properties": { + "millimetersSum": { + "description": "Sum of the distance in millimeters.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Electrocardiogram": { + "description": "Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review.", + "id": "Electrocardiogram", + "properties": { + "beatsPerMinuteAvg": { + "description": "Optional. Average heart rate recorded during ECG reading in beats per minute.", + "format": "int64", + "type": "string" + }, + "interval": { + "$ref": "SessionTimeInterval", + "description": "Required. Observed interval. NOTE: Historical ECG data lacks timezone offsets, so `start_utc_offset` and `end_utc_offset` will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing. NOTE: The `start_time` and `end_time` of the interval are equal, representing the reading time." + }, + "leadNumber": { + "description": "Optional. The number of leads used for ECG reading.", + "format": "int32", + "type": "integer" + }, + "medicalDeviceInfo": { + "$ref": "MedicalDeviceInfo", + "description": "Output only. The meta information for the compatible device used to conduct the measurement. ECG measurements typically populate `firmware_version`, `feature_version`, and `device_model`.", + "readOnly": true + }, + "millivoltsScalingFactor": { + "description": "Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor.", + "format": "int32", + "type": "integer" + }, + "resultClassification": { + "description": "Optional. The result classification of the ECG reading.", + "enum": [ + "RESULT_CLASSIFICATION_UNSPECIFIED", + "NORMAL_SINUS_RHYTHM", + "ATRIAL_FIBRILLATION", + "INCONCLUSIVE", + "INCONCLUSIVE_HIGH_HEART_RATE", + "INCONCLUSIVE_LOW_HEART_RATE", + "UNREADABLE", + "NOT_ANALYZED" + ], + "enumDescriptions": [ + "Unspecified result classification.", + "Heart rhythm appears normal. Corresponds to result \"Normal Sinus Rhythm\".", + "Signs of Atrial Fibrillation detected. Corresponds to result \"Atrial Fibrillation\".", + "The reading is inconclusive as it could not be classified. Corresponds to result \"Inconclusive\".", + "The reading is inconclusive as it could not be classified because heart rate is high (>120bpm). Corresponds to result \"Inconclusive: High heart rate\".", + "The reading is inconclusive as it could not be classified because heart rate is low (<50bpm). Corresponds to result \"Inconclusive: Low heart rate\".", + "The reading is unreadable.", + "The reading was not analyzed." + ], + "type": "string" + }, + "samplingFrequencyHertz": { + "description": "Optional. The sampling frequency of waveform samples in hertz.", + "format": "int32", + "type": "integer" + }, + "waveformSamples": { + "description": "Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading.", + "items": { + "format": "int32", + "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); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EndpointAuthorization": { + "description": "Authorization mechanism for a subscriber endpoint. For all requests sent by the Webhooks service, the JSON payload is cryptographically signed. The signature is delivered in the `GOOGLE-HEALTH-API-SIGNATURE` HTTP header. This is an ECDSA (NIST P256) signature of the JSON payload. Clients must verify this signature using Google Health API's public key to confirm the payload was sent by the Health API.", + "id": "EndpointAuthorization", + "properties": { + "secret": { + "description": "Required. Input only. Provides a client-provided secret that will be sent with each notification to the subscriber endpoint using the \"Authorization\" header. The value must include the authorization scheme, e.g., \"Bearer \" or \"Basic \", as it will be used as the full Authorization header value. This secret is used by the API to test the endpoint during `CreateSubscriber` and `UpdateSubscriber` calls, and will be sent in the `Authorization` header for all subsequent webhook notifications to this endpoint.", + "type": "string" + }, + "secretSet": { + "description": "Output only. Whether the secret is set.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "EnergyQuantity": { + "description": "Represents the energy quantity.", + "id": "EnergyQuantity", + "properties": { + "kcal": { + "description": "Required. The energy value in kilocalories.", + "format": "double", + "type": "number" + }, + "userProvidedUnit": { + "description": "Optional. Value representing the user provided unit.", + "enum": [ + "ENERGY_UNIT_UNSPECIFIED", + "JOULE", + "KILOJOULE", + "KILOCALORIE", + "SMALL_CALORIE", + "CALORIE" + ], + "enumDescriptions": [ + "Unspecified energy unit.", + "Value representing joule.", + "Value representing kilojoule.", + "Value representing kilocalorie.", + "Value representing small calorie.", + "Value representing calorie." + ], + "type": "string" + } + }, + "type": "object" + }, + "EnergyQuantityRollup": { + "description": "Rollup for the energy quantity.", + "id": "EnergyQuantityRollup", + "properties": { + "kcalSum": { + "description": "Required. The sum of the energy in kilocalories.", + "format": "double", + "type": "number" + }, + "userProvidedUnitLast": { + "description": "Optional. The user provided unit on the last element.", + "enum": [ + "ENERGY_UNIT_UNSPECIFIED", + "JOULE", + "KILOJOULE", + "KILOCALORIE", + "SMALL_CALORIE", + "CALORIE" + ], + "enumDescriptions": [ + "Unspecified energy unit.", + "Value representing joule.", + "Value representing kilojoule.", + "Value representing kilocalorie.", + "Value representing small calorie.", + "Value representing calorie." + ], + "type": "string" + } + }, + "type": "object" + }, + "Exercise": { + "description": "An exercise that stores information about a physical activity.", + "id": "Exercise", + "properties": { + "activeDuration": { + "description": "Optional. Duration excluding pauses.", + "format": "google-duration", + "type": "string" + }, + "createTime": { + "description": "Output only. Represents the timestamp of the creation of the exercise.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The localized, human-readable name of the exercise. For all exercise types other than `OTHER`, the system ignores client input and overrides this field with a generated name based on `exercise_type` (e.g., \"Walking\" for `WALKING`). If `exercise_type` is `OTHER`, this field can contain the user's custom, free-form display name.", + "type": "string" + }, + "exerciseEvents": { + "description": "Optional. Exercise events that happen during an exercise, such as pause & restarts.", + "items": { + "$ref": "ExerciseEvent" + }, + "type": "array" + }, + "exerciseMetadata": { + "$ref": "ExerciseMetadata", + "description": "Optional. Additional exercise metadata." + }, + "exerciseType": { + "description": "Required. The type of activity performed during an exercise.", + "enum": [ + "EXERCISE_TYPE_UNSPECIFIED", + "AEROBIC_WORKOUT", + "ARCHERY", + "ASSAULT_BIKE", + "BACKPACKING", + "BADMINTON", + "BALLET", + "BALLROOM_DANCE", + "BARRE_CLASS", + "BASEBALL", + "BASKETBALL", + "BIKING", + "BILLIARDS", + "BODY_WEIGHT", + "BOOTCAMP", + "BOWLING", + "BOXING", + "BREAKDANCING", + "CALISTHENICS", + "CANOEING", + "CARDIO_SCULPT", + "CARDIO_WORKOUT", + "CARPENTRY", + "CHEERLEADING", + "CIRCUIT_TRAINING", + "CLEANING", + "CLIMBING", + "CORE_TRAINING", + "CRICKET", + "CROQUET", + "CROSS_COUNTRY_SKI", + "CROSS_TRAINING", + "CROSSFIT", + "CURLING", + "DANCING", + "DIVING", + "ELECTRIC_BIKE", + "ELECTRIC_SCOOTER", + "ELLIPTICAL", + "EQUESTRIAN_SPORTS", + "EXERCISE_CLASS", + "FENCING", + "FIELD_HOCKEY", + "FISHING", + "FITNESS_GAMING", + "FOILING", + "FOOTBALL_AMERICAN", + "FOOTBALL_AUSTRALIAN", + "FREE_WEIGHTS", + "FRISBEE_PLAYING_GENERAL", + "FUNCTIONAL_STRENGTH_TRAINING", + "GARDENING", + "GOLF", + "GYMNASTICS", + "HANDBALL", + "HAND_CYCLING", + "HIIT", + "HIKING", + "HIP_HOP", + "HOCKEY", + "HOEING", + "HOUSEHOLD_CHORES", + "HUNTING", + "ICE_SKATING", + "INCLINE_RUN", + "INCLINE_WALK", + "INDOOR_CLIMBING", + "INTERVAL_WORKOUT", + "JAZZ_DANCE", + "JIU_JITSU", + "JUMPING_ROPE", + "KARATE", + "KAYAKING", + "KICKBOXING", + "KITESURFING", + "LACROSSE", + "MARTIAL_ARTS", + "MEDITATE", + "MODERN_DANCE", + "MOTOCROSS", + "MOTORCYCLE", + "MOUNTAIN_BIKE", + "MOWING_LAWN", + "MUAY_THAI", + "MULTISPORT", + "MUSICAL_PERFORMANCE", + "NORDIC_WALKING", + "ORIENTEERING", + "OTHER", + "OUTDOOR_BIKE", + "OUTDOOR_WORKOUT", + "PADDLEBOARDING", + "PADEL", + "PAINTING", + "PARAGLIDING", + "PARKOUR", + "PICKELBALL", + "PILATES", + "POLO", + "POWERLIFTING", + "POWER_WALKING", + "RACKET_SPORTS", + "RACQUETBALL", + "RESISTANCE_BANDS", + "ROCK_CLIMBING", + "ROLLERBLADING", + "ROLLER_SKATING", + "ROWING", + "ROWING_MACHINE", + "RUCKING", + "RUGBY", + "RUNNING", + "SAILING", + "SCOOTERING", + "SCUBA_DIVING", + "SHOOTING", + "SHOVELING", + "SKATEBOARDING", + "SKATING", + "SKIING", + "SKYDIVING", + "SNORKELING", + "SNOWBOARDING", + "SNOWMOBILING", + "SNOWSHOEING", + "SNOW_SPORT", + "SOCCER", + "SOFTBALL", + "SPEED_SKATING", + "SPINNING", + "SPORT", + "SQUASH", + "STAIRCLIMBER", + "STATIONARY_BIKE", + "STEP_TRAINING", + "STRENGTH_TRAINING", + "STRETCHING", + "STROLLER_WALK", + "SURFING", + "SWIMMING", + "SWIMMING_OPEN_WATER", + "SWIMMING_POOL", + "SYNCHRONIZED_SWIMMING", + "TABATA_WORKOUT", + "TABLE_TENNIS", + "TAEKWONDO", + "TAI_CHI", + "TANGO", + "TENNIS", + "TRACK_AND_FIELD", + "TRAIL_RUN", + "TRAMPOLINE", + "TREADMILL", + "TREADMILL_WALK", + "TRX", + "ULTIMATE_FRISBEE", + "UNICYCLING", + "VOLLEYBALL", + "VOLLEYBALL_BEACH", + "WAKEBOARDING", + "WALKING", + "WALK_WITH_WEIGHTS", + "WATER_AEROBICS", + "WATER_JOGGING", + "WATER_POLO", + "WATER_SKIING", + "WATER_SPORT", + "WATER_VOLLEYBALL", + "WEEDING", + "WEIGHTLIFTING", + "WEIGHT_MACHINES", + "WEIGHTS", + "WHEELCHAIR", + "WINDSURFING", + "WORKOUT", + "WRESTLING", + "YOGA", + "YOGA_BIKRAM", + "YOGA_HATHA", + "YOGA_POWER", + "YOGA_VINYASA", + "ZUMBA" + ], + "enumDescriptions": [ + "Exercise type is unspecified.", + "Aerobic workout type.", + "Archery type.", + "Assault bike type.", + "Backpacking type.", + "Badminton type.", + "Ballet type.", + "Ballroom dance type.", + "Barre class type.", + "Baseball type.", + "Basketball type.", + "Biking type.", + "Billiards type.", + "Body weight type.", + "Bootcamp type.", + "Bowling type.", + "Boxing type.", + "Breakdancing type.", + "Calisthenics type.", + "Canoeing type.", + "Cardio sculpt type.", + "Cardio workout type.", + "Carpentry type.", + "Cheerleading type.", + "Circuit training type.", + "Cleaning type.", + "Climbing type.", + "Core training type.", + "Cricket type.", + "Croquet type.", + "Cross country ski type.", + "Cross training type.", + "Crossfit type.", + "Curling type.", + "Dancing type.", + "Diving type.", + "Electric bike type.", + "Electric scooter type.", + "Elliptical type.", + "Equestrian sports type.", + "Exercise class type.", + "Fencing type.", + "Field hockey type.", + "Fishing type.", + "Fitness gaming type.", + "Foiling type.", + "Football american type.", + "Football australian type.", + "Free weights type.", + "Frisbee playing general type.", + "Functional strength training type.", + "Gardening type.", + "Golf type.", + "Gymnastics type.", + "Handball type.", + "Hand cycling type.", + "Hiit type.", + "Hiking type.", + "Hip hop type.", + "Hockey type.", + "Hoeing type.", + "Household chores type.", + "Hunting type.", + "Ice skating type.", + "Incline run type.", + "Incline walk type.", + "Indoor climbing type.", + "Interval workout type.", + "Jazz dance type.", + "Jiu jitsu type.", + "Jumping rope type.", + "Karate type.", + "Kayaking type.", + "Kickboxing type.", + "Kitesurfing type.", + "Lacrosse type.", + "Martial arts type.", + "Meditate type.", + "Modern dance type.", + "Motocross type.", + "Motorcycle type.", + "Mountain bike type.", + "Mowing lawn type.", + "Muay thai type.", + "Multisport type.", + "Musical performance type.", + "Nordic walking type.", + "Orienteering type.", + "Other type.", + "Outdoor bike type.", + "Outdoor workout type.", + "Paddleboarding type.", + "Padel type.", + "Painting type.", + "Paragliding type.", + "Parkour type.", + "Pickelball type.", + "Pilates type.", + "Polo type.", + "Powerlifting type.", + "Power walking type.", + "Racket sports type.", + "Racquetball type.", + "Resistance bands type.", + "Rock climbing type.", + "Rollerblading type.", + "Roller skating type.", + "Rowing type.", + "Rowing machine type.", + "Rucking type.", + "Rugby type.", + "Running type.", + "Sailing type.", + "Scootering type.", + "Scuba diving type.", + "Shooting type.", + "Shoveling type.", + "Skateboarding type.", + "Skating type.", + "Skiing type.", + "Skydiving type.", + "Snorkeling type.", + "Snowboarding type.", + "Snowmobiling type.", + "Snowshoeing type.", + "Snow sport type.", + "Soccer type.", + "Softball type.", + "Speed skating type.", + "Spinning type.", + "Sport type.", + "Squash type.", + "Stairclimber type.", + "Stationary bike type.", + "Step training type.", + "Strength training type.", + "Stretching type.", + "Stroller walk type.", + "Surfing type.", + "Swimming type.", + "Swimming open water type.", + "Swimming pool type.", + "Synchronized swimming type.", + "Tabata workout type.", + "Table tennis type.", + "Taekwondo type.", + "Tai chi type.", + "Tango type.", + "Tennis type.", + "Track and field type.", + "Trail run type.", + "Trampoline type.", + "Treadmill type.", + "Treadmill walk type.", + "Trx type.", + "Ultimate frisbee type.", + "Unicycling type.", + "Volleyball type.", + "Volleyball beach type.", + "Wakeboarding type.", + "Walking type.", + "Walk with weights type.", + "Water aerobics type.", + "Water jogging type.", + "Water polo type.", + "Water skiing type.", + "Water sport type.", + "Water volleyball type.", + "Weeding type.", + "Weightlifting type.", + "Weight machines type.", + "Weights type.", + "Wheelchair type.", + "Windsurfing type.", + "Workout type.", + "Wrestling type.", + "Yoga type.", + "Yoga bikram type.", + "Yoga hatha type.", + "Yoga power type.", + "Yoga vinyasa type.", + "Zumba type." + ], + "type": "string" + }, + "interval": { + "$ref": "SessionTimeInterval", + "description": "Required. Observed exercise interval" + }, + "metricsSummary": { + "$ref": "MetricsSummary", + "description": "Required. Summary metrics for this exercise ( )" + }, + "notes": { + "description": "Optional. Standard free-form notes captured at manual logging.", + "type": "string" + }, + "splitSummaries": { + "description": "Optional. Laps or splits recorded within an exercise. Laps could be split based on distance or other criteria (duration, etc.) Laps should not be overlapping with each other.", + "items": { + "$ref": "SplitSummary" + }, + "type": "array" + }, + "splits": { + "description": "Optional. The default split is 1 km or 1 mile. - if the movement distance is less than the default, then there are no splits - if the movement distance is greater than or equal to the default, then we have splits", + "items": { + "$ref": "SplitSummary" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. This is the timestamp of the last update to the exercise.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExerciseEvent": { + "description": "Represents instantaneous events that happen during an exercise, such as start, stop, pause, split.", + "id": "ExerciseEvent", + "properties": { + "eventTime": { + "description": "Required. Exercise event time", + "format": "google-datetime", + "type": "string" + }, + "eventUtcOffset": { + "description": "Required. Exercise event time offset from UTC", + "format": "google-duration", + "type": "string" + }, + "exerciseEventType": { + "description": "Required. The type of the event, such as start, stop, pause, resume.", + "enum": [ + "EXERCISE_EVENT_TYPE_UNSPECIFIED", + "START", + "STOP", + "PAUSE", + "RESUME", + "AUTO_PAUSE", + "AUTO_RESUME" + ], + "enumDescriptions": [ + "Exercise event type is unspecified.", + "Exercise start event.", + "Exercise stop event.", + "Exercise pause event.", + "Exercise resume event.", + "Exercise auto-pause event.", + "Exercise auto-resume event." + ], + "type": "string" + } + }, + "type": "object" + }, + "ExerciseMetadata": { + "description": "Additional exercise metadata.", + "id": "ExerciseMetadata", + "properties": { + "hasGps": { + "description": "Optional. Whether the exercise had GPS tracking.", + "type": "boolean" + }, + "poolLengthMillimeters": { + "description": "Optional. Pool length in millimeters. Only present in the swimming exercises.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ExportExerciseTcxResponse": { + "description": "Represents a Response for exporting exercise data in TCX format.", + "id": "ExportExerciseTcxResponse", + "properties": { + "tcxData": { + "description": "Contains the exported TCX data. This field is intended for gRPC clients, as media download integration is not supported for gRPC. HTTP clients should instead use the `alt=media` query parameter to download the raw binary TCX file.", + "type": "string" + } + }, + "type": "object" + }, + "Floors": { + "description": "Gained elevation measured in floors over the time interval", + "id": "Floors", + "properties": { + "count": { + "description": "Required. Number of floors in the recorded interval", + "format": "int64", + "type": "string" + }, + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval" + } + }, + "type": "object" + }, + "FloorsRollupValue": { + "description": "Represents the result of the rollup of the user's floors.", + "id": "FloorsRollupValue", + "properties": { + "countSum": { + "description": "Sum of the floors count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Food": { + "description": "Represents a food item.", + "id": "Food", + "properties": { + "accessLevel": { + "description": "Required. The access level of the food.", + "enum": [ + "FOOD_ACCESS_LEVEL_UNSPECIFIED", + "FOOD_ACCESS_LEVEL_PUBLIC", + "FOOD_ACCESS_LEVEL_PRIVATE" + ], + "enumDescriptions": [ + "Unspecified food access level.", + "Public food access level.", + "Private food access level." + ], + "type": "string" + }, + "brand": { + "description": "Optional. The brand of the food.", + "type": "string" + }, + "defaultServing": { + "$ref": "FoodServing", + "description": "Required. Value representing the default serving of the food." + }, + "description": { + "description": "Optional. The description of the food.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the food.", + "type": "string" + }, + "energyAvg": { + "$ref": "EnergyQuantity", + "description": "Optional. Value representing the average energy of the food for the default serving." + }, + "energyFromFat": { + "$ref": "EnergyQuantity", + "description": "Optional. Value representing the energy from fat of the food for the default serving." + }, + "energyMax": { + "$ref": "EnergyQuantity", + "description": "Optional. Value representing the maximum energy of the food for the default serving." + }, + "energyMin": { + "$ref": "EnergyQuantity", + "description": "Optional. Value representing the minimum energy of the food for the default serving." + }, + "languageCode": { + "description": "Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code.", + "type": "string" + }, + "mealType": { + "description": "Optional. The meal type associated with this food.", + "enum": [ + "MEAL_TYPE_UNSPECIFIED", + "BEFORE_BREAKFAST", + "BREAKFAST", + "BEFORE_LUNCH", + "LUNCH", + "BEFORE_DINNER", + "DINNER", + "AFTER_DINNER", + "SNACK", + "ANYTIME" + ], + "enumDescriptions": [ + "Unspecified meal type.", + "Value representing a meal before breakfast.", + "Value representing a breakfast.", + "Value representing a morning snack.", + "Value representing a lunch.", + "Value representing an afternoon snack.", + "Value representing dinner.", + "Value representing an evening snack.", + "Value representing any meal outside of the usual three meals per day.", + "Value representing any time (legacy NA)." + ], + "type": "string" + }, + "nutrients": { + "description": "Optional. Value representing the nutrients of the food for the default serving.", + "items": { + "$ref": "NutrientQuantity" + }, + "type": "array" + }, + "servings": { + "description": "Optional. The serving of the food.", + "items": { + "$ref": "FoodServing" + }, + "type": "array" + }, + "totalCarbohydrate": { + "$ref": "WeightQuantity", + "description": "Optional. Value representing the total carbohydrate of the food for the default serving." + }, + "totalFat": { + "$ref": "WeightQuantity", + "description": "Optional. Value representing the total fat of the food for the default serving." + } + }, + "type": "object" + }, + "FoodMeasurementUnit": { + "description": "Represents a food measurement unit.", + "id": "FoodMeasurementUnit", + "properties": { + "displayName": { + "description": "Required. The display name of the food measurement unit (e.g., \"gram\", \"piece\").", + "type": "string" + }, + "pluralDisplayName": { + "description": "Optional. The plural display name of the food measurement unit (e.g., \"grams\", \"pieces\").", + "type": "string" + } + }, + "type": "object" + }, + "FoodServing": { + "description": "Represents different properties and information about the serving of a specific food.", + "id": "FoodServing", + "properties": { + "amount": { + "description": "Optional. Amount of food consumed, fractional values are supported.", + "format": "double", + "type": "number" + }, + "foodMeasurementUnit": { + "description": "Required. Food measurement unit", + "type": "string" + }, + "foodMeasurementUnitDisplayName": { + "description": "Output only. Legacy measurement unit for serving size in singular form (e.g. \"piece\", \"gram\").", + "readOnly": true, + "type": "string" + }, + "foodMeasurementUnitDisplayNamePlural": { + "description": "Output only. Legacy measurement unit for serving size in plural form (e.g. \"pieces\", \"grams\").", + "readOnly": true, + "type": "string" + }, + "multiplier": { + "description": "Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleDevicesandservicesHealthV4DataType": { + "description": "Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly.", + "id": "GoogleDevicesandservicesHealthV4DataType", + "properties": { + "name": { + "description": "Identifier. The resource name of the data type. Format: `users/{user}/dataTypes/{data_type}` See DataPoint.name for examples and possible values.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevicesandservicesHealthV4User": { + "description": "Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly.", + "id": "GoogleDevicesandservicesHealthV4User", + "properties": { + "name": { + "description": "Identifier. The resource name of the user. The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog": { + "description": "Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.", + "id": "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog", + "properties": { + "httpResponse": { + "$ref": "HttpResponse", + "description": "Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body." + } + }, + "type": "object" + }, + "GoogleDevicesandservicesHealthV4betaDataType": { + "description": "Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly.", + "id": "GoogleDevicesandservicesHealthV4betaDataType", + "properties": { + "name": { + "description": "Identifier. The resource name of the data type. Format: `users/{user}/dataTypes/{data_type}` See DataPoint.name for examples and possible values.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevicesandservicesHealthV4betaUser": { + "description": "Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly.", + "id": "GoogleDevicesandservicesHealthV4betaUser", + "properties": { + "name": { + "description": "Identifier. The resource name of the user. The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevicesandservicesHealthV4betaWebhookNotificationCloudLog": { + "description": "Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.", + "id": "GoogleDevicesandservicesHealthV4betaWebhookNotificationCloudLog", + "properties": { + "httpResponse": { + "$ref": "HttpResponse", + "description": "Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body." + } + }, + "type": "object" + }, + "HeartBeat": { + "description": "A single heart beat measurement.", + "id": "HeartBeat", + "properties": { + "beatsPerMinute": { + "description": "Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval).", + "format": "int32", + "type": "integer" + }, + "civilTime": { + "$ref": "CivilDateTime", + "description": "Output only. The civil time in the timezone the subject is in at the time of the observation.", + "readOnly": true + }, + "physicalTime": { + "description": "Required. The time of the heart beat measurement.", + "format": "google-datetime", + "type": "string" + }, + "utcOffset": { + "description": "Required. The UTC offset of the user's timezone when the heart beat measurement occurred.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "HeartRate": { + "description": "A heart rate measurement.", + "id": "HeartRate", + "properties": { + "beatsPerMinute": { + "description": "Required. The heart rate value in beats per minute.", + "format": "int64", + "type": "string" + }, + "metadata": { + "$ref": "HeartRateMetadata", + "description": "Optional. Metadata about the heart rate sample." + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. Observation time" + } + }, + "type": "object" + }, + "HeartRateMetadata": { + "description": "Heart rate metadata.", + "id": "HeartRateMetadata", + "properties": { + "motionContext": { + "description": "Optional. Indicates the user’s level of activity when the heart rate sample was measured", + "enum": [ + "MOTION_CONTEXT_UNSPECIFIED", + "ACTIVE", + "SEDENTARY" + ], + "enumDescriptions": [ + "The default value when no data is available.", + "The user is active.", + "The user is inactive." + ], + "type": "string" + }, + "sensorLocation": { + "description": "Optional. Indicates the location of the sensor that measured the heart rate.", + "enum": [ + "SENSOR_LOCATION_UNSPECIFIED", + "CHEST", + "WRIST", + "FINGER", + "HAND", + "EAR_LOBE", + "FOOT" + ], + "enumDescriptions": [ + "The default value when no data is available.", + "Chest sensor.", + "Wrist sensor.", + "Finger sensor.", + "Hand sensor.", + "Ear lobe sensor.", + "Foot sensor." + ], + "type": "string" + } + }, + "type": "object" + }, + "HeartRateRollupValue": { + "description": "Represents the result of the rollup of the heart rate data type.", + "id": "HeartRateRollupValue", + "properties": { + "beatsPerMinuteAvg": { + "description": "The average heart rate value in the interval.", + "format": "double", + "type": "number" + }, + "beatsPerMinuteMax": { + "description": "The maximum heart rate value in the interval.", + "format": "double", + "type": "number" + }, + "beatsPerMinuteMin": { + "description": "The minimum heart rate value in the interval.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "HeartRateVariability": { + "description": "Captures user's heart rate variability (HRV) as measured by the root mean square of successive differences (RMSSD) between normal heartbeats or by standard deviation of the inter-beat intervals (SDNN).", + "id": "HeartRateVariability", + "properties": { + "metadata": { + "$ref": "HeartRateVariabilityMetadata", + "description": "Optional. Metadata used in 1P surfaces." + }, + "rootMeanSquareOfSuccessiveDifferencesMilliseconds": { + "description": "Optional. The root mean square of successive differences between normal heartbeats. This is a measure of heart rate variability used by Google Health.", + "format": "double", + "type": "number" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time of the heart rate variability measurement." + }, + "standardDeviationMilliseconds": { + "description": "Optional. The standard deviation of the heart rate variability measurement.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "HeartRateVariabilityMetadata": { + "description": "Metadata for HeartRateVariability.", + "id": "HeartRateVariabilityMetadata", + "properties": { + "highFrequencyPower": { + "description": "Optional. The power in interbeat interval fluctuations within the high frequency band (0.15 Hz - 0.4 Hz).", + "format": "double", + "type": "number" + }, + "lowFrequencyPower": { + "description": "Optional. The power in interbeat interval fluctuations within the low frequency band (0.04 Hz - 0.15 Hz).", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "HeartRateVariabilityPersonalRangeRollupValue": { + "description": "Represents the result of the rollup of the user's daily heart rate variability personal range.", + "id": "HeartRateVariabilityPersonalRangeRollupValue", + "properties": { + "averageHeartRateVariabilityMillisecondsMax": { + "description": "The upper bound of the user's average heart rate variability personal range.", + "format": "double", + "type": "number" + }, + "averageHeartRateVariabilityMillisecondsMin": { + "description": "The lower bound of the user's average heart rate variability personal range.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "HeartRateZone": { + "description": "The heart rate zone.", + "id": "HeartRateZone", + "properties": { + "heartRateZoneType": { + "description": "Required. The heart rate zone type.", + "enum": [ + "HEART_RATE_ZONE_TYPE_UNSPECIFIED", + "LIGHT", + "MODERATE", + "VIGOROUS", + "PEAK" + ], + "enumDescriptions": [ + "Unspecified heart rate zone.", + "The light heart rate zone.", + "The moderate heart rate zone.", + "The vigorous heart rate zone.", + "The peak heart rate zone." + ], + "type": "string" + }, + "maxBeatsPerMinute": { + "description": "Required. Maximum heart rate for this zone in beats per minute.", + "format": "int64", + "type": "string" + }, + "minBeatsPerMinute": { + "description": "Required. Minimum heart rate for this zone in beats per minute.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Height": { + "description": "Body height measurement.", + "id": "Height", + "properties": { + "heightMillimeters": { + "description": "Required. Height of the user in millimeters.", + "format": "int64", + "type": "string" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which the height was recorded." + } + }, + "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" + }, + "HttpHeader": { + "description": "Represents an HTTP header.", + "id": "HttpHeader", + "properties": { + "key": { + "description": "The HTTP header key. It is case insensitive.", + "type": "string" + }, + "value": { + "description": "The HTTP header value.", + "type": "string" + } + }, + "type": "object" + }, + "HttpResponse": { + "description": "Represents an HTTP response.", + "id": "HttpResponse", + "properties": { + "body": { + "description": "The HTTP response body. If the body is not expected, it should be empty.", + "format": "byte", + "type": "string" + }, + "headers": { + "description": "The HTTP response headers. The ordering of the headers is significant. Multiple headers with the same key may present for the response.", + "items": { + "$ref": "HttpHeader" + }, + "type": "array" + }, + "reason": { + "description": "The HTTP reason phrase, such as \"OK\" or \"Not Found\".", + "type": "string" + }, + "status": { + "description": "The HTTP status code, such as 200 or 404.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "HydrationLog": { + "description": "Holds information about a user logged hydration.", + "id": "HydrationLog", + "properties": { + "amountConsumed": { + "$ref": "VolumeQuantity", + "description": "Required. Amount of liquid (ex. water) consumed." + }, + "interval": { + "$ref": "SessionTimeInterval", + "description": "Required. Observed interval." + } + }, + "type": "object" + }, + "HydrationLogRollupValue": { + "description": "Represents the result of the rollup of the hydration log data type.", + "id": "HydrationLogRollupValue", + "properties": { + "amountConsumed": { + "$ref": "VolumeQuantityRollup", + "description": "Rollup for amount consumed." + } + }, + "type": "object" + }, + "Identity": { + "description": "Represents details about the Google user's identity.", + "id": "Identity", + "properties": { + "healthUserId": { + "description": "Output only. The Google User Identifier in the Google Health APIs. It matches the `{user}` resource ID segment in the resource name paths, e.g. `users/{user}/dataTypes/steps`. Valid values are strings of 1-63 characters, and valid characters are lowercase and uppercase letters, numbers, and hyphens.", + "readOnly": true, + "type": "string" + }, + "legacyUserId": { + "description": "Output only. The legacy Fitbit User identifier. This is the Fitbit ID used in the legacy Fitbit APIs (v1-v3). It can be referenced by clients migrating from the legacy Fitbit APIs to map their existing identifiers to the new Google user ID. It **must not** be used for any other purpose. It is not of any use for new clients using only the Google Health APIs. Valid values are strings of 1-63 characters, and valid characters are lowercase and uppercase letters, numbers, and hyphens.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of this Identity resource. Format: `users/me/identity`", + "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" + }, + "IrnProfile": { + "description": "Irregular Rhythm Notifications (IRN) Profile details. The Irregular Rhythm Notifications (IRN) feature checks for signs of atrial fibrillation (AFib). The IrnProfile details include information about the user's onboarding status, enrollment status, and the last update time of analyzable data for this feature.", + "id": "IrnProfile", + "properties": { + "enrollmentStatus": { + "description": "Required. Whether or not the user is currently enrolled in having their data processed for IRN alerts.", + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of this IrnProfile resource. Format: `users/{user}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.", + "type": "string" + }, + "onboardingStatus": { + "description": "Required. Whether or not the user has onboarded onto the IRN feature.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. The timestamp of the last piece of analyzable data synced by the user.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "IrregularRhythmNotification": { + "description": "Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review.", + "id": "IrregularRhythmNotification", + "properties": { + "alertWindows": { + "description": "Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm.", + "items": { + "$ref": "AlertWindow" + }, + "type": "array" + }, + "interval": { + "$ref": "SessionTimeInterval", + "description": "Required. Observed interval." + }, + "medicalDeviceInfo": { + "$ref": "MedicalDeviceInfo", + "description": "Output only. The meta information for the compatible device used to conduct the measurement. Irregular Rhythm Notification measurements typically populate `algorithm_version`, `service_version`, and `device_model`.", + "readOnly": true + } + }, + "type": "object" + }, + "ListDataPointsResponse": { + "description": "Response containing raw data points matching the query", + "id": "ListDataPointsResponse", + "properties": { + "dataPoints": { + "description": "Data points matching the query", + "items": { + "$ref": "DataPoint" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Next page token, empty if the response is complete", + "type": "string" + } + }, + "type": "object" + }, + "ListPairedDevicesResponse": { + "description": "Response message for ListPairedDevices.", + "id": "ListPairedDevicesResponse", + "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" + }, + "pairedDevices": { + "description": "The paired devices of the user.", + "items": { + "$ref": "PairedDevice" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSubscribersResponse": { + "description": "Response message for ListSubscribers.", + "id": "ListSubscribersResponse", + "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" + }, + "subscribers": { + "description": "Subscribers from the specified project.", + "items": { + "$ref": "Subscriber" + }, + "type": "array" + }, + "totalSize": { + "description": "The total number of subscribers matching the request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ListSubscriptionsResponse": { + "description": "Response message for ListSubscriptions.", + "id": "ListSubscriptionsResponse", + "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" + }, + "subscriptions": { + "description": "The subscriptions from the specified subscriber.", + "items": { + "$ref": "Subscription" + }, + "type": "array" + } + }, + "type": "object" + }, + "ManifestParams": { + "description": "Represents the POST body contained in a GetShlManifestRequest This message is nested to represent that See https://build.fhir.org/ig/HL7/smart-health-cards-and-links/links-specification.html#smart-health-link-manifest-request", + "id": "ManifestParams", + "properties": { + "embeddedLengthMax": { + "description": "Optional. Integer upper bound on the length of embedded payloads", + "format": "int32", + "type": "integer" + }, + "passcode": { + "description": "Optional. ", + "type": "string" + }, + "recipient": { + "description": "Required. A string describing the recipient (e.g.,the name of an organization or person) suitable for display to the Receiving User", + "type": "string" + } + }, + "type": "object" + }, + "MedicalDeviceInfo": { + "description": "Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI).", + "id": "MedicalDeviceInfo", + "properties": { + "algorithmVersion": { + "description": "Output only. The algorithm version used by the feature.", + "readOnly": true, + "type": "string" + }, + "deviceModel": { + "description": "Output only. The model name or device type of the compatible device used to collect the data.", + "readOnly": true, + "type": "string" + }, + "featureVersion": { + "description": "Output only. The version of the feature/app running on the device.", + "readOnly": true, + "type": "string" + }, + "firmwareVersion": { + "description": "Output only. The firmware version running on the compatible device used to collect the data.", + "readOnly": true, + "type": "string" + }, + "serviceVersion": { + "description": "Output only. The service version used by the feature.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MenstrualPeriod": { + "description": "Menstrual period record.", + "id": "MenstrualPeriod", + "properties": { + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + }, + "notes": { + "description": "Optional. Standard free-form notes captured at manual logging.", + "type": "string" + } + }, + "type": "object" + }, + "MetricsSummary": { + "description": "Summary metrics for an exercise.", + "id": "MetricsSummary", + "properties": { + "activeZoneMinutes": { + "description": "Optional. Total active zone minutes for the exercise.", + "format": "int64", + "type": "string" + }, + "averageHeartRateBeatsPerMinute": { + "description": "Optional. Average heart rate during the exercise.", + "format": "int64", + "type": "string" + }, + "averagePaceSecondsPerMeter": { + "description": "Optional. Average pace in seconds per meter.", + "format": "double", + "type": "number" + }, + "averageSpeedMillimetersPerSecond": { + "description": "Optional. Average speed in millimeters per second.", + "format": "double", + "type": "number" + }, + "caloriesKcal": { + "description": "Optional. Total calories burned by the user during the exercise.", + "format": "double", + "type": "number" + }, + "distanceMillimeters": { + "description": "Optional. Total distance covered by the user during the exercise.", + "format": "double", + "type": "number" + }, + "elevationGainMillimeters": { + "description": "Optional. Total elevation gain during the exercise.", + "format": "double", + "type": "number" + }, + "heartRateZoneDurations": { + "$ref": "TimeInHeartRateZones", + "description": "Optional. Time spent in each heart rate zone." + }, + "mobilityMetrics": { + "$ref": "MobilityMetrics", + "description": "Optional. Mobility workouts specific metrics. Only present in the advanced running exercises." + }, + "runVo2Max": { + "description": "Optional. Run VO2 max value for the exercise. Only present in the running exercises at the top level as in the summary of the whole exercise.", + "format": "double", + "type": "number" + }, + "steps": { + "description": "Optional. Total steps taken during the exercise.", + "format": "int64", + "type": "string" + }, + "totalSwimLengths": { + "description": "Optional. Number of full pool lengths completed during the exercise. Only present in the swimming exercises at the top level as in the summary of the whole exercise.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "MobilityMetrics": { + "description": "Mobility workouts specific metrics", + "id": "MobilityMetrics", + "properties": { + "avgCadenceStepsPerMinute": { + "description": "Optional. Cadence is a measure of the frequency of your foot strikes. Steps / min in real time during workout.", + "format": "double", + "type": "number" + }, + "avgGroundContactTimeDuration": { + "description": "Optional. The ground contact time for a particular stride is the amount of time for which the foot was in contact with the ground on that stride", + "format": "google-duration", + "type": "string" + }, + "avgStrideLengthMillimeters": { + "description": "Optional. Stride length is a measure of the distance covered by a single stride", + "format": "int64", + "type": "string" + }, + "avgVerticalOscillationMillimeters": { + "description": "Optional. Distance off the ground your center of mass moves with each stride while running", + "format": "int64", + "type": "string" + }, + "avgVerticalRatio": { + "description": "Optional. Vertical oscillation/stride length between [5.0, 11.0].", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "Moods": { + "description": "Moods record.", + "id": "Moods", + "properties": { + "moods": { + "description": "Required. The moods logged.", + "items": { + "enum": [ + "MOOD_UNSPECIFIED", + "AMAZED", + "AMUSED", + "ANGRY", + "ANNOYED", + "ANXIOUS", + "HAPPY", + "CONTENT", + "SAD", + "WORRIED", + "FRUSTRATED", + "EXCITED", + "CALM", + "STRESSED", + "ASHAMED", + "BRAVE", + "CONFIDENT", + "DISAPPOINTED", + "DISCOURAGED", + "DISGUSTED", + "DRAINED", + "EMBARRASSED", + "GRATEFUL", + "GUILTY", + "HOPEFUL", + "HOPELESS", + "INDIFFERENT", + "IRRITATED", + "JEALOUS", + "JOYFUL", + "LONELY", + "OVERWHELMED", + "PASSIONATE", + "PEACEFUL", + "PROUD", + "RELIEVED", + "SATISFIED", + "SCARED", + "SURPRISED", + "ENERGIZED", + "FATIGUED", + "VERY_CALM", + "VERY_STRESSED", + "NEUTRAL", + "AFRAID", + "HURTING", + "BORED", + "BITTER", + "ENVIOUS", + "CONFUSED", + "CURIOUS", + "AWESTRUCK", + "INSPIRED", + "LONGING", + "ACCOMPLISHED", + "LOVING", + "COMPASSIONATE" + ], + "enumDescriptions": [ + "Unspecified mood.", + "Amazed.", + "Amused.", + "Angry.", + "Annoyed.", + "Anxious.", + "Happy.", + "Content.", + "Sad.", + "Worried.", + "Frustrated.", + "Excited.", + "Calm.", + "Stressed.", + "Ashamed.", + "Brave.", + "Confident.", + "Disappointed.", + "Discouraged.", + "Disgusted.", + "Drained.", + "Embarrassed.", + "Grateful.", + "Guilty.", + "Hopeful.", + "Hopeless.", + "Indifferent.", + "Irritated.", + "Jealous.", + "Joyful.", + "Lonely.", + "Overwhelmed.", + "Passionate.", + "Peaceful.", + "Proud.", + "Relieved.", + "Satisfied.", + "Scared.", + "Surprised.", + "Energized.", + "Fatigued.", + "Very calm.", + "Very stressed.", + "Neutral.", + "Afraid.", + "Hurting.", + "Bored.", + "Bitter.", + "Envious.", + "Confused.", + "Curious.", + "Awestruck.", + "Inspired.", + "Longing.", + "Accomplished.", + "Loving.", + "Compassionate." + ], + "type": "string" + }, + "type": "array" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which moods were measured." + }, + "valences": { + "description": "Optional. The valences.", + "items": { + "enum": [ + "VALENCE_UNSPECIFIED", + "UNPLEASANT", + "BASELINE", + "PLEASANT" + ], + "enumDescriptions": [ + "Unspecified valence.", + "Unpleasant.", + "Baseline.", + "Pleasant." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "NutrientQuantity": { + "description": "Represents the quantity of a nutrient.", + "id": "NutrientQuantity", + "properties": { + "nutrient": { + "description": "Required. The nutrient type.", + "enum": [ + "NUTRIENT_UNSPECIFIED", + "BIOTIN", + "CAFFEINE", + "CALCIUM", + "CHLORIDE", + "CARBOHYDRATES", + "CHOLESTEROL", + "CHROMIUM", + "COPPER", + "DIETARY_FIBER", + "FOLIC_ACID", + "IODINE", + "IRON", + "MAGNESIUM", + "MANGANESE", + "MOLYBDENUM", + "MONOUNSATURATED_FAT", + "NIACIN", + "PANTOTHENIC_ACID", + "PHOSPHORUS", + "POLYUNSATURATED_FAT", + "POTASSIUM", + "PROTEIN", + "RIBOFLAVIN", + "SATURATED_FAT", + "SELENIUM", + "SODIUM", + "SUGAR", + "THIAMIN", + "TRANS_FAT", + "UNSATURATED_FAT", + "VITAMIN_A", + "VITAMIN_B12", + "VITAMIN_B6", + "VITAMIN_C", + "VITAMIN_D", + "VITAMIN_E", + "VITAMIN_K", + "ZINC", + "FOLATE" + ], + "enumDescriptions": [ + "Unspecified nutrient.", + "Value representing biotin nutrient.", + "Value representing caffeine nutrient.", + "Value representing calcium nutrient.", + "Value representing chloride nutrient.", + "Value representing carbohydrates nutrient.", + "Value representing cholesterol nutrient.", + "Value representing chromium nutrient.", + "Value representing copper nutrient.", + "Value representing dietary fiber nutrient.", + "Value representing folic acid nutrient.", + "Value representing iodine nutrient.", + "Value representing iron nutrient.", + "Value representing magnesium nutrient.", + "Value representing manganese nutrient.", + "Value representing molybdenum nutrient.", + "Value representing monounsaturated fat nutrient.", + "Value representing niacin nutrient.", + "Value representing pantothenic acid nutrient.", + "Value representing phosphorus nutrient.", + "Value representing polyunsaturated fat nutrient.", + "Value representing potassium nutrient.", + "Value representing protein nutrient.", + "Value representing riboflavin nutrient.", + "Value representing saturated fat nutrient.", + "Value representing selenium nutrient.", + "Value representing sodium nutrient.", + "Value representing sugar nutrient.", + "Value representing thiamin nutrient.", + "Value representing trans fat nutrient.", + "Value representing unsaturated fat nutrient.", + "Value representing vitamin A nutrient.", + "Value representing vitamin B12 nutrient.", + "Value representing vitamin B6 nutrient.", + "Value representing vitamin C nutrient.", + "Value representing vitamin D nutrient.", + "Value representing vitamin E nutrient.", + "Value representing vitamin K nutrient.", + "Value representing zinc nutrient.", + "Value representing folate nutrient." + ], + "type": "string" + }, + "quantity": { + "$ref": "WeightQuantity", + "description": "Required. The quantity of the nutrient, measured in grams." + } + }, + "type": "object" + }, + "NutrientQuantityRollup": { + "description": "Nutrient quantity rollup.", + "id": "NutrientQuantityRollup", + "properties": { + "nutrient": { + "description": "Required. Aggregated nutrient.", + "enum": [ + "NUTRIENT_UNSPECIFIED", + "BIOTIN", + "CAFFEINE", + "CALCIUM", + "CHLORIDE", + "CARBOHYDRATES", + "CHOLESTEROL", + "CHROMIUM", + "COPPER", + "DIETARY_FIBER", + "FOLIC_ACID", + "IODINE", + "IRON", + "MAGNESIUM", + "MANGANESE", + "MOLYBDENUM", + "MONOUNSATURATED_FAT", + "NIACIN", + "PANTOTHENIC_ACID", + "PHOSPHORUS", + "POLYUNSATURATED_FAT", + "POTASSIUM", + "PROTEIN", + "RIBOFLAVIN", + "SATURATED_FAT", + "SELENIUM", + "SODIUM", + "SUGAR", + "THIAMIN", + "TRANS_FAT", + "UNSATURATED_FAT", + "VITAMIN_A", + "VITAMIN_B12", + "VITAMIN_B6", + "VITAMIN_C", + "VITAMIN_D", + "VITAMIN_E", + "VITAMIN_K", + "ZINC", + "FOLATE" + ], + "enumDescriptions": [ + "Unspecified nutrient.", + "Value representing biotin nutrient.", + "Value representing caffeine nutrient.", + "Value representing calcium nutrient.", + "Value representing chloride nutrient.", + "Value representing carbohydrates nutrient.", + "Value representing cholesterol nutrient.", + "Value representing chromium nutrient.", + "Value representing copper nutrient.", + "Value representing dietary fiber nutrient.", + "Value representing folic acid nutrient.", + "Value representing iodine nutrient.", + "Value representing iron nutrient.", + "Value representing magnesium nutrient.", + "Value representing manganese nutrient.", + "Value representing molybdenum nutrient.", + "Value representing monounsaturated fat nutrient.", + "Value representing niacin nutrient.", + "Value representing pantothenic acid nutrient.", + "Value representing phosphorus nutrient.", + "Value representing polyunsaturated fat nutrient.", + "Value representing potassium nutrient.", + "Value representing protein nutrient.", + "Value representing riboflavin nutrient.", + "Value representing saturated fat nutrient.", + "Value representing selenium nutrient.", + "Value representing sodium nutrient.", + "Value representing sugar nutrient.", + "Value representing thiamin nutrient.", + "Value representing trans fat nutrient.", + "Value representing unsaturated fat nutrient.", + "Value representing vitamin A nutrient.", + "Value representing vitamin B12 nutrient.", + "Value representing vitamin B6 nutrient.", + "Value representing vitamin C nutrient.", + "Value representing vitamin D nutrient.", + "Value representing vitamin E nutrient.", + "Value representing vitamin K nutrient.", + "Value representing zinc nutrient.", + "Value representing folate nutrient." + ], + "type": "string" + }, + "quantity": { + "$ref": "WeightQuantityRollup", + "description": "Required. Aggregated nutrient weight." + } + }, + "type": "object" + }, + "NutritionLog": { + "description": "Holds information about food logged by a user. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not editable.", + "id": "NutritionLog", + "properties": { + "energy": { + "$ref": "EnergyQuantity", + "description": "Optional. The total energy of the food, measured in kilocalories (`kcal`)." + }, + "energyFromFat": { + "$ref": "EnergyQuantity", + "description": "Optional. The energy from fat, measured in kilocalories (`kcal`)." + }, + "food": { + "description": "Optional. The resource name of the Food item. Required when creating a nutrition log from an identified food. For anonymous food logs, use the `food_display_name` field instead.", + "type": "string" + }, + "foodDisplayName": { + "description": "The display name of the food. For identified food logs, this is populated automatically from the referenced food.", + "type": "string" + }, + "interval": { + "$ref": "SessionTimeInterval", + "description": "Required. The time window when the food was logged." + }, + "mealType": { + "description": "Optional. The meal category. One of `BREAKFAST`, `LUNCH`, `DINNER`, or `SNACK`.", + "enum": [ + "MEAL_TYPE_UNSPECIFIED", + "BEFORE_BREAKFAST", + "BREAKFAST", + "BEFORE_LUNCH", + "LUNCH", + "BEFORE_DINNER", + "DINNER", + "AFTER_DINNER", + "SNACK", + "ANYTIME" + ], + "enumDescriptions": [ + "Unspecified meal type.", + "Value representing a meal before breakfast.", + "Value representing a breakfast.", + "Value representing a morning snack.", + "Value representing a lunch.", + "Value representing an afternoon snack.", + "Value representing dinner.", + "Value representing an evening snack.", + "Value representing any meal outside of the usual three meals per day.", + "Value representing any time (legacy NA)." + ], + "type": "string" + }, + "nutrients": { + "description": "Optional. An array of individual nutrient values for the nutrition log.", + "items": { + "$ref": "NutrientQuantity" + }, + "type": "array" + }, + "serving": { + "$ref": "Serving", + "description": "Optional. The serving information for the logged food." + }, + "totalCarbohydrate": { + "$ref": "WeightQuantity", + "description": "Optional. The total carbohydrate content, measured in grams." + }, + "totalFat": { + "$ref": "WeightQuantity", + "description": "Optional. The total fat content, measured in grams." + } + }, + "type": "object" + }, + "NutritionLogRollupValue": { + "description": "Represents the result of the rollup of the nutrition log data type.", + "id": "NutritionLogRollupValue", + "properties": { + "energy": { + "$ref": "EnergyQuantityRollup", + "description": "Energy rollup." + }, + "energyFromFat": { + "$ref": "EnergyQuantityRollup", + "description": "Value Energy from fat rollup." + }, + "nutrients": { + "description": "List of the nutrient roll-ups by the nutrient type.", + "items": { + "$ref": "NutrientQuantityRollup" + }, + "type": "array" + }, + "totalCarbohydrate": { + "$ref": "WeightQuantityRollup", + "description": "Total carbohydrate rollup." + }, + "totalFat": { + "$ref": "WeightQuantityRollup", + "description": "Total fat rollup." + } + }, + "type": "object" + }, + "ObservationSampleTime": { + "description": "Represents a sample time of an observed data point.", + "id": "ObservationSampleTime", + "properties": { + "civilTime": { + "$ref": "CivilDateTime", + "description": "Output only. The civil time in the timezone the subject is in at the time of the observation.", + "readOnly": true + }, + "physicalTime": { + "description": "Required. The time of the observation.", + "format": "google-datetime", + "type": "string" + }, + "utcOffset": { + "description": "Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "ObservationTimeInterval": { + "description": "Represents a time interval of an observed data point.", + "id": "ObservationTimeInterval", + "properties": { + "civilEndTime": { + "$ref": "CivilDateTime", + "description": "Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval", + "readOnly": true + }, + "civilStartTime": { + "$ref": "CivilDateTime", + "description": "Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval", + "readOnly": true + }, + "endTime": { + "description": "Required. Observed interval end time.", + "format": "google-datetime", + "type": "string" + }, + "endUtcOffset": { + "description": "Required. The offset of the user's local time at the end of the observation relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + }, + "startTime": { + "description": "Required. Observed interval start time.", + "format": "google-datetime", + "type": "string" + }, + "startUtcOffset": { + "description": "Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OutOfBedSegment": { + "description": "A time interval to represent an out-of-bed segment.", + "id": "OutOfBedSegment", + "properties": { + "endTime": { + "description": "Required. Segment end time.", + "format": "google-datetime", + "type": "string" + }, + "endUtcOffset": { + "description": "Required. The offset of the user's local time at the end of the segment relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + }, + "startTime": { + "description": "Required. Segment tart time.", + "format": "google-datetime", + "type": "string" + }, + "startUtcOffset": { + "description": "Required. The offset of the user's local time at the start of the segment relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "OvulationTest": { + "description": "Ovulation test record.", + "id": "OvulationTest", + "properties": { + "result": { + "description": "Required. The result of the ovulation test.", + "enum": [ + "OVULATION_TEST_RESULT_UNSPECIFIED", + "NEGATIVE", + "LUTEINIZING_HORMONE_SURGE", + "ESTROGEN_SURGE", + "POSITIVE", + "INDETERMINATE" + ], + "enumDescriptions": [ + "Unspecified result.", + "Negative result.", + "Luteinizing hormone surge.", + "Estrogen surge.", + "Positive result.", + "Indeterminate result." + ], + "type": "string" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which ovulation test was measured." + } + }, + "type": "object" + }, + "OxygenSaturation": { + "description": "Captures the user's instantaneous oxygen saturation percentage (SpO2).", + "id": "OxygenSaturation", + "properties": { + "percentage": { + "description": "Required. The oxygen saturation percentage. Valid values are from 0 to 100.", + "format": "double", + "type": "number" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which oxygen saturation was measured." + } + }, + "type": "object" + }, + "PairedDevice": { + "description": "User's Paired 1P Device The PairedDevice details include information about the device type, battery status, battery level, last sync time, device version, mac address, and features.", + "id": "PairedDevice", + "properties": { + "batteryLevel": { + "description": "Output only. The battery level of the device.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "batteryStatus": { + "description": "Output only. The battery status of the device. Supported: High | Medium | Low | Empty", + "readOnly": true, + "type": "string" + }, + "deviceType": { + "description": "Output only. The device type. Supported: TRACKER | SCALE", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "TRACKER", + "SCALE" + ], + "enumDescriptions": [ + "Device type is not specified.", + "Device type is tracker.", + "Device type is scale." + ], + "readOnly": true, + "type": "string" + }, + "deviceVersion": { + "description": "Output only. The product name of the device", + "readOnly": true, + "type": "string" + }, + "features": { + "description": "Output only. Lists of unique features supported by the device. Comprehensive list of supported features: **Fitness Tracking** - `ACTIVE_MINUTES`: Legacy active minutes. - `AUTOSTRIDE`: Automatic stride length calculation. - `BIKE_ONBOARDING`: Cycling UI support. - `CALORIES`: Daily burned calories. - `DISTANCE`: Daily distance tracking. - `ELEVATION`: Floors climbed. - `INACTIVITY_ALERTS`: Reminders to move. - `SEDENTARY_TIME`: Tracks inactive time. - `STEPS`: Daily steps. - `SWIM`: Swim tracking (laps/strokes). - `AUTORUN`: Automatic run detection. - `ACTIVE_ZONE_MINUTES`: Active Zone Minutes (AZM). **Heart Rate & Health** - `HEART_RATE`: Continuous heart rate (PPG). - `BAT_SIGNAL`: High/Low Heart Rate Alerts. **Advanced Sensors** - `SPO2`: Blood oxygen saturation. - `NIGHTTIME_OXYGEN_SATURATION`: Sleep SpO2. - `ESTIMATED_OXYGEN_VARIATION`: Estimated Oxygen Variation. - `EDA`: Electrodermal Activity (stress). - `SKIN_TEMPERATURE`: Skin temperature variation. - `INTERNAL_DEVICE_TEMPERATURE`: Internal device temperature. **Sleep & Wellness** - `SLEEP`: Basic sleep tracking. - `SMART_SLEEP`: Advanced sleep tracking (stages/score). - `BEDTIME_REMINDER`: Bedtime reminders. - `SOUNDSCAPE`: Snore and noise detection. **Advanced Workouts** - `WB`: Custom Workout Builder. - `AUTOCUES`: Auto Cues / Auto Lap. - `DWR_RUN`: Daily Run Recommendations. - `ADVANCED_RUNNING`: Advanced Running Dynamics (e.g., GCT, VO). **GPS & Location** - `GPS`: Built-in GPS. - `CONNECTED_GPS`: Connected GPS (uses phone). - `LOCATION_HINT`: Location helper. **Payments & NFC** - `PAYMENTS`: NFC payments (Fitbit Pay/Google Wallet). - `FELICA`: FeliCa support (Japan payments/transit). **Activity Detection** - `GROK`: SmartTrack automatic activity detection. - `RETRO_AR`: Retroactive Activity Recognition prompts. **Smart Features & UI** - `ALARMS`: Silent alarms. - `BLE_MUSIC_CONTROL`: BLE music control. - `MUSIC`: Direct music storage/control. - `YOUTUBE_MUSIC_SUPPORTED`: YouTube Music support. - `GALLERY`: App Gallery. - `TUTORIAL_SUPPORTED`: On-screen tutorials. - `SMILEY_EMOTE`: Legacy Zip face. - `MOBILE_TO_DEVICE_DEEPLINK`: Mobile to device settings deep link. - `HIDE_GALLERY`: Option to hide Gallery. - `HIDE_GOAL_SELECTION`: Option to hide goal selection. - `DIGITAL_WARRANTY_SUPPORTED`: Digital warranty display. - `DIRECT_DEVICE_SETTINGS_SUPPORTED`: Direct device settings management. **Gym HR Broadcasting** - `ASPEN_SUPPORTED`: Broadcast HR to gym equipment. - `ASPEN_REMOTE_UI_SUPPORTED`: Remote UI for HR sharing. **Privacy & Security** - `FINITE_IMPROBABILITY`: BLE Resolvable Private Address (RPA) privacy. - `DOMAIN_KEY_SYNC`: Domain key synchronization. **BLE Protocol** - `BONDING`: Secure BLE bonding. - `ADVERTISES_SERIAL`: Advertises serial number. - `STATUS_CHARACTERISTIC`: BLE Status Characteristic. - `TRACKER_CHANNEL_CHARACTERISTIC`: BLE Tracker Channel Characteristic. - `PING_CHARACTERISTIC`: BLE Ping Characteristic. **Cellular & Wi-Fi** - `MOBILE_DATA`: LTE cellular support. - `SINGLE_AP_WIFI`: Single AP Wi-Fi. - `MULTI_AP_WIFI`: Multi AP Wi-Fi. - `WIFI_FWUP`: Firmware updates over Wi-Fi. **Data Sync & Transfer** - `APP_SYNC`: Background app sync. - `LIVE_DATA`: Real-time data streaming. - `EVENT_BASED_SYNC_SUPPORTED`: Event-based sync. - `TIME_SERVICE`: Time synchronization service. - `REMOTE_FILE_PROVIDER`: Remote file transfer. - `DIRECT_COMMS_ALARMS`: Direct communication for alarms. - `DIRECT_COMMS_EXERCISE`: Direct communication for exercise. - `DIRECT_COMMS_BATTERY_ALERTS`: Direct communication for battery alerts. **Google Integrations** - `PARROT_TREE_SUPPORTED`: Find My Device support.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "lastSyncTime": { + "description": "Output only. The time of last sync with the Fitbit mobile application.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "macAddress": { + "description": "Output only. Mac ID number of the device.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of this Device resource. Format: `users/{user}/pairedDevices/{paired_device}` Example: `users/1234567890/pairedDevices/123` or `users/me/pairedDevices/123`", + "type": "string" + } + }, + "type": "object" + }, + "Profile": { + "description": "Profile details.", + "id": "Profile", + "properties": { + "age": { + "description": "Optional. The age in years based on the user's birth date. Updates to this field are currently not supported.", + "format": "int32", + "type": "integer" + }, + "autoRunningStrideLengthMm": { + "description": "Output only. The automatically calculated running stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly`", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "autoWalkingStrideLengthMm": { + "description": "Output only. The automatically calculated walking stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly`", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "membershipStartDate": { + "$ref": "Date", + "description": "Output only. The date the user created their account. Updates to this field are currently not supported.", + "readOnly": true + }, + "name": { + "description": "Identifier. The resource name of this Profile resource. Format: `users/{user}/profile` Example: `users/1234567890/profile` or `users/me/profile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.", + "type": "string" + }, + "userConfiguredRunningStrideLengthMm": { + "description": "Optional. The user's user configured running stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly`", + "format": "int32", + "type": "integer" + }, + "userConfiguredWalkingStrideLengthMm": { + "description": "Optional. The user's user configured walking stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly`", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReconcileDataPointsResponse": { + "description": "Response containing the list of reconciled DataPoints.", + "id": "ReconcileDataPointsResponse", + "properties": { + "dataPoints": { + "description": "Data points matching the query", + "items": { + "$ref": "ReconciledDataPoint" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Next page token, empty if the response is complete", + "type": "string" + } + }, + "type": "object" + }, + "ReconciledDataPoint": { + "description": "A reconciled computed or recorded metric.", + "id": "ReconciledDataPoint", + "properties": { + "activeEnergyBurned": { + "$ref": "ActiveEnergyBurned", + "description": "Data for points in the `active-energy-burned` interval data type collection." + }, + "activeMinutes": { + "$ref": "ActiveMinutes", + "description": "Data for points in the `active-minutes` interval data type collection." + }, + "activeZoneMinutes": { + "$ref": "ActiveZoneMinutes", + "description": "Data for points in the `active-zone-minutes` interval data type collection, measured in minutes." + }, + "activityLevel": { + "$ref": "ActivityLevel", + "description": "Data for points in the `activity-level` daily data type collection." + }, + "altitude": { + "$ref": "Altitude", + "description": "Data for points in the `altitude` interval data type collection." + }, + "basalEnergyBurned": { + "$ref": "BasalEnergyBurned", + "description": "Data for points in the `basal-energy-burned` interval data type collection." + }, + "bloodGlucose": { + "$ref": "BloodGlucose", + "description": "Data for points in the `blood-glucose` sample data type collection." + }, + "bodyFat": { + "$ref": "BodyFat", + "description": "Data for points in the `body-fat` sample data type collection." + }, + "coreBodyTemperature": { + "$ref": "CoreBodyTemperature", + "description": "Data for points in the `core-body-temperature` sample data type collection." + }, + "dailyHeartRateVariability": { + "$ref": "DailyHeartRateVariability", + "description": "Data for points in the `daily-heart-rate-variability` daily data type collection." + }, + "dailyHeartRateZones": { + "$ref": "DailyHeartRateZones", + "description": "Data for points in the `daily-heart-rate-zones` daily data type collection." + }, + "dailyOxygenSaturation": { + "$ref": "DailyOxygenSaturation", + "description": "Data for points in the `daily-oxygen-saturation` daily data type collection." + }, + "dailyRespiratoryRate": { + "$ref": "DailyRespiratoryRate", + "description": "Data for points in the `daily-respiratory-rate` daily data type collection." + }, + "dailyRestingHeartRate": { + "$ref": "DailyRestingHeartRate", + "description": "Data for points in the `daily-resting-heart-rate` daily data type collection." + }, + "dailySleepTemperatureDerivations": { + "$ref": "DailySleepTemperatureDerivations", + "description": "Data for points in the `daily-sleep-temperature-derivations` daily data type collection." + }, + "dailyVo2Max": { + "$ref": "DailyVO2Max", + "description": "Data for points in the `daily-vo2-max` daily data type collection." + }, + "dataPointName": { + "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", + "type": "string" + }, + "distance": { + "$ref": "Distance", + "description": "Data for points in the `distance` interval data type collection." + }, + "exercise": { + "$ref": "Exercise", + "description": "Data for points in the `exercise` session data type collection." + }, + "floors": { + "$ref": "Floors", + "description": "Data for points in the `floors` interval data type collection." + }, + "heartRate": { + "$ref": "HeartRate", + "description": "Data for points in the `heart-rate` sample data type collection." + }, + "heartRateVariability": { + "$ref": "HeartRateVariability", + "description": "Data for points in the `heart-rate-variability` sample data type collection." + }, + "height": { + "$ref": "Height", + "description": "Data for points in the `height` sample data type collection." + }, + "hydrationLog": { + "$ref": "HydrationLog", + "description": "Data for points in the `hydration-log` session data type collection." + }, + "nutritionLog": { + "$ref": "NutritionLog", + "description": "Data for points in the `nutrition-log` session data type collection." + }, + "oxygenSaturation": { + "$ref": "OxygenSaturation", + "description": "Data for points in the `oxygen-saturation` sample data type collection." + }, + "respiratoryRateSleepSummary": { + "$ref": "RespiratoryRateSleepSummary", + "description": "Data for points in the `respiratory-rate-sleep-summary` sample data type collection." + }, + "runVo2Max": { + "$ref": "RunVO2Max", + "description": "Data for points in the `run-vo2-max` sample data type collection." + }, + "sedentaryPeriod": { + "$ref": "SedentaryPeriod", + "description": "Data for points in the `sedentary-period` interval data type collection." + }, + "sleep": { + "$ref": "Sleep", + "description": "Data for points in the `sleep` session data type collection." + }, + "steps": { + "$ref": "Steps", + "description": "Data for points in the `steps` interval data type collection." + }, + "swimLengthsData": { + "$ref": "SwimLengthsData", + "description": "Data for points in the `swim-lengths-data` interval data type collection." + }, + "timeInHeartRateZone": { + "$ref": "TimeInHeartRateZone", + "description": "Data for points in the `time-in-heart-rate-zone` interval data type collection." + }, + "vo2Max": { + "$ref": "VO2Max", + "description": "Data for points in the `vo2-max` sample data type collection." + }, + "weight": { + "$ref": "Weight", + "description": "Data for points in the `weight` sample data type collection." + } + }, + "type": "object" + }, + "RespiratoryRateSleepSummary": { + "description": "Records respiratory rate details during sleep. Can have multiple per day if the user sleeps multiple times.", + "id": "RespiratoryRateSleepSummary", + "properties": { + "deepSleepStats": { + "$ref": "RespiratoryRateSleepSummaryStatistics", + "description": "Optional. Respiratory rate statistics for deep sleep." + }, + "fullSleepStats": { + "$ref": "RespiratoryRateSleepSummaryStatistics", + "description": "Required. Full respiratory rate statistics." + }, + "lightSleepStats": { + "$ref": "RespiratoryRateSleepSummaryStatistics", + "description": "Optional. Respiratory rate statistics for light sleep." + }, + "remSleepStats": { + "$ref": "RespiratoryRateSleepSummaryStatistics", + "description": "Optional. Respiratory rate statistics for REM sleep." + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which respiratory rate was measured." + } + }, + "type": "object" + }, + "RespiratoryRateSleepSummaryStatistics": { + "description": "Respiratory rate statistics for a given sleep stage.", + "id": "RespiratoryRateSleepSummaryStatistics", + "properties": { + "breathsPerMinute": { + "description": "Required. Average breaths per minute.", + "format": "double", + "type": "number" + }, + "signalToNoise": { + "description": "Optional. How trustworthy the data is for the computation.", + "format": "double", + "type": "number" + }, + "standardDeviation": { + "description": "Optional. Standard deviation of the respiratory rate during sleep.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "RestingHeartRatePersonalRangeRollupValue": { + "description": "Represents the rollup value for the daily resting heart rate data type.", + "id": "RestingHeartRatePersonalRangeRollupValue", + "properties": { + "beatsPerMinuteMax": { + "description": "The upper bound of the user's daily resting heart rate personal range.", + "format": "double", + "type": "number" + }, + "beatsPerMinuteMin": { + "description": "The lower bound of the user's daily resting heart rate personal range.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "RollUpDataPointsRequest": { + "description": "Request to roll up data points by physical time intervals.", + "id": "RollUpDataPointsRequest", + "properties": { + "dataSourceFamily": { + "description": "Optional. The data source family name to roll up. If empty, data points from all available data sources will be rolled up. Format: `users/me/dataSourceFamilies/{data_source_family}` The supported values are: - `users/me/dataSourceFamilies/all-sources` - Default value. Includes data from all available data sources. - `users/me/dataSourceFamilies/google-wearables` - Includes data from Google and Fitbit tracker devices (such as Fitbit trackers and Pixel Watch). Excludes manually logged data. - `users/me/dataSourceFamilies/google-sources` - Includes first-party Google data, such as data from tracker devices, manually logged data, and Health Connect.", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token from a previous request, if any. All other request fields need to be the same as in the initial request when the page token is specified.", + "type": "string" + }, + "range": { + "$ref": "Interval", + "description": "Required. Closed-open range of data points that will be rolled up. The maximum range for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes` and `total-calories` is 14 days. The maximum range for all other data types is 90 days." + }, + "windowSize": { + "description": "Required. The size of the time window to group data points into before applying the aggregation functions. Must be at least 1 second. If the requested range is not an exact multiple of `window_size`, the final bucket chronologically will be truncated at the upper endpoint of the range and will cover a duration shorter than `window_size`.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "RollUpDataPointsResponse": { + "description": "Response containing the list of rolled up data points.", + "id": "RollUpDataPointsResponse", + "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" + }, + "rollupDataPoints": { + "description": "Values for each aggregation time window.", + "items": { + "$ref": "RollupDataPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "RollupDataPoint": { + "description": "Value of a rollup for a single physical time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn.", + "id": "RollupDataPoint", + "properties": { + "activeEnergyBurned": { + "$ref": "ActiveEnergyBurnedRollupValue", + "description": "Returned by default when rolling up data points from the `active-energy-burned` data type." + }, + "activeMinutes": { + "$ref": "ActiveMinutesRollupValue", + "description": "Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier." + }, + "activeZoneMinutes": { + "$ref": "ActiveZoneMinutesRollupValue", + "description": "Returned by default when rolling up data points from the `active-zone-minutes` data type, or when requested explicitly using the `active-zone-minutes` rollup type identifier." + }, + "activityLevel": { + "$ref": "ActivityLevelRollupValue", + "description": "Returned by default when rolling up data points from the `activity-level` data type, or when requested explicitly using the `activity-level` rollup type identifier." + }, + "altitude": { + "$ref": "AltitudeRollupValue", + "description": "Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier." + }, + "bloodGlucose": { + "$ref": "BloodGlucoseRollupValue", + "description": "Returned by default when rolling up data points from the `blood-glucose` data type." + }, + "bodyFat": { + "$ref": "BodyFatRollupValue", + "description": "Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier." + }, + "caloriesInHeartRateZone": { + "$ref": "CaloriesInHeartRateZoneRollupValue", + "description": "Returned by default when rolling up data points from the `calories-in-heart-rate-zone` data type, or when requested explicitly using the `calories-in-heart-rate-zone` rollup type identifier." + }, + "coreBodyTemperature": { + "$ref": "CoreBodyTemperatureRollupValue", + "description": "Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier." + }, + "distance": { + "$ref": "DistanceRollupValue", + "description": "Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier." + }, + "endTime": { + "description": "End time of the window this value aggregates over", + "format": "google-datetime", + "type": "string" + }, + "floors": { + "$ref": "FloorsRollupValue", + "description": "Returned by default when rolling up data points from the `floors` data type, or when requested explicitly using the `floors` rollup type identifier." + }, + "heartRate": { + "$ref": "HeartRateRollupValue", + "description": "Returned by default when rolling up data points from the `heart-rate` data type, or when requested explicitly using the `heart-rate` rollup type identifier." + }, + "hydrationLog": { + "$ref": "HydrationLogRollupValue", + "description": "Returned by default when rolling up data points from the `hydration-log` data type, or when requested explicitly using the `hydration-log` rollup type identifier." + }, + "nutritionLog": { + "$ref": "NutritionLogRollupValue", + "description": "Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier." + }, + "runVo2Max": { + "$ref": "RunVO2MaxRollupValue", + "description": "Returned by default when rolling up data points from the `run-vo2-max` data type, or when requested explicitly using the `run-vo2-max` rollup type identifier." + }, + "sedentaryPeriod": { + "$ref": "SedentaryPeriodRollupValue", + "description": "Returned by default when rolling up data points from the `sedentary-period` data type, or when requested explicitly using the `sedentary-period` rollup type identifier." + }, + "startTime": { + "description": "Start time of the window this value aggregates over", + "format": "google-datetime", + "type": "string" + }, + "steps": { + "$ref": "StepsRollupValue", + "description": "Returned by default when rolling up data points from the `steps` data type, or when requested explicitly using the `steps` rollup type identifier." + }, + "swimLengthsData": { + "$ref": "SwimLengthsDataRollupValue", + "description": "Returned by default when rolling up data points from the `swim-lengths-data` data type, or when requested explicitly using the `swim-lengths-data` rollup type identifier." + }, + "timeInHeartRateZone": { + "$ref": "TimeInHeartRateZoneRollupValue", + "description": "Returned by default when rolling up data points from the `time-in-heart-rate-zone` data type, or when requested explicitly using the `time-in-heart-rate-zone` rollup type identifier." + }, + "totalCalories": { + "$ref": "TotalCaloriesRollupValue", + "description": "Returned by default when rolling up data points from the `total-calories` data type, or when requested explicitly using the `total-calories` rollup type identifier." + }, + "weight": { + "$ref": "WeightRollupValue", + "description": "Returned by default when rolling up data points from the `weight` data type, or when requested explicitly using the `weight` rollup type identifier." + } + }, + "type": "object" + }, + "RunVO2Max": { + "description": "VO2 max value calculated based on the user's running activity. Value stored in ml/kg/min.", + "id": "RunVO2Max", + "properties": { + "runVo2Max": { + "description": "Required. Run VO2 max value in ml/kg/min.", + "format": "double", + "type": "number" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which the metric was measured." + } + }, + "type": "object" + }, + "RunVO2MaxRollupValue": { + "description": "Represents the result of the rollup of the user's daily heart rate variability personal range.", + "id": "RunVO2MaxRollupValue", + "properties": { + "rateAvg": { + "description": "Average value of run VO2 max in the interval.", + "format": "double", + "type": "number" + }, + "rateMax": { + "description": "Maximum value of run VO2 max in the interval.", + "format": "double", + "type": "number" + }, + "rateMin": { + "description": "Minimum value of run VO2 max in the interval..", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "SedentaryPeriod": { + "description": "SedentaryPeriod SedentaryPeriod data represents the periods of time that the user was sedentary (i.e. not moving while wearing the device).", + "id": "SedentaryPeriod", + "properties": { + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + } + }, + "type": "object" + }, + "SedentaryPeriodRollupValue": { + "description": "Represents the result of the rollup of the user's sedentary periods.", + "id": "SedentaryPeriodRollupValue", + "properties": { + "durationSum": { + "description": "The total time user spent sedentary during the interval.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "Serving": { + "description": "Represents different properties and information about the serving of a specific food.", + "id": "Serving", + "properties": { + "amount": { + "description": "Optional. The number of servings.", + "format": "double", + "type": "number" + }, + "foodMeasurementUnit": { + "description": "Required. Food measurement unit", + "type": "string" + }, + "foodMeasurementUnitDisplayName": { + "description": "Output only. Legacy measurement unit for serving size in singular form (e.g. \"piece\", \"gram\").", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SessionTimeInterval": { + "description": "Represents a time interval of session data point, which bundles multiple observed metrics together.", + "id": "SessionTimeInterval", + "properties": { + "civilEndTime": { + "$ref": "CivilDateTime", + "description": "Output only. Session end time in civil time in the timezone the subject is in at the end of the session.", + "readOnly": true + }, + "civilStartTime": { + "$ref": "CivilDateTime", + "description": "Output only. Session start time in civil time in the timezone the subject is in at the start of the session.", + "readOnly": true + }, + "endTime": { + "description": "Required. The end time of the observed session.", + "format": "google-datetime", + "type": "string" + }, + "endUtcOffset": { + "description": "Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + }, + "startTime": { + "description": "Required. The start time of the observed session.", + "format": "google-datetime", + "type": "string" + }, + "startUtcOffset": { + "description": "Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "Settings": { + "description": "Settings details.", + "id": "Settings", + "properties": { + "autoStrideEnabled": { + "description": "Optional. True if the user's stride length is determined automatically. Updates to this field are currently not supported.", + "type": "boolean" + }, + "distanceUnit": { + "description": "Optional. The measurement unit defined in the user's account settings.", + "enum": [ + "DISTANCE_UNIT_UNSPECIFIED", + "DISTANCE_UNIT_MILES", + "DISTANCE_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Distance unit is not specified.", + "Distance unit is miles.", + "Distance unit is kilometers." + ], + "type": "string" + }, + "foodLanguageCode": { + "description": "Output only. The food language code derived from the user's food database. Possible values: `'en-US'`, `'en-GB'`, `'de-DE'`, `'es-ES'`, `'fr-FR'`, `'zh-CN'`, `'zh-TW'`, `'ja-JP'`, `'en-AU'`, `'en-CA'`, `'it-IT'`, `'ko-KR'`, `'es-MX'`, `'en-IN'`, `'en-SG'`, `'en-PH'`, `'en-IE'`, `'fr-CA'`. Updates to this field are currently not supported.", + "readOnly": true, + "type": "string" + }, + "glucoseUnit": { + "description": "Optional. The measurement unit defined in the user's account settings.", + "enum": [ + "GLUCOSE_UNIT_UNSPECIFIED", + "GLUCOSE_UNIT_MG_DL", + "GLUCOSE_UNIT_MMOL_L" + ], + "enumDescriptions": [ + "Glucose unit is not specified.", + "Glucose unit is mg/dL.", + "Glucose unit is mmol/l." + ], + "type": "string" + }, + "heightUnit": { + "description": "Optional. The measurement unit defined in the user's account settings.", + "enum": [ + "HEIGHT_UNIT_UNSPECIFIED", + "HEIGHT_UNIT_INCHES", + "HEIGHT_UNIT_CENTIMETERS" + ], + "enumDescriptions": [ + "Height unit is not specified.", + "Height unit is inches.", + "Height unit is cm." + ], + "type": "string" + }, + "languageLocale": { + "description": "Optional. The locale defined in the user's account settings. Updates to this field are currently not supported.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of this Settings resource. Format: `users/{user}/settings` Example: `users/1234567890/settings` or `users/me/settings` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.", + "type": "string" + }, + "strideLengthRunningType": { + "description": "Optional. The stride length type defined in the user's account settings for running. Updates to this field are currently not supported.", + "enum": [ + "STRIDE_LENGTH_TYPE_UNSPECIFIED", + "STRIDE_LENGTH_TYPE_DEFAULT", + "STRIDE_LENGTH_TYPE_MANUAL", + "STRIDE_LENGTH_TYPE_AUTO" + ], + "enumDescriptions": [ + "Stride length type is not specified.", + "Stride length type is computed based on the user's gender and height.", + "Stride length type is manually set by the user.", + "Stride length type is determined automatically." + ], + "type": "string" + }, + "strideLengthWalkingType": { + "description": "Optional. The stride length type defined in the user's account settings for walking. Updates to this field are currently not supported.", + "enum": [ + "STRIDE_LENGTH_TYPE_UNSPECIFIED", + "STRIDE_LENGTH_TYPE_DEFAULT", + "STRIDE_LENGTH_TYPE_MANUAL", + "STRIDE_LENGTH_TYPE_AUTO" + ], + "enumDescriptions": [ + "Stride length type is not specified.", + "Stride length type is computed based on the user's gender and height.", + "Stride length type is manually set by the user.", + "Stride length type is determined automatically." + ], + "type": "string" + }, + "swimUnit": { + "description": "Optional. The measurement unit defined in the user's account settings.", + "enum": [ + "SWIM_UNIT_UNSPECIFIED", + "SWIM_UNIT_METERS", + "SWIM_UNIT_YARDS" + ], + "enumDescriptions": [ + "Swim unit is not specified.", + "Swim unit is meters.", + "Swim unit is yards." + ], + "type": "string" + }, + "temperatureUnit": { + "description": "Optional. The measurement unit defined in the user's account settings.", + "enum": [ + "TEMPERATURE_UNIT_UNSPECIFIED", + "TEMPERATURE_UNIT_CELSIUS", + "TEMPERATURE_UNIT_FAHRENHEIT" + ], + "enumDescriptions": [ + "Temperature unit is not specified.", + "Temperature unit is Celsius.", + "Temperature unit is Fahrenheit." + ], + "type": "string" + }, + "timeZone": { + "description": "Optional. The timezone defined in the user's account settings. This follows the IANA [Time Zone Database](https://www.iana.org/time-zones). Updates to this field are currently not supported.", + "type": "string" + }, + "utcOffset": { + "description": "Optional. The user's timezone offset relative to UTC. Updates to this field are currently not supported.", + "format": "google-duration", + "type": "string" + }, + "waterUnit": { + "description": "Optional. The measurement unit defined in the user's account settings.", + "enum": [ + "WATER_UNIT_UNSPECIFIED", + "WATER_UNIT_ML", + "WATER_UNIT_FL_OZ", + "WATER_UNIT_CUP" + ], + "enumDescriptions": [ + "Water unit is not specified.", + "Water unit is milliliters.", + "Water unit is fluid ounces.", + "Water unit is cups." + ], + "type": "string" + }, + "weightUnit": { + "description": "Optional. The measurement unit defined in the user's account settings.", + "enum": [ + "WEIGHT_UNIT_UNSPECIFIED", + "WEIGHT_UNIT_POUNDS", + "WEIGHT_UNIT_STONE", + "WEIGHT_UNIT_KILOGRAMS" + ], + "enumDescriptions": [ + "Weight unit is not specified.", + "Weight unit is pounds.", + "Weight unit is stones.", + "Weight unit is kilograms." + ], + "type": "string" + } + }, + "type": "object" + }, + "Sleep": { + "description": "A sleep session possibly including stages.", + "id": "Sleep", + "properties": { + "createTime": { + "description": "Output only. Creation time of this sleep observation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "interval": { + "$ref": "SessionTimeInterval", + "description": "Required. Observed sleep interval." + }, + "metadata": { + "$ref": "SleepMetadata", + "description": "Optional. Sleep metadata: `processed`, `main_sleep`, `manually_edited`, and `stages_status`." + }, + "outOfBedSegments": { + "description": "Optional. “Out of bed” segments that can overlap with sleep stages.", + "items": { + "$ref": "OutOfBedSegment" + }, + "type": "array" + }, + "shortAwakenings": { + "description": "Output only. List of short awake segments (under a set threshold) that are part of the sleep session. These can overlap with sleep stages.", + "items": { + "$ref": "SleepStage" + }, + "readOnly": true, + "type": "array" + }, + "stages": { + "description": "Optional. List of non-overlapping contiguous sleep stage segments that cover the sleep period.", + "items": { + "$ref": "SleepStage" + }, + "type": "array" + }, + "summary": { + "$ref": "SleepSummary", + "description": "Output only. Sleep summary: metrics and stages summary.", + "readOnly": true + }, + "type": { + "description": "Optional. SleepType: classic or stages.", + "enum": [ + "SLEEP_TYPE_UNSPECIFIED", + "CLASSIC", + "STAGES" + ], + "enumDescriptions": [ + "Sleep type is unspecified.", + "Classic sleep is a sleep with 3 stages types: AWAKE, RESTLESS and ASLEEP.", + "On top of \"classic\" sleep stages an additional processing pass can calculate stages more precisely, overwriting the prior stages with AWAKE, LIGHT, REM and DEEP." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time of this sleep observation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SleepMetadata": { + "description": "Additional information about how the sleep was processed.", + "id": "SleepMetadata", + "properties": { + "externalId": { + "description": "Optional. Sleep identifier relevant in the context of the data source.", + "type": "string" + }, + "mainSleep": { + "description": "Output only. `main_sleep`: the longest sleep session with stages within one day. If no sleep session has stages, then the longest sleep is the `main_sleep`. If there are multiple days of sleep in the response, there is one `main_sleep` per day.", + "readOnly": true, + "type": "boolean" + }, + "manuallyEdited": { + "description": "Output only. Some sleeps autodetected by algorithms can be manually edited by users.", + "readOnly": true, + "type": "boolean" + }, + "nap": { + "description": "Output only. Naps are sleeps without stages and relatively short durations.", + "readOnly": true, + "type": "boolean" + }, + "processed": { + "description": "Output only. Sleep and sleep stages algorithms finished processing. A `true` value indicates whether all data processing for the session is complete. A `false` value means sleep period is detected but sleep stages is still processing.", + "readOnly": true, + "type": "boolean" + }, + "stagesStatus": { + "description": "Output only. Sleep stages algorithm processing status.", + "enum": [ + "STAGES_STATE_UNSPECIFIED", + "REJECTED_COVERAGE", + "REJECTED_MAX_GAP", + "REJECTED_START_GAP", + "REJECTED_END_GAP", + "REJECTED_NAP", + "REJECTED_SERVER", + "TIMEOUT", + "SUCCEEDED", + "PROCESSING_INTERNAL_ERROR" + ], + "enumDescriptions": [ + "Output only. Sleep stages status is unspecified.", + "Output only. Sleep stages cannot be computed due to low RR coverage.", + "Output only. Sleep stages cannot be computed due to the large middle gap (2h).", + "Output only. Sleep stages cannot be computed due to the large start gap (1h).", + "Output only. Sleep stages cannot be computed due to the large end gap (1h).", + "Output only. Sleep stages cannot be computed because the sleep log is a nap (has < 3h duration).", + "Output only. Sleep stages cannot be computed because input data is not available (PPGV2, wake magnitude, etc).", + "Output only. Sleep stages cannot be computed due to server timeout.", + "Output only. Sleep stages successfully computed.", + "Output only. Sleep stages cannot be computed due to server internal error." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SleepStage": { + "description": "Sleep stage segment.", + "id": "SleepStage", + "properties": { + "createTime": { + "description": "Output only. Creation time of this sleep stages segment.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Required. Sleep stage end time.", + "format": "google-datetime", + "type": "string" + }, + "endUtcOffset": { + "description": "Required. The offset of the user's local time at the end of the sleep stage relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + }, + "startTime": { + "description": "Required. Sleep stage start time.", + "format": "google-datetime", + "type": "string" + }, + "startUtcOffset": { + "description": "Required. The offset of the user's local time at the start of the sleep stage relative to the Coordinated Universal Time (UTC).", + "format": "google-duration", + "type": "string" + }, + "type": { + "description": "Required. Sleep stage type: AWAKE, DEEP, REM, LIGHT etc.", + "enum": [ + "SLEEP_STAGE_TYPE_UNSPECIFIED", + "AWAKE", + "LIGHT", + "DEEP", + "REM", + "ASLEEP", + "RESTLESS" + ], + "enumDescriptions": [ + "The default unset value.", + "Sleep stage AWAKE.", + "Sleep stage LIGHT.", + "Sleep stage DEEP.", + "Sleep stage REM.", + "Sleep stage ASLEEP.", + "Sleep stage RESTLESS." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time of this sleep stages segment.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SleepSummary": { + "description": " Sleep summary: metrics and stages summary.", + "id": "SleepSummary", + "properties": { + "minutesAfterWakeUp": { + "description": "Output only. Minutes after wake up calculated by restlessness algorithm.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "minutesAsleep": { + "description": "Output only. Total number of minutes asleep. For classic sleep it is the sum of ASLEEP stages (excluding AWAKE and RESTLESS). For \"stages\" sleep it is the sum of LIGHT, REM and DEEP stages (excluding AWAKE).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "minutesAwake": { + "description": "Output only. Total number of minutes awake. It is a sum of all AWAKE stages.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "minutesInSleepPeriod": { + "description": "Output only. Delta between wake time and bedtime. It is the sum of all stages.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "minutesToFallAsleep": { + "description": "Output only. Minutes to fall asleep calculated by restlessness algorithm.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "stagesSummary": { + "description": "Output only. List of summaries (total duration and segment count) per each sleep stage type.", + "items": { + "$ref": "StageSummary" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "SplitSummary": { + "description": "Represents splits or laps recorded within an exercise. Lap events partition a workout into segments based on criteria like distance, time, or calories.", + "id": "SplitSummary", + "properties": { + "activeDuration": { + "description": "Output only. Lap time excluding the pauses.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Required. Lap end time", + "format": "google-datetime", + "type": "string" + }, + "endUtcOffset": { + "description": "Required. Lap end time offset from UTC", + "format": "google-duration", + "type": "string" + }, + "metricsSummary": { + "$ref": "MetricsSummary", + "description": "Required. Summary metrics for this split." + }, + "splitType": { + "description": "Required. Method used to split the exercise laps. Users may manually mark the lap as complete even if the tracking is automatic.", + "enum": [ + "SPLIT_TYPE_UNSPECIFIED", + "MANUAL", + "DURATION", + "DISTANCE", + "CALORIES" + ], + "enumDescriptions": [ + "Split type is unspecified.", + "Manual split.", + "Split by duration.", + "Split by distance.", + "Split by calories." + ], + "type": "string" + }, + "startTime": { + "description": "Required. Lap start time", + "format": "google-datetime", + "type": "string" + }, + "startUtcOffset": { + "description": "Required. Lap start time offset from UTC", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "StageSummary": { + "description": "Total duration and segment count for a stage.", + "id": "StageSummary", + "properties": { + "count": { + "description": "Output only. Number of sleep stages segments.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "minutes": { + "description": "Output only. Total duration in minutes of a sleep stage.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Sleep stage type: AWAKE, DEEP, REM, LIGHT etc.", + "enum": [ + "SLEEP_STAGE_TYPE_UNSPECIFIED", + "AWAKE", + "LIGHT", + "DEEP", + "REM", + "ASLEEP", + "RESTLESS" + ], + "enumDescriptions": [ + "The default unset value.", + "Sleep stage AWAKE.", + "Sleep stage LIGHT.", + "Sleep stage DEEP.", + "Sleep stage REM.", + "Sleep stage ASLEEP.", + "Sleep stage RESTLESS." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "Steps": { + "description": "Step count over the time interval.", + "id": "Steps", + "properties": { + "count": { + "description": "Required. Number of steps in the recorded interval.", + "format": "int64", + "type": "string" + }, + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + } + }, + "type": "object" + }, + "StepsRollupValue": { + "description": "Represents the result of the rollup of the steps data type.", + "id": "StepsRollupValue", + "properties": { + "countSum": { + "description": "Total number of steps in the interval.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Subscriber": { + "description": "-- Resource Messages -- A subscriber receives notifications from Google Health API.", + "id": "Subscriber", + "properties": { + "createTime": { + "description": "Output only. The time at which the subscriber was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endpointAuthorization": { + "$ref": "EndpointAuthorization", + "description": "Required. Authorization mechanism for a subscriber endpoint. This is required to ensure the endpoint can be verified." + }, + "endpointUri": { + "description": "Required. The full HTTPS URI where update notifications will be sent. The URI must be a valid URL and use HTTPS as the scheme. This endpoint will be verified during CreateSubscriber and UpdateSubscriber calls. See RPC documentation for verification details.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the Subscriber. Format: projects/{project}/subscribers/{subscriber} The {project} ID is a Google Cloud Project ID or Project Number. The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise (e.g., a UUID). Example (User-settable subscriber ID): projects/my-project/subscribers/my-sub-123 Example (System-generated subscriber ID): projects/my-project/subscribers/a1b2c3d4-e5f6-7890-1234-567890abcdef", + "type": "string" + }, + "state": { + "description": "Output only. The state of the subscriber.", + "enum": [ + "STATE_UNSPECIFIED", + "UNVERIFIED", + "ACTIVE", + "INACTIVE" + ], + "enumDescriptions": [ + "Represents an unspecified subscriber state.", + "Represents an unverified subscriber. This is the initial state of the subscriber when it is created. The backend will verify the subscriber's endpoint_uri.", + "Represents an active subscriber. The endpoint has been verified.", + "Represents an inactive subscriber." + ], + "readOnly": true, + "type": "string" + }, + "subscriberConfigs": { + "description": "Optional. Configuration for the subscriber.", + "items": { + "$ref": "SubscriberConfig" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The time at which the subscriber was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SubscriberConfig": { + "description": "Configuration for a subscriber. A notification is sent to a subscription ONLY if the subscriber has a config for the data type.", + "id": "SubscriberConfig", + "properties": { + "dataTypes": { + "description": "Required. See [Google Health API data types](https://developers.google.com/health/data-types) for the list of supported data types. Values should be in kebab-case.", + "items": { + "type": "string" + }, + "type": "array" + }, + "subscriptionCreatePolicy": { + "description": "Required. Policy for subscription creation.", + "enum": [ + "SUBSCRIPTION_CREATE_POLICY_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" + ], + "enumDescriptions": [ + "Represents an unspecified policy.", + "When using `AUTOMATIC`, individual subscriptions are not created or stored. Instead, eligibility for notifications is computed dynamically. When a data update occurs for a given data type, notifications are sent to all subscribers with an `AUTOMATIC` policy for that data type, provided the user has granted the necessary consents. This means you do not need to call `CreateSubscription` for each user; notifications are managed automatically based on user consents. As `Subscription` resources are not stored, they cannot be retrieved or managed through `GetSubscription`, `ListSubscriptions`, `UpdateSubscription`, or `DeleteSubscription`.", + "Requires subscriptions to be created manually for new users. The developer needs to call CreateSubscription for new users." + ], + "type": "string" + } + }, + "type": "object" + }, + "Subscription": { + "description": "A subscription to a data collection for a specific user, to be delivered to a subscriber.", + "id": "Subscription", + "properties": { + "dataTypes": { + "description": "Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format \"users/{health_user_id}/dataTypes/{data_type}\" where `{data_type}` is one of \"altitude\", \"distance\", \"floors\", \"sleep\", \"steps\", \"weight\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.", + "type": "string" + }, + "user": { + "description": "Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).", + "type": "string" + } + }, + "type": "object" + }, + "SwimLengthsData": { + "description": "Swim lengths data over the time interval.", + "id": "SwimLengthsData", + "properties": { + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + }, + "strokeCount": { + "description": "Required. Number of strokes in the lap.", + "format": "int64", + "type": "string" + }, + "swimStrokeType": { + "description": "Required. Swim stroke type.", + "enum": [ + "SWIM_STROKE_TYPE_UNSPECIFIED", + "FREESTYLE", + "BACKSTROKE", + "BREASTSTROKE", + "BUTTERFLY" + ], + "enumDescriptions": [ + "Swim stroke type is unspecified.", + "Freestyle swim stroke type.", + "Backstroke swim stroke type.", + "Breaststroke swim stroke type.", + "Butterfly swim stroke type." + ], + "type": "string" + } + }, + "type": "object" + }, + "SwimLengthsDataRollupValue": { + "description": "Represents the result of the rollup of the swim lengths data type.", + "id": "SwimLengthsDataRollupValue", + "properties": { + "strokeCountSum": { + "description": "Total number of swim strokes in the interval.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Symptoms": { + "description": "Symptoms logged by the user.", + "id": "Symptoms", + "properties": { + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. Time when the symptoms were logged." + }, + "symptoms": { + "description": "Required. List of symptoms experienced.", + "items": { + "enum": [ + "SYMPTOM_VALUE_UNSPECIFIED", + "CRAMPS", + "HEADACHE", + "TENDER_BREASTS", + "ACNE", + "SICK", + "BLOATED", + "HOT_FLASHES", + "PMS", + "COUGH", + "FEVER", + "DIFFICULTY_BREATHING", + "BACK_PAIN", + "SHAKINESS", + "HUNGER", + "SWEATING", + "ANXIETY", + "THIRST", + "FREQUENT_URINATION", + "BLURRED_VISION", + "OTHER", + "SEX_DRIVE_HIGH", + "SEX_DRIVE_MEDIUM", + "SEX_DRIVE_LOW", + "HEART_PALPITATIONS", + "FAINTING", + "CHEST_PAIN", + "FATIGUE", + "CONFUSION", + "DIZZINESS", + "ABDOMINAL_PAIN", + "BLADDER_LEAKS", + "BLEEDING_GUMS", + "BRAIN_FOG", + "BURNING_MOUTH", + "CONSTIPATION", + "CRAVINGS", + "DECREASED_APPETITE", + "DIARRHEA", + "DRAWING_PAIN", + "DRY_EYES", + "DRY_HAIR", + "DRY_SKIN", + "EXHAUSTION", + "FEEL_GOOD", + "FOOD_AVERSIONS", + "HAIR_LOSS", + "HEARTBURN", + "HYPERPIGMENTATION", + "INCREASED_APPETITE", + "INCREASED_APPETITE_V2", + "INSOMNIA", + "JOINT_PAIN", + "LEG_CRAMPS", + "MILKY_NIPPLE_DISCHARGE", + "NAUSEA", + "NIGHT_SWEATS", + "NORMAL_DIGESTION", + "NORMAL_STOOL", + "PERINEUM_PAIN", + "SLEEPINESS", + "STRETCH_MARKS", + "SWELLING", + "VAGINAL_DRYNESS", + "VAGINAL_ITCHING", + "VOMITING" + ], + "enumDescriptions": [ + "Unspecified symptom value.", + "Abdominal cramps.", + "Headache.", + "Tender breasts.", + "Acne.", + "Feeling sick or unwell.", + "Bloating or abdominal swelling.", + "Hot flashes.", + "Premenstrual syndrome symptoms.", + "Coughing.", + "Fever or elevated body temperature.", + "Difficulty breathing or shortness of breath.", + "Back pain.", + "Shakiness or tremors.", + "Excessive hunger.", + "Excessive sweating.", + "Anxiety or nervousness.", + "Excessive thirst.", + "Frequent urination.", + "Blurred vision.", + "Other symptoms.", + "High sex drive.", + "Medium sex drive.", + "Low sex drive.", + "Heart palpitations or racing heart.", + "Fainting or loss of consciousness.", + "Chest pain or discomfort.", + "Fatigue or extreme tiredness.", + "Confusion or mental fogginess.", + "Dizziness or lightheadedness.", + "Abdominal pain.", + "Bladder leaks.", + "Bleeding gums.", + "Brain fog.", + "Burning mouth.", + "Constipation.", + "Food cravings.", + "Decreased appetite.", + "Diarrhea.", + "Drawing pain.", + "Dry eyes.", + "Dry hair.", + "Dry skin.", + "Exhaustion.", + "Feeling good or well.", + "Food aversions.", + "Hair loss.", + "Heartburn.", + "Hyperpigmentation.", + "Increased appetite.", + "Increased appetite V2.", + "Insomnia or difficulty sleeping.", + "Joint pain.", + "Leg cramps.", + "Milky nipple discharge.", + "Nausea.", + "Night sweats.", + "Normal digestion.", + "Normal stool.", + "Perineum pain.", + "Sleepiness or drowsiness.", + "Stretch marks.", + "Swelling.", + "Vaginal dryness.", + "Vaginal itching.", + "Vomiting." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TimeInHeartRateZone": { + "description": "Time in heart rate zone record. It's an interval spent in specific heart rate zone.", + "id": "TimeInHeartRateZone", + "properties": { + "heartRateZoneType": { + "description": "Required. Heart rate zone type.", + "enum": [ + "HEART_RATE_ZONE_TYPE_UNSPECIFIED", + "LIGHT", + "MODERATE", + "VIGOROUS", + "PEAK" + ], + "enumDescriptions": [ + "Unspecified heart rate zone.", + "The light heart rate zone.", + "The moderate heart rate zone.", + "The vigorous heart rate zone.", + "The peak heart rate zone." + ], + "type": "string" + }, + "interval": { + "$ref": "ObservationTimeInterval", + "description": "Required. Observed interval." + } + }, + "type": "object" + }, + "TimeInHeartRateZoneRollupValue": { + "description": "Represents the result of the rollup of the time in heart rate zone data type.", + "id": "TimeInHeartRateZoneRollupValue", + "properties": { + "timeInHeartRateZones": { + "description": "List of time spent in each heart rate zone.", + "items": { + "$ref": "TimeInHeartRateZoneValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "TimeInHeartRateZoneValue": { + "description": "Represents the total time spent in a specific heart rate zone.", + "id": "TimeInHeartRateZoneValue", + "properties": { + "duration": { + "description": "The total time spent in the specified heart rate zone.", + "format": "google-duration", + "type": "string" + }, + "heartRateZone": { + "description": "The heart rate zone.", + "enum": [ + "HEART_RATE_ZONE_TYPE_UNSPECIFIED", + "LIGHT", + "MODERATE", + "VIGOROUS", + "PEAK" + ], + "enumDescriptions": [ + "Unspecified heart rate zone.", + "The light heart rate zone.", + "The moderate heart rate zone.", + "The vigorous heart rate zone.", + "The peak heart rate zone." + ], + "type": "string" + } + }, + "type": "object" + }, + "TimeInHeartRateZones": { + "description": "Time spent in each heart rate zone.", + "id": "TimeInHeartRateZones", + "properties": { + "lightTime": { + "description": "Optional. Time spent in light heart rate zone.", + "format": "google-duration", + "type": "string" + }, + "moderateTime": { + "description": "Optional. Time spent in moderate heart rate zone.", + "format": "google-duration", + "type": "string" + }, + "peakTime": { + "description": "Optional. Time spent in peak heart rate zone.", + "format": "google-duration", + "type": "string" + }, + "vigorousTime": { + "description": "Optional. Time spent in vigorous heart rate zone.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "TimeOfDay": { + "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", + "id": "TimeOfDay", + "properties": { + "hours": { + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TimeZone": { + "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "TimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", + "type": "string" + } + }, + "type": "object" + }, + "TotalCaloriesRollupValue": { + "description": "Represents the result of the rollup of the user's total calories. Note: Queries for the `total-calories` data type must include a time interval filter (such as `total_calories.interval.start_time` or `total_calories.interval.civil_start_time`). The maximum range is 14 days. Example filter query: `total_calories.interval.start_time >= \"2026-04-20T00:00:00Z\" AND total_calories.interval.start_time < \"2026-04-21T00:00:00Z\"`", + "id": "TotalCaloriesRollupValue", + "properties": { + "kcalSum": { + "description": "Sum of the total calories in kilocalories.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "VO2Max": { + "description": "VO2 max measurement.", + "id": "VO2Max", + "properties": { + "measurementMethod": { + "description": "Optional. The method used to measure the VO2 max value.", + "enum": [ + "MEASUREMENT_METHOD_UNSPECIFIED", + "FITBIT_RUN", + "GOOGLE_DEMOGRAPHIC", + "COOPER_TEST", + "HEART_RATE_RATIO", + "METABOLIC_CART", + "MULTISTAGE_FITNESS_TEST", + "ROCKPORT_FITNESS_TEST", + "MAX_EXERCISE", + "PREDICTION_SUB_MAX_EXERCISE", + "PREDICTION_NON_EXERCISE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified measurement method.", + "Fitbit specific, measures VO2 max rate during a run.", + "Google specific, measures VO2 max rate for a user based on their demographic data.", + "Run as far as possible for 12 minutes. Distance correlated with age and gender translates to a VO2 max value.", + "Maximum heart rate divided by the resting heart rate, with a multiplier applied. Does not require any exercise.", + "Measured by a medical device called metabolic cart.", + "Continuous 20m back-and-forth runs with increasing difficulty, until exhaustion.", + "Measured using walking exercise.", + "Healthkit specific, measures VO2 max rate by monitoring exercise to the user’s physical limit. Similar to COOPER_TEST or MULTISTAGE_FITNESS_TEST.", + "Healthkit specific, estimates VO2 max rate based on low-intensity exercise. Similar to ROCKPORT_FITNESS_TEST.", + "Healthkit specific, estimates VO2 max rate without any exercise. Similar to HEART_RATE_RATIO.", + "Use when the method is not covered in this enum." + ], + "type": "string" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which VO2 max was measured." + }, + "vo2Max": { + "description": "Required. VO2 max value measured as in ml consumed oxygen / kg of body weight / min.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "VolumeQuantity": { + "description": "Represents the volume quantity.", + "id": "VolumeQuantity", + "properties": { + "milliliters": { + "description": "Required. Value representing the volume in milliliters.", + "format": "double", + "type": "number" + }, + "userProvidedUnit": { + "description": "Optional. Value representing the user provided unit, used only for user-facing input and display purposes. In the API format, all volume quantities are converted to milliliters.", + "enum": [ + "VOLUME_UNIT_UNSPECIFIED", + "CUP_IMPERIAL", + "CUP_US", + "FLUID_OUNCE_IMPERIAL", + "FLUID_OUNCE_US", + "LITER", + "MILLILITER", + "PINT_IMPERIAL", + "PINT_US" + ], + "enumDescriptions": [ + "Unspecified volume unit.", + "Cup (imperial)", + "Cup (US)", + "Fluid ounce (imperial)", + "Fluid ounce (US)", + "Liter", + "Milliliter", + "Pint (imperial)", + "Pint (US)" + ], + "type": "string" + } + }, + "type": "object" + }, + "VolumeQuantityRollup": { + "description": "Rollup for volume quantity.", + "id": "VolumeQuantityRollup", + "properties": { + "millilitersSum": { + "description": "Required. The sum of volume in milliliters.", + "format": "double", + "type": "number" + }, + "userProvidedUnitLast": { + "description": "Optional. The user provided unit on the last element.", + "enum": [ + "VOLUME_UNIT_UNSPECIFIED", + "CUP_IMPERIAL", + "CUP_US", + "FLUID_OUNCE_IMPERIAL", + "FLUID_OUNCE_US", + "LITER", + "MILLILITER", + "PINT_IMPERIAL", + "PINT_US" + ], + "enumDescriptions": [ + "Unspecified volume unit.", + "Cup (imperial)", + "Cup (US)", + "Fluid ounce (imperial)", + "Fluid ounce (US)", + "Liter", + "Milliliter", + "Pint (imperial)", + "Pint (US)" + ], + "type": "string" + } + }, + "type": "object" + }, + "Weight": { + "description": "Body weight measurement.", + "id": "Weight", + "properties": { + "notes": { + "description": "Optional. Standard free-form notes captured at manual logging.", + "type": "string" + }, + "sampleTime": { + "$ref": "ObservationSampleTime", + "description": "Required. The time at which the weight was measured" + }, + "weightGrams": { + "description": "Required. Weight of a user in grams.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "WeightQuantity": { + "description": "Represents the weight quantity.", + "id": "WeightQuantity", + "properties": { + "grams": { + "description": "Required. The weight value in grams.", + "format": "double", + "type": "number" + }, + "userProvidedUnit": { + "description": "Optional. Value representing the user provided unit.", + "enum": [ + "WEIGHT_UNIT_UNSPECIFIED", + "GRAM", + "KILOGRAM", + "OUNCE", + "POUND", + "STONE", + "MILLIGRAM", + "MICROGRAM", + "NANOGRAM" + ], + "enumDescriptions": [ + "Unspecified weight unit.", + "Value representing gram.", + "Value representing kilogram.", + "Value representing ounce.", + "Value representing pound.", + "Value representing stone.", + "Value representing milligram.", + "Value representing microgram.", + "Value representing nanogram." + ], + "type": "string" + } + }, + "type": "object" + }, + "WeightQuantityRollup": { + "description": "Rollup for the weight.", + "id": "WeightQuantityRollup", + "properties": { + "gramsSum": { + "description": "Required. The sum of the weight in grams.", + "format": "double", + "type": "number" + }, + "userProvidedUnitLast": { + "description": "Optional. The user provided unit on the last element.", + "enum": [ + "WEIGHT_UNIT_UNSPECIFIED", + "GRAM", + "KILOGRAM", + "OUNCE", + "POUND", + "STONE", + "MILLIGRAM", + "MICROGRAM", + "NANOGRAM" + ], + "enumDescriptions": [ + "Unspecified weight unit.", + "Value representing gram.", + "Value representing kilogram.", + "Value representing ounce.", + "Value representing pound.", + "Value representing stone.", + "Value representing milligram.", + "Value representing microgram.", + "Value representing nanogram." + ], + "type": "string" + } + }, + "type": "object" + }, + "WeightRollupValue": { + "description": "Represents the result of the rollup of the weight data type.", + "id": "WeightRollupValue", + "properties": { + "weightGramsAvg": { + "description": "Average weight in grams.", + "format": "double", + "type": "number" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Google Health API", + "version": "v4beta", + "version_module": true +} \ No newline at end of file diff --git a/discovery/hypercomputecluster-v1.json b/discovery/hypercomputecluster-v1.json index f77870d65c8..ef02874e611 100644 --- a/discovery/hypercomputecluster-v1.json +++ b/discovery/hypercomputecluster-v1.json @@ -498,7 +498,7 @@ } } }, - "revision": "20260729", + "revision": "20260820", "rootUrl": "https://hypercomputecluster.googleapis.com/", "schemas": { "BootDisk": { @@ -596,6 +596,11 @@ "description": "Optional. Storage resources available to the cluster. Keys specify the ID of the storage resource by which it can be referenced elsewhere, and must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).", "type": "object" }, + "uid": { + "description": "Output only. The globally unique identifier for this Cluster.", + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. Time that the cluster was most recently updated.", "format": "google-datetime", diff --git a/discovery/iam-v1.json b/discovery/iam-v1.json index 66cbe3b582b..3567cf48bac 100644 --- a/discovery/iam-v1.json +++ b/discovery/iam-v1.json @@ -951,6 +951,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets IAM policies on a WorkforcePool.", + "flatPath": "v1/locations/{locationsId}/workforcePools/{workforcePoolsId}/providers/{providersId}/scimTenants/{scimTenantsId}:getIamPolicy", + "httpMethod": "POST", + "id": "iam.locations.workforcePools.providers.scimTenants.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^locations/[^/]+/workforcePools/[^/]+/providers/[^/]+/scimTenants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Gemini Enterprise only. Lists all non-deleted WorkforcePoolProviderScimTenants in a WorkforcePoolProvider. If `show_deleted` is set to `true`, then deleted SCIM tenants are also listed.", "flatPath": "v1/locations/{locationsId}/workforcePools/{workforcePoolsId}/providers/{providersId}/scimTenants", @@ -1026,6 +1054,62 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setIamPolicy": { + "description": "Sets IAM policies on a WorkforcePool.", + "flatPath": "v1/locations/{locationsId}/workforcePools/{workforcePoolsId}/providers/{providersId}/scimTenants/{scimTenantsId}:setIamPolicy", + "httpMethod": "POST", + "id": "iam.locations.workforcePools.providers.scimTenants.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^locations/[^/]+/workforcePools/[^/]+/providers/[^/]+/scimTenants/[^/]+$", + "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 caller's permissions on the WorkforcePool. If the pool doesn't exist, this call returns an empty set of permissions. It doesn't return a `NOT_FOUND` error.", + "flatPath": "v1/locations/{locationsId}/workforcePools/{workforcePoolsId}/providers/{providersId}/scimTenants/{scimTenantsId}:testIamPermissions", + "httpMethod": "POST", + "id": "iam.locations.workforcePools.providers.scimTenants.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^locations/[^/]+/workforcePools/[^/]+/providers/[^/]+/scimTenants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "undelete": { "description": "Gemini Enterprise only. Undeletes a WorkforcePoolProviderScimTenant, that was deleted fewer than 30 days ago.", "flatPath": "v1/locations/{locationsId}/workforcePools/{workforcePoolsId}/providers/{providersId}/scimTenants/{scimTenantsId}:undelete", @@ -4257,7 +4341,7 @@ } } }, - "revision": "20260807", + "revision": "20260828", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AccessRestrictions": { diff --git a/discovery/index.json b/discovery/index.json index fc3d0a81f57..d6597a86cab 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -241,6 +241,21 @@ "title": "Advisory Notifications API", "version": "v1" }, + { + "description": "Agencies and brands API is an externally available HTTP API for ad agencies and brands to programmatically manage their deals and spending with Google Ad Manager publishers.", + "discoveryRestUrl": "https://agenciesandbrands.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://developers.google.com/authorized-buyers/agencies-and-brands/get-started/start", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "agenciesandbrands:v1", + "kind": "discovery#directoryItem", + "name": "agenciesandbrands", + "preferred": true, + "title": "Agencies and Brands API", + "version": "v1" + }, { "description": "", "discoveryRestUrl": "https://agentidentity.googleapis.com/$discovery/rest?version=v1alpha", @@ -900,6 +915,21 @@ "title": "Assured Workloads API", "version": "v1" }, + { + "description": "The Audit Manager API allows customers to manage compliance audits.", + "discoveryRestUrl": "https://auditmanager.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://cloud.google.com/assured-workloads/docs/audit-manager", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "auditmanager:v1", + "kind": "discovery#directoryItem", + "name": "auditmanager", + "preferred": true, + "title": "Audit Manager API", + "version": "v1" + }, { "description": "The Authorized Buyers Marketplace API lets buyers programmatically discover inventory; propose, retrieve and negotiate deals with publishers.", "discoveryRestUrl": "https://authorizedbuyersmarketplace.googleapis.com/$discovery/rest?version=v1alpha", @@ -945,6 +975,21 @@ "title": "Authorized Buyers Marketplace API", "version": "v1" }, + { + "description": "", + "discoveryRestUrl": "https://backupdr.googleapis.com/$discovery/rest?version=v1beta", + "documentationLink": "https://cloud.google.com/backup-disaster-recovery", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "backupdr:v1beta", + "kind": "discovery#directoryItem", + "name": "backupdr", + "preferred": false, + "title": "Backup and DR Service API", + "version": "v1beta" + }, { "description": "", "discoveryRestUrl": "https://backupdr.googleapis.com/$discovery/rest?version=v1", @@ -2358,21 +2403,6 @@ "title": "Container Analysis API", "version": "v1" }, - { - "description": "This API is deprecated. Please use Merchant API instead: https://developers.google.com/merchant/api.", - "discoveryRestUrl": "https://shoppingcontent.googleapis.com/$discovery/rest?version=v2.1", - "documentationLink": "https://developers.google.com/shopping-content/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" - }, - "id": "content:v2.1", - "kind": "discovery#directoryItem", - "name": "content", - "preferred": true, - "title": "Content API for Shopping", - "version": "v2.1" - }, { "description": "", "discoveryRestUrl": "https://contentwarehouse.googleapis.com/$discovery/rest?version=v1", @@ -2403,6 +2433,21 @@ "title": "CSS API", "version": "v1" }, + { + "description": "Curation partners API is an externally available HTTP API for curators to programmatically manage their data segments and curated packages used by ad agencies.", + "discoveryRestUrl": "https://curationpartners.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://developers.google.com/authorized-buyers/curation/apis/guides/curationpartners/overview", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "curationpartners:v1", + "kind": "discovery#directoryItem", + "name": "curationpartners", + "preferred": true, + "title": "Curation Partners API", + "version": "v1" + }, { "description": "Searches over a website or collection of websites", "discoveryRestUrl": "https://customsearch.googleapis.com/$discovery/rest?version=v1", @@ -2684,10 +2729,25 @@ "id": "dataproc:v1", "kind": "discovery#directoryItem", "name": "dataproc", - "preferred": true, + "preferred": false, "title": "Cloud Dataproc API", "version": "v1" }, + { + "description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", + "discoveryRestUrl": "https://dataproc.googleapis.com/$discovery/rest?version=v2", + "documentationLink": "https://cloud.google.com/dataproc/", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "dataproc:v2", + "kind": "discovery#directoryItem", + "name": "dataproc", + "preferred": true, + "title": "Cloud Dataproc API", + "version": "v2" + }, { "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", @@ -4070,6 +4130,21 @@ "title": "Groups Settings API", "version": "v1" }, + { + "description": "The Google Health API lets you view and manage health and fitness metrics and measurement data.", + "discoveryRestUrl": "https://health.googleapis.com/$discovery/rest?version=v4beta", + "documentationLink": "https://developers.google.com/health", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "health:v4beta", + "kind": "discovery#directoryItem", + "name": "health", + "preferred": false, + "title": "Google Health API", + "version": "v4beta" + }, { "description": "The Google Health API lets you view and manage health and fitness metrics and measurement data.", "discoveryRestUrl": "https://health.googleapis.com/$discovery/rest?version=v4", diff --git a/discovery/looker-v1.json b/discovery/looker-v1.json index 63b0e9b5884..591781cdf4f 100644 --- a/discovery/looker-v1.json +++ b/discovery/looker-v1.json @@ -15,6 +15,58 @@ "description": "", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/looker/docs/reference/rest/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://looker.us-west4.rep.googleapis.com/", + "location": "us-west4" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -748,7 +800,7 @@ } } }, - "revision": "20260806", + "revision": "20260903", "rootUrl": "https://looker.googleapis.com/", "schemas": { "AdminSettings": { diff --git a/discovery/managedkafka-v1.json b/discovery/managedkafka-v1.json index c421560c49f..39b110077b0 100644 --- a/discovery/managedkafka-v1.json +++ b/discovery/managedkafka-v1.json @@ -3186,7 +3186,7 @@ } } }, - "revision": "20260507", + "revision": "20260904", "rootUrl": "https://managedkafka.googleapis.com/", "schemas": { "AccessConfig": { @@ -3199,6 +3199,10 @@ "$ref": "NetworkConfig" }, "type": "array" + }, + "publicClusterConfig": { + "$ref": "PublicClusterConfig", + "description": "Optional. The configuration for public connectivity to the Kafka cluster." } }, "type": "object" @@ -3278,6 +3282,18 @@ }, "type": "object" }, + "BrokerCapacityConfig": { + "description": "Capacity configuration at a per-broker level within the Kafka cluster. The config will be appled to each broker in the cluster.", + "id": "BrokerCapacityConfig", + "properties": { + "diskSizeGib": { + "description": "Optional. The disk to provision for each broker in Gibibytes. Minimum: 100 GiB.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "BrokerDetails": { "description": "Details of a broker in the Kafka cluster.", "id": "BrokerDetails", @@ -3396,6 +3412,15 @@ "description": "An Apache Kafka cluster deployed in a location.", "id": "Cluster", "properties": { + "bootstrapAddress": { + "description": "Output only. The bootstrap address of the Kafka cluster. The returned address format is: `bootstrap-...managedkafka.s.cloud.goog` or `bootstrap...managedkafka..cloud.goog` (legacy format). ## Examples: `bootstrap-nol2mecj8p94jhx2ge2rg54579a.c0aad26f.europe-west1.managedkafka.s.cloud.goog` - `bootstrap.my-cluster.us-central1.managedkafka.my-project.cloud.goog` The port number is omitted so clients can connect to their target listener (for example, `:9092` for TLS or `:9094` for mTLS).", + "readOnly": true, + "type": "string" + }, + "brokerCapacityConfig": { + "$ref": "BrokerCapacityConfig", + "description": "Optional. Capacity configuration at a per-broker level within the Kafka cluster. The config will be appled to each broker in the cluster." + }, "brokerDetails": { "description": "Output only. Only populated when FULL view is requested. Details of each broker in the cluster.", "items": { @@ -3414,13 +3439,17 @@ "readOnly": true, "type": "string" }, + "effectiveCapacityConfig": { + "$ref": "EffectiveCapacityConfig", + "description": "Output only. Only populated when FULL view is requested. The effective capacity configuration of the cluster.", + "readOnly": true + }, "gcpConfig": { "$ref": "GcpConfig", "description": "Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform." }, "kafkaVersion": { - "description": "Output only. Only populated when FULL view is requested. The Kafka version of the cluster.", - "readOnly": true, + "description": "Optional. The Apache Kafka version of the cluster (for example, `3.7.x`, `4.3.x`). If not specified during cluster creation, defaults to `3.7.x`.", "type": "string" }, "labels": { @@ -3434,6 +3463,11 @@ "description": "Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id}", "type": "string" }, + "publicClusterDetails": { + "$ref": "PublicClusterDetails", + "description": "Output only. Details of the public cluster feature for the Kafka cluster.", + "readOnly": true + }, "rebalanceConfig": { "$ref": "RebalanceConfig", "description": "Optional. Rebalance configuration for the Kafka cluster." @@ -3806,6 +3840,25 @@ }, "type": "object" }, + "EffectiveCapacityConfig": { + "description": "Describes the effective capacity configuration of a Kafka cluster, both cluster-wide and per-broker.", + "id": "EffectiveCapacityConfig", + "properties": { + "brokerCount": { + "description": "Output only. The number of brokers in the cluster.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "brokerDiskSizeGib": { + "description": "Output only. The disk assigned to each broker in Gibibytes.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -4211,6 +4264,43 @@ "properties": {}, "type": "object" }, + "PublicClusterConfig": { + "description": "The configuration for a public Kafka cluster", + "id": "PublicClusterConfig", + "properties": { + "allowedSourceIpRanges": { + "description": "Required. The list of IPv4 ranges in CIDR notation that are allowed to connect to the public Kafka broker endpoints. The Kafka cluster should only be exposed to trusted external ranges. A maximum of 500 IP ranges can be specified and no single range can be larger than a `/16`. This field is required if PublicClusterConfig is specified.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PublicClusterDetails": { + "description": "Details of the public cluster feature for the Kafka cluster.", + "id": "PublicClusterDetails", + "properties": { + "discoveryDnsRecords": { + "description": "Output only. DNS discovery records that resolve to all of the external IP addresses associated with the public cluster. Used for configuring DNS-based egress firewall rules to a public cluster. discovery_dns_record can be added to this list if the cluster is scaled up. Must configure DNS based firewalls to resolve ALL DNS records in this list as large clusters have IP addresses sharded across records. Each record contains a maximum of 30 IP addresses.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "externalIpAddresses": { + "description": "Output only. All of the external IP addresses associated with the public cluster used for configuring egress firewall rules to a public cluster. external_ip_address can be added to this list if the cluster is scaled up.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "RebalanceConfig": { "description": "Defines rebalancing behavior of a Kafka cluster.", "id": "RebalanceConfig", diff --git a/discovery/merchantapi-accounts_v1.json b/discovery/merchantapi-accounts_v1.json index 343839db186..7f710ba385a 100644 --- a/discovery/merchantapi-accounts_v1.json +++ b/discovery/merchantapi-accounts_v1.json @@ -2438,7 +2438,7 @@ } } }, - "revision": "20260807", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -3166,7 +3166,8 @@ "FREE_VEHICLE_LISTINGS", "VEHICLE_ADS", "CLOUD_RETAIL", - "LOCAL_CLOUD_RETAIL" + "LOCAL_CLOUD_RETAIL", + "RENTAL_ADS" ], "enumDescriptions": [ "Not specified.", @@ -3181,7 +3182,8 @@ "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", "[Cloud retail](https://cloud.google.com/solutions/retail).", - "[Local cloud retail](https://cloud.google.com/solutions/retail)." + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -3810,7 +3812,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -3832,6 +3835,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -3854,7 +3858,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -4785,7 +4790,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -4807,6 +4813,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -4829,7 +4836,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-accounts_v1beta.json b/discovery/merchantapi-accounts_v1beta.json index d712b8103b4..70df8cead07 100644 --- a/discovery/merchantapi-accounts_v1beta.json +++ b/discovery/merchantapi-accounts_v1beta.json @@ -2388,7 +2388,7 @@ } } }, - "revision": "20260807", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -3046,7 +3046,8 @@ "FREE_VEHICLE_LISTINGS", "VEHICLE_ADS", "CLOUD_RETAIL", - "LOCAL_CLOUD_RETAIL" + "LOCAL_CLOUD_RETAIL", + "RENTAL_ADS" ], "enumDescriptions": [ "Not specified.", @@ -3061,7 +3062,8 @@ "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", "[Cloud retail](https://cloud.google.com/solutions/retail).", - "[Local cloud retail](https://cloud.google.com/solutions/retail)." + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -3687,7 +3689,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -3709,6 +3712,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -3731,7 +3735,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -4662,7 +4667,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -4684,6 +4690,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -4706,7 +4713,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-conversions_v1.json b/discovery/merchantapi-conversions_v1.json index f791ed62461..57130b50cd4 100644 --- a/discovery/merchantapi-conversions_v1.json +++ b/discovery/merchantapi-conversions_v1.json @@ -295,7 +295,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AttributionSettings": { @@ -524,7 +524,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -546,6 +547,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -568,7 +570,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-conversions_v1beta.json b/discovery/merchantapi-conversions_v1beta.json index 366b00fa05a..fb18f02f916 100644 --- a/discovery/merchantapi-conversions_v1beta.json +++ b/discovery/merchantapi-conversions_v1beta.json @@ -295,7 +295,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AttributionSettings": { @@ -524,7 +524,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -546,6 +547,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -568,7 +570,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-datasources_v1.json b/discovery/merchantapi-datasources_v1.json index 20ea7165779..f6f2d5f274d 100644 --- a/discovery/merchantapi-datasources_v1.json +++ b/discovery/merchantapi-datasources_v1.json @@ -321,7 +321,7 @@ } } }, - "revision": "20260719", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -449,7 +449,8 @@ "FREE_VEHICLE_LISTINGS", "VEHICLE_ADS", "CLOUD_RETAIL", - "LOCAL_CLOUD_RETAIL" + "LOCAL_CLOUD_RETAIL", + "RENTAL_ADS" ], "enumDescriptions": [ "Not specified.", @@ -464,7 +465,8 @@ "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", "[Cloud retail](https://cloud.google.com/solutions/retail).", - "[Local cloud retail](https://cloud.google.com/solutions/retail)." + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -833,7 +835,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -855,6 +858,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -877,7 +881,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-datasources_v1beta.json b/discovery/merchantapi-datasources_v1beta.json index 6ca84c904be..b1be8afa527 100644 --- a/discovery/merchantapi-datasources_v1beta.json +++ b/discovery/merchantapi-datasources_v1beta.json @@ -321,7 +321,7 @@ } } }, - "revision": "20260719", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -449,7 +449,8 @@ "FREE_VEHICLE_LISTINGS", "VEHICLE_ADS", "CLOUD_RETAIL", - "LOCAL_CLOUD_RETAIL" + "LOCAL_CLOUD_RETAIL", + "RENTAL_ADS" ], "enumDescriptions": [ "Not specified.", @@ -464,7 +465,8 @@ "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", "[Cloud retail](https://cloud.google.com/solutions/retail).", - "[Local cloud retail](https://cloud.google.com/solutions/retail)." + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -845,7 +847,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -867,6 +870,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -889,7 +893,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-inventories_v1.json b/discovery/merchantapi-inventories_v1.json index 0713333702c..843af5f82ef 100644 --- a/discovery/merchantapi-inventories_v1.json +++ b/discovery/merchantapi-inventories_v1.json @@ -300,7 +300,7 @@ } } }, - "revision": "20260713", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -615,7 +615,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -637,6 +638,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -659,7 +661,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-inventories_v1beta.json b/discovery/merchantapi-inventories_v1beta.json index a3011ff3eb1..ec7fd60f42a 100644 --- a/discovery/merchantapi-inventories_v1beta.json +++ b/discovery/merchantapi-inventories_v1beta.json @@ -300,7 +300,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -506,7 +506,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -528,6 +529,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -550,7 +552,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-issueresolution_v1.json b/discovery/merchantapi-issueresolution_v1.json index 3edb8649cc8..e573ae3a279 100644 --- a/discovery/merchantapi-issueresolution_v1.json +++ b/discovery/merchantapi-issueresolution_v1.json @@ -268,7 +268,7 @@ } } }, - "revision": "20260713", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Action": { @@ -420,7 +420,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -442,6 +443,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -464,7 +466,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -882,7 +885,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -904,6 +908,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -926,7 +931,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-issueresolution_v1beta.json b/discovery/merchantapi-issueresolution_v1beta.json index d8109765fc7..8e3fe21343c 100644 --- a/discovery/merchantapi-issueresolution_v1beta.json +++ b/discovery/merchantapi-issueresolution_v1beta.json @@ -268,7 +268,7 @@ } } }, - "revision": "20260713", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Action": { @@ -420,7 +420,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -442,6 +443,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -464,7 +466,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -882,7 +885,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -904,6 +908,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -926,7 +931,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-lfp_v1.json b/discovery/merchantapi-lfp_v1.json index 6132bf8519c..7cb7c025d17 100644 --- a/discovery/merchantapi-lfp_v1.json +++ b/discovery/merchantapi-lfp_v1.json @@ -327,7 +327,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CountrySettings": { @@ -782,7 +782,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -804,6 +805,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -826,7 +828,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-lfp_v1beta.json b/discovery/merchantapi-lfp_v1beta.json index e24d39f3955..55bd5545d33 100644 --- a/discovery/merchantapi-lfp_v1beta.json +++ b/discovery/merchantapi-lfp_v1beta.json @@ -327,7 +327,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CountrySettings": { @@ -782,7 +782,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -804,6 +805,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -826,7 +828,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-loyaltycustomers_v1.json b/discovery/merchantapi-loyaltycustomers_v1.json index 56cab38c93e..cbe517bfe55 100644 --- a/discovery/merchantapi-loyaltycustomers_v1.json +++ b/discovery/merchantapi-loyaltycustomers_v1.json @@ -142,7 +142,7 @@ } } }, - "revision": "20260805", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AddressInfo": { @@ -278,7 +278,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -300,6 +301,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -322,7 +324,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-notifications_v1.json b/discovery/merchantapi-notifications_v1.json index b70c4ccdec2..ec918ca23b2 100644 --- a/discovery/merchantapi-notifications_v1.json +++ b/discovery/merchantapi-notifications_v1.json @@ -262,7 +262,7 @@ } } }, - "revision": "20260817", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -365,7 +365,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -387,6 +388,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -409,7 +411,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-notifications_v1beta.json b/discovery/merchantapi-notifications_v1beta.json index 898c9336799..a91ca59f8eb 100644 --- a/discovery/merchantapi-notifications_v1beta.json +++ b/discovery/merchantapi-notifications_v1beta.json @@ -262,7 +262,7 @@ } } }, - "revision": "20260817", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -365,7 +365,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -387,6 +388,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -409,7 +411,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-ordertracking_v1.json b/discovery/merchantapi-ordertracking_v1.json index 8a68edc4759..ca29e1aaf2b 100644 --- a/discovery/merchantapi-ordertracking_v1.json +++ b/discovery/merchantapi-ordertracking_v1.json @@ -147,7 +147,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DateTime": { @@ -353,7 +353,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -375,6 +376,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -397,7 +399,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-ordertracking_v1beta.json b/discovery/merchantapi-ordertracking_v1beta.json index 0d87cdea678..8c9c03b0ec2 100644 --- a/discovery/merchantapi-ordertracking_v1beta.json +++ b/discovery/merchantapi-ordertracking_v1beta.json @@ -147,7 +147,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DateTime": { @@ -358,7 +358,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -380,6 +381,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -402,7 +404,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-products_v1.json b/discovery/merchantapi-products_v1.json index 6bf78455e9c..24270303608 100644 --- a/discovery/merchantapi-products_v1.json +++ b/discovery/merchantapi-products_v1.json @@ -281,7 +281,7 @@ } } }, - "revision": "20260729", + "revision": "20260903", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AutomatedDiscounts": { @@ -724,7 +724,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -746,6 +747,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -768,7 +770,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -966,7 +969,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -988,6 +992,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1010,7 +1015,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -1560,7 +1566,7 @@ "type": "array" }, "certifications": { - "description": "Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information.", + "description": "Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. For more information, see [Certification](https://support.google.com/merchants/answer/13528839).", "items": { "$ref": "ProductCertification" }, @@ -1789,7 +1795,8 @@ "FREE_VEHICLE_LISTINGS", "VEHICLE_ADS", "CLOUD_RETAIL", - "LOCAL_CLOUD_RETAIL" + "LOCAL_CLOUD_RETAIL", + "RENTAL_ADS" ], "enumDescriptions": [ "Not specified.", @@ -1804,7 +1811,8 @@ "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", "[Cloud retail](https://cloud.google.com/solutions/retail).", - "[Local cloud retail](https://cloud.google.com/solutions/retail)." + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -1892,7 +1900,8 @@ "FREE_VEHICLE_LISTINGS", "VEHICLE_ADS", "CLOUD_RETAIL", - "LOCAL_CLOUD_RETAIL" + "LOCAL_CLOUD_RETAIL", + "RENTAL_ADS" ], "enumDescriptions": [ "Not specified.", @@ -1907,7 +1916,8 @@ "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", "[Cloud retail](https://cloud.google.com/solutions/retail).", - "[Local cloud retail](https://cloud.google.com/solutions/retail)." + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -2595,6 +2605,14 @@ "description": "The certification code. Maximum length is 2000 characters.", "type": "string" }, + "certificationDocumentLink": { + "description": "Optional. URL to the certification document (eg. `https://www.example.com/document`), for example, the product data sheet or fiche required by UK's DESNZ or EU's EPREL. Maximum length is 2000 characters. For more information, see [Certification](https://support.google.com/merchants/answer/13528839).", + "type": "string" + }, + "certificationLabelLink": { + "description": "Optional. URL to the certification label (eg. `https://www.example.com/label`), for example, the energy efficiency label required by UK's DESNZ or EU's EPREL. Maximum length is 2000 characters. For more information, see [Certification](https://support.google.com/merchants/answer/13528839).", + "type": "string" + }, "certificationName": { "description": "The name of the certification.", "enum": [ @@ -2662,7 +2680,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -2684,6 +2703,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -2706,7 +2726,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-products_v1beta.json b/discovery/merchantapi-products_v1beta.json index 60023be880e..c5b1a7f7be3 100644 --- a/discovery/merchantapi-products_v1beta.json +++ b/discovery/merchantapi-products_v1beta.json @@ -281,7 +281,7 @@ } } }, - "revision": "20260527", + "revision": "20260903", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -340,7 +340,7 @@ "type": "string" }, "certifications": { - "description": "Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information.", + "description": "Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. For more information, see [Certification](https://support.google.com/merchants/answer/13528839).", "items": { "$ref": "Certification" }, @@ -776,6 +776,14 @@ "description": "The certification code. Maximum length is 2000 characters.", "type": "string" }, + "certificationDocumentLink": { + "description": "Optional. URL to the certification document (eg. `https://www.example.com/document`), for example, the product data sheet or fiche required by UK's DESNZ or EU's EPREL. Maximum length is 2000 characters. For more information, see [Certification](https://support.google.com/merchants/answer/13528839).", + "type": "string" + }, + "certificationLabelLink": { + "description": "Optional. URL to the certification label (eg. `https://www.example.com/label`), for example, the energy efficiency label required by UK's DESNZ or EU's EPREL. Maximum length is 2000 characters. For more information, see [Certification](https://support.google.com/merchants/answer/13528839).", + "type": "string" + }, "certificationName": { "description": "The name of the certification, for example \"EPREL\". Maximum length is 2000 characters.", "type": "string" @@ -908,7 +916,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -930,6 +939,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -952,7 +962,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -1074,7 +1085,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1096,6 +1108,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1118,7 +1131,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -1359,7 +1373,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1381,6 +1396,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1403,7 +1419,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-promotions_v1.json b/discovery/merchantapi-promotions_v1.json index d741b59ff74..91d6af6af40 100644 --- a/discovery/merchantapi-promotions_v1.json +++ b/discovery/merchantapi-promotions_v1.json @@ -203,7 +203,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -460,7 +460,8 @@ "FREE_VEHICLE_LISTINGS", "VEHICLE_ADS", "CLOUD_RETAIL", - "LOCAL_CLOUD_RETAIL" + "LOCAL_CLOUD_RETAIL", + "RENTAL_ADS" ], "enumDescriptions": [ "Not specified.", @@ -475,7 +476,8 @@ "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", "[Cloud retail](https://cloud.google.com/solutions/retail).", - "[Local cloud retail](https://cloud.google.com/solutions/retail)." + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -599,7 +601,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -621,6 +624,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -643,7 +647,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "readOnly": true, "type": "string" @@ -765,7 +770,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -787,6 +793,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -809,7 +816,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "readOnly": true, "type": "string" @@ -911,7 +919,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -933,6 +942,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -955,7 +965,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-promotions_v1beta.json b/discovery/merchantapi-promotions_v1beta.json index 0fb1635739c..88bfa10f844 100644 --- a/discovery/merchantapi-promotions_v1beta.json +++ b/discovery/merchantapi-promotions_v1beta.json @@ -203,7 +203,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -460,7 +460,8 @@ "FREE_VEHICLE_LISTINGS", "VEHICLE_ADS", "CLOUD_RETAIL", - "LOCAL_CLOUD_RETAIL" + "LOCAL_CLOUD_RETAIL", + "RENTAL_ADS" ], "enumDescriptions": [ "Not specified.", @@ -475,7 +476,8 @@ "[Free vehicle listings](https://support.google.com/merchants/answer/11189169).", "[Vehicle ads](https://support.google.com/merchants/answer/11189169).", "[Cloud retail](https://cloud.google.com/solutions/retail).", - "[Local cloud retail](https://cloud.google.com/solutions/retail)." + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -599,7 +601,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -621,6 +624,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -643,7 +647,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "readOnly": true, "type": "string" @@ -765,7 +770,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -787,6 +793,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -809,7 +816,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "readOnly": true, "type": "string" @@ -911,7 +919,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -933,6 +942,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -955,7 +965,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-quota_v1.json b/discovery/merchantapi-quota_v1.json index 39ed6a38b7c..cb6a4945f62 100644 --- a/discovery/merchantapi-quota_v1.json +++ b/discovery/merchantapi-quota_v1.json @@ -220,7 +220,7 @@ } } }, - "revision": "20260713", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AccountLimit": { @@ -339,7 +339,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -361,6 +362,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -383,7 +385,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-quota_v1beta.json b/discovery/merchantapi-quota_v1beta.json index 53e6201e9d6..6489ffbbf44 100644 --- a/discovery/merchantapi-quota_v1beta.json +++ b/discovery/merchantapi-quota_v1beta.json @@ -150,7 +150,7 @@ } } }, - "revision": "20260713", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "ListQuotaGroupsResponse": { @@ -236,7 +236,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -258,6 +259,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -280,7 +282,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-reports_v1.json b/discovery/merchantapi-reports_v1.json index ec10c4fd746..fa8057b8cea 100644 --- a/discovery/merchantapi-reports_v1.json +++ b/discovery/merchantapi-reports_v1.json @@ -142,7 +142,7 @@ } } }, - "revision": "20260715", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -657,7 +657,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -679,6 +680,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -701,7 +703,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -1043,7 +1046,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1065,6 +1069,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1087,7 +1092,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -1486,7 +1492,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1508,6 +1515,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1530,7 +1538,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -1688,7 +1697,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1710,6 +1720,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1732,7 +1743,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-reports_v1beta.json b/discovery/merchantapi-reports_v1beta.json index ae1735ffd9f..d8d048264a7 100644 --- a/discovery/merchantapi-reports_v1beta.json +++ b/discovery/merchantapi-reports_v1beta.json @@ -142,7 +142,7 @@ } } }, - "revision": "20260715", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -657,7 +657,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -679,6 +680,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -701,7 +703,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -1043,7 +1046,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1065,6 +1069,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1087,7 +1092,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -1486,7 +1492,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1508,6 +1515,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1530,7 +1538,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" }, @@ -1688,7 +1697,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1710,6 +1720,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1732,7 +1743,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } diff --git a/discovery/merchantapi-reviews_v1beta.json b/discovery/merchantapi-reviews_v1beta.json index f377a4c96fb..ef4d476da67 100644 --- a/discovery/merchantapi-reviews_v1beta.json +++ b/discovery/merchantapi-reviews_v1beta.json @@ -356,7 +356,7 @@ } } }, - "revision": "20260527", + "revision": "20260901", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -572,7 +572,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -594,6 +595,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -616,7 +618,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "readOnly": true, "type": "string" @@ -675,7 +678,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -697,6 +701,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -719,7 +724,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "readOnly": true, "type": "string" @@ -820,7 +826,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -842,6 +849,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -864,7 +872,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "type": "string" } @@ -1108,7 +1117,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1130,6 +1140,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1152,7 +1163,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "readOnly": true, "type": "string" @@ -1211,7 +1223,8 @@ "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", "MERCHANT_REVIEWS", - "YOUTUBE_CHECKOUT" + "YOUTUBE_CHECKOUT", + "RENTAL_ADS" ], "enumDeprecated": [ false, @@ -1233,6 +1246,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1255,7 +1269,8 @@ "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", - "YouTube Checkout ." + "YouTube Checkout .", + "Real Estate Rental Ads. ." ], "readOnly": true, "type": "string" diff --git a/discovery/metastore-v1.json b/discovery/metastore-v1.json index c84be84a15d..f0232f56e64 100644 --- a/discovery/metastore-v1.json +++ b/discovery/metastore-v1.json @@ -1695,7 +1695,7 @@ } } }, - "revision": "20260716", + "revision": "20260825", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -1859,6 +1859,42 @@ }, "type": "object" }, + "BackfillStatus": { + "description": "Backfill status for the migration execution.", + "id": "BackfillStatus", + "properties": { + "migrationSummary": { + "$ref": "MigrationSummary", + "description": "Output only. Summary of the migration results. This is populated after the backfill or dry run is finished.", + "readOnly": true + }, + "reportPath": { + "description": "Output only. The Cloud Storage path where the backfill or dry run report is written. Format: \"gs://path-to-report\".", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the backfill (or dry run).", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The backfill state is unspecified.", + "Waiting to start.", + "Backfill in progress.", + "Backfill complete, report is available", + "Backfill failed; check report for details" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Backup": { "description": "The details of a backup resource.", "id": "Backup", @@ -1920,6 +1956,60 @@ }, "type": "object" }, + "BigLakeMetastoreMigrationConfig": { + "description": "Defines the configuration required to migrate metadata from a Dataproc Metastore service to BigLake Metastore.", + "id": "BigLakeMetastoreMigrationConfig", + "properties": { + "backfillStatus": { + "$ref": "BackfillStatus", + "description": "Output only. ", + "readOnly": true + }, + "conflictPolicy": { + "description": "Optional. The policy to handle conflicts when migrating resources, defaults to SKIP if not specified.", + "enum": [ + "CONFLICT_POLICY_UNSPECIFIED", + "SKIP", + "OVERWRITE" + ], + "enumDescriptions": [ + "The conflict policy is unspecified.", + "Skip migrating resources that already exist in the target catalog.", + "Update resources that already exist in the target catalog." + ], + "type": "string" + }, + "dryRun": { + "description": "Optional. If true, performs discovery of requested resources and analysis against the target catalog to come up with a plan for each resource (e.g. Create, Update, Skip, etc.). No metadata is actually migrated.", + "type": "boolean" + }, + "hiveConfig": { + "$ref": "HiveConfig", + "description": "Optional. At least one of hive_config or iceberg_config must be provided, otherwise, a validation error will be thrown. If only one is provided, the service only migrates tables of that specific type. If both are provided, both Hive and Iceberg tables will be migrated.Configuration for migrating Hive tables to a BigLake Hive catalog." + }, + "icebergConfig": { + "$ref": "IcebergConfig", + "description": "Optional. Configuration for migrating Iceberg tables to a BigLake Iceberg REST catalog." + }, + "mode": { + "description": "Required. Defines the behavior of the migration execution.", + "enum": [ + "MIGRATION_MODE_UNSPECIFIED", + "BACKFILL" + ], + "enumDescriptions": [ + "The migration mode is unspecified.", + "Performs the metadata migration of requested resources. The migration completes once the backfill is finished." + ], + "type": "string" + }, + "reportPath": { + "description": "Optional. The Cloud Storage path where the backfill / dry run report should be written. If not provided, the report will be generated in the service's artifacts bucket. Format: \"gs://path/to/folder\"", + "type": "string" + } + }, + "type": "object" + }, "Binding": { "description": "Associates members, or principals, with a role.", "id": "Binding", @@ -1954,92 +2044,69 @@ "properties": {}, "type": "object" }, - "CdcConfig": { - "description": "Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore.", - "id": "CdcConfig", + "CatalogReport": { + "description": "Aggregated report at the catalog level.", + "id": "CatalogReport", "properties": { - "bucket": { - "description": "Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like \"gs://\". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used.", + "catalog": { + "description": "The name of the catalog (format: projects/*/catalogs/*).", "type": "string" }, - "password": { - "description": "Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request.", - "type": "string" - }, - "reverseProxySubnet": { - "description": "Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", - "type": "string" - }, - "rootPath": { - "description": "Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration.", - "type": "string" - }, - "subnetIpRange": { - "description": "Required. A /29 CIDR IP range for peering with datastream.", - "type": "string" - }, - "username": { - "description": "Required. The username that the Datastream service should use for the MySQL connection.", + "catalogType": { + "description": "The type of catalog.", + "enum": [ + "CATALOG_TYPE_UNSPECIFIED", + "HIVE", + "ICEBERG" + ], + "enumDescriptions": [ + "The catalog type is unspecified.", + "BigLake Metastore Hive catalog.", + "BigLake Metastore Iceberg REST catalog." + ], "type": "string" }, - "vpcNetwork": { - "description": "Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id}/locations/global/networks/{network_id}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity", - "type": "string" + "databaseReports": { + "additionalProperties": { + "$ref": "DatabaseReport" + }, + "description": "A map of database names to their respective reports.", + "type": "object" } }, "type": "object" }, - "CloudSQLConnectionConfig": { - "description": "Configuration information to establish customer database connection before the cutover phase of migration", - "id": "CloudSQLConnectionConfig", + "CatalogSummary": { + "description": "Summary of results for a specific destination catalog.", + "id": "CatalogSummary", "properties": { - "hiveDatabaseName": { - "description": "Required. The hive database name.", - "type": "string" - }, - "instanceConnectionName": { - "description": "Required. Cloud SQL database connection name (project_id:region:instance_name)", - "type": "string" - }, - "ipAddress": { - "description": "Required. The private IP address of the Cloud SQL instance.", - "type": "string" - }, - "natSubnet": { - "description": "Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", - "type": "string" - }, - "password": { - "description": "Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request.", - "type": "string" - }, - "port": { - "description": "Required. The network port of the database.", - "format": "int32", - "type": "integer" - }, - "proxySubnet": { - "description": "Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", + "catalog": { + "description": "Output only. The catalog resource name (format: projects/*/catalogs/*).", + "readOnly": true, "type": "string" }, - "username": { - "description": "Required. The username that Dataproc Metastore service will use to connect to the database.", + "catalogType": { + "description": "Output only. The type of the catalog.", + "enum": [ + "CATALOG_TYPE_UNSPECIFIED", + "HIVE", + "ICEBERG" + ], + "enumDescriptions": [ + "The catalog type is unspecified.", + "BigLake Metastore Hive catalog.", + "BigLake Metastore Iceberg REST catalog." + ], + "readOnly": true, "type": "string" - } - }, - "type": "object" - }, - "CloudSQLMigrationConfig": { - "description": "Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore.", - "id": "CloudSQLMigrationConfig", - "properties": { - "cdcConfig": { - "$ref": "CdcConfig", - "description": "Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration." }, - "cloudSqlConnectionConfig": { - "$ref": "CloudSQLConnectionConfig", - "description": "Required. Configuration information to establish customer database connection before the cutover phase of migration" + "databaseSummaries": { + "description": "Output only. Summary of results for each database in the catalog.", + "items": { + "$ref": "DatabaseSummary" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -2151,6 +2218,87 @@ }, "type": "object" }, + "DatabaseReport": { + "description": "Aggregated report at the database level.", + "id": "DatabaseReport", + "properties": { + "database": { + "description": "The name of the database.", + "type": "string" + }, + "executionPlan": { + "$ref": "ExecutionPlan", + "description": "The discovered intent for the database (what we found and what we planned)." + }, + "executionResult": { + "$ref": "ExecutionResult", + "description": "The actual outcome of the database migration." + }, + "tableReports": { + "additionalProperties": { + "$ref": "TableReport" + }, + "description": "A map of table names to their respective reports.", + "type": "object" + } + }, + "type": "object" + }, + "DatabaseSummary": { + "description": "Summary of results for a specific database in a catalog.", + "id": "DatabaseSummary", + "properties": { + "database": { + "description": "Output only. The name of the database.", + "readOnly": true, + "type": "string" + }, + "planAction": { + "description": "Output only. The migration plan action for the database.", + "enum": [ + "ACTION_UNSPECIFIED", + "CREATE", + "UPDATE", + "SKIP", + "DEPENDENCY_FAILURE", + "ERROR" + ], + "enumDescriptions": [ + "The action is unspecified.", + "Resource missing; will be created.", + "Resource exists at the target, but differs from the source; will be updated.", + "Resource exists at the target; no changes will be made.", + "Resource cannot be migrated due to a dependency failure (e.g., parent resource missing).", + "Resource cannot be migrated due to an error during discovery." + ], + "readOnly": true, + "type": "string" + }, + "resultStatus": { + "description": "Output only. The migration result status for the database. This is only set if the migration is not a dry run.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "SKIPPED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The resource was migrated successfully.", + "The resource failed to migrate.", + "The resource was skipped and will not be migrated." + ], + "readOnly": true, + "type": "string" + }, + "tableSummary": { + "$ref": "TableSummary", + "description": "Output only. Aggregated summary of results for all tables in the database.", + "readOnly": true + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } ", "id": "Empty", @@ -2182,6 +2330,76 @@ }, "type": "object" }, + "ExecutionPlan": { + "description": "Represents the migration plan for a specific resource (e.g. Database, Table).", + "id": "ExecutionPlan", + "properties": { + "action": { + "description": "The action that will be taken for a resource during migration.", + "enum": [ + "ACTION_UNSPECIFIED", + "CREATE", + "UPDATE", + "SKIP", + "DEPENDENCY_FAILURE", + "ERROR" + ], + "enumDescriptions": [ + "The action is unspecified.", + "Resource missing; will be created.", + "Resource exists at the target, but differs from the source; will be updated.", + "Resource exists at the target; no changes will be made.", + "Resource cannot be migrated due to a dependency failure (e.g., parent resource missing).", + "Resource cannot be migrated due to an error during discovery." + ], + "type": "string" + }, + "diffs": { + "additionalProperties": { + "$ref": "ValueDiff" + }, + "description": "A map of field names to their respective value diff.", + "type": "object" + }, + "reason": { + "description": "A human-readable string explaining why the action was chosen.", + "type": "string" + } + }, + "type": "object" + }, + "ExecutionResult": { + "description": "Represents the actual migration result for a specific resource (e.g. Database, Table).", + "id": "ExecutionResult", + "properties": { + "errorMessage": { + "description": "Description of the error if the state is FAILED.", + "type": "string" + }, + "remediation": { + "description": "Remediation steps for the error if the state is FAILED.", + "type": "string" + }, + "state": { + "description": "Output only. The state of the migration for a resource.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "SKIPPED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The resource was migrated successfully.", + "The resource failed to migrate.", + "The resource was skipped and will not be migrated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ExportMetadataRequest": { "description": "Request message for DataprocMetastore.ExportMetadata.", "id": "ExportMetadataRequest", @@ -2318,6 +2536,24 @@ }, "type": "object" }, + "HiveConfig": { + "description": "Configuration for migrating Hive metadata.", + "id": "HiveConfig", + "properties": { + "catalog": { + "description": "Required. The target catalog for migrated databases and tables. Format: \"projects/{project_id_or_number}/catalogs/{catalog_id}\"", + "type": "string" + }, + "databases": { + "description": "Required. The list of databases to migrate to the Hive catalog. Use \"*\" to migrate all databases. Note: If Iceberg tables exist in these databases, they will only be migrated if iceberg_config is also specified.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "HiveMetastoreConfig": { "description": "Specifies configuration information specific to running Hive metastore software as the metastore service.", "id": "HiveMetastoreConfig", @@ -2376,6 +2612,24 @@ }, "type": "object" }, + "IcebergConfig": { + "description": "Configuration for migrating Iceberg metadata.", + "id": "IcebergConfig", + "properties": { + "catalog": { + "description": "Required. The target catalog for migrated Iceberg metadata. Format: \"projects/{project_id_or_number}/catalogs/{catalog_id}\"", + "type": "string" + }, + "namespaces": { + "description": "Required. The list of namespaces to migrate to the Iceberg REST catalog. Use \"*\" to migrate all namespaces. Note: If Hive tables exist in these namespaces, they will only be migrated if hive_config is also specified.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "KerberosConfig": { "description": "Configuration information for a Kerberos principal.", "id": "KerberosConfig", @@ -2877,10 +3131,9 @@ "description": "The details of a migration execution resource.", "id": "MigrationExecution", "properties": { - "cloudSqlMigrationConfig": { - "$ref": "CloudSQLMigrationConfig", - "deprecated": true, - "description": "Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore." + "biglakeMetastoreMigrationConfig": { + "$ref": "BigLakeMetastoreMigrationConfig", + "description": "Configuration information specific to migrating from Dataproc Metastore to BigLake Metastore." }, "createTime": { "description": "Output only. The time when the migration execution was started.", @@ -2952,6 +3205,57 @@ }, "type": "object" }, + "MigrationReport": { + "description": "Report containing the results of a migration run. This report is generated at the specified path in the BigLakeMetastoreMigrationConfig after the backfill is complete, or when a dry run is executed.", + "id": "MigrationReport", + "properties": { + "catalogReports": { + "description": "Output only. Detailed results for each catalog involved in the migration.", + "items": { + "$ref": "CatalogReport" + }, + "readOnly": true, + "type": "array" + }, + "summary": { + "$ref": "MigrationSummary", + "description": "Output only. High-level summary of the migration results.", + "readOnly": true + } + }, + "type": "object" + }, + "MigrationSummary": { + "description": "Summary of the migration results.", + "id": "MigrationSummary", + "properties": { + "catalogSummaries": { + "description": "Output only. Summary of results for each catalog involved in the migration.", + "items": { + "$ref": "CatalogSummary" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. The UTC time when this report was finalized.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dryRun": { + "description": "Output only. Whether the migration was a dry run.", + "readOnly": true, + "type": "boolean" + }, + "service": { + "description": "Output only. The Dataproc Metastore service name (format: projects/*/locations/*/services/*) on which the migration was executed.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "MoveTableToDatabaseRequest": { "description": "Request message for DataprocMetastore.MoveTableToDatabase.", "id": "MoveTableToDatabaseRequest", @@ -3093,6 +3397,40 @@ }, "type": "object" }, + "PartitionReport": { + "description": "Partition migration report for a Hive table.", + "id": "PartitionReport", + "properties": { + "partitionFailedCount": { + "description": "The number of partitions that failed to migrate at the target.", + "format": "int64", + "type": "string" + }, + "partitionSuccessCount": { + "description": "The number of partitions successfully migrated at the target.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "Output only. The state of the partition migration.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "PARTIALLY_SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "All partitions migrated successfully at the target.", + "Some partitions migrated successfully at the target, but others failed.", + "All partitions failed to migrate at the target." + ], + "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", @@ -3531,6 +3869,10 @@ "$ref": "MigrationExecution", "description": "Required. The configuration details for the migration." }, + "migrationExecutionId": { + "description": "Optional. The ID to use for the migration execution, which will become the final component of the migration execution's resource name. If not specified, a UUID will be generated.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and valid characters are a-z0-9-.", + "type": "string" + }, "requestId": { "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", "type": "string" @@ -3594,6 +3936,77 @@ }, "type": "object" }, + "TableReport": { + "description": "Aggregated report at the table level.", + "id": "TableReport", + "properties": { + "executionPlan": { + "$ref": "ExecutionPlan", + "description": "The discovered intent for the table (what we found and what we planned)." + }, + "executionResult": { + "$ref": "ExecutionResult", + "description": "The actual outcome of the table migration." + }, + "partitionDiscoveredCount": { + "description": "The total number of partitions identified at the source during discovery. This is only relevant for Hive Partitioned tables.", + "format": "int64", + "type": "string" + }, + "partitionReport": { + "$ref": "PartitionReport", + "description": "Report containing the results of partition migration for this table. This is only relevant for Hive Partitioned tables." + }, + "table": { + "description": "The name of the table.", + "type": "string" + } + }, + "type": "object" + }, + "TableSummary": { + "description": "Aggregated summary of results for all tables in a database.", + "id": "TableSummary", + "properties": { + "partitionDiscoveredCount": { + "description": "Output only. Partition migration summary across all Hive tables in the database.The total number of partitions discovered at the source.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "partitionFailedCount": { + "description": "Output only. The total number of partitions that failed to migrate at the target.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "partitionSuccessCount": { + "description": "Output only. The total number of partitions successfully migrated at the target.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "planCounts": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Output only. Number of tables with a specific migration plan action. The key is the action name (e.g. CREATE, UPDATE, SKIP, etc.).", + "readOnly": true, + "type": "object" + }, + "resultCounts": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Output only. Number of tables with a specific migration result status. The key is the status name (e.g. SUCCEEDED, FAILED, SKIPPED, etc.). This is only set if the migration is not a dry run.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, "TelemetryConfig": { "description": "Telemetry Configuration for the Dataproc Metastore service.", "id": "TelemetryConfig", @@ -3642,6 +4055,21 @@ } }, "type": "object" + }, + "ValueDiff": { + "description": "A field-level metadata mismatch for a resource between the source and target.", + "id": "ValueDiff", + "properties": { + "sourceValue": { + "description": "The value of the field at the source.", + "type": "string" + }, + "targetValue": { + "description": "The value of the field at the target.", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/metastore-v1alpha.json b/discovery/metastore-v1alpha.json index 964de0e3060..8c82ace6d52 100644 --- a/discovery/metastore-v1alpha.json +++ b/discovery/metastore-v1alpha.json @@ -1807,7 +1807,7 @@ } } }, - "revision": "20260811", + "revision": "20260825", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -2109,11 +2109,13 @@ "description": "Required. Defines the behavior of the migration execution.", "enum": [ "MIGRATION_MODE_UNSPECIFIED", - "BACKFILL" + "BACKFILL", + "INCREMENTAL_SYNC" ], "enumDescriptions": [ "The migration mode is unspecified.", - "Performs the metadata migration of requested resources. The migration completes once the backfill is finished." + "Performs the metadata migration of requested resources. The migration completes once the backfill is finished.", + "Performs the initial backfill, then transitions to an incremental synchronization state to replicate ongoing source writes. Requires an explicit CompleteMigration or CancelMigration call to end the migration. Note: Supported only for Iceberg migrations." ], "type": "string" }, @@ -2236,96 +2238,6 @@ }, "type": "object" }, - "CdcConfig": { - "description": "Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore.", - "id": "CdcConfig", - "properties": { - "bucket": { - "description": "Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like \"gs://\". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used.", - "type": "string" - }, - "password": { - "description": "Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request.", - "type": "string" - }, - "reverseProxySubnet": { - "description": "Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", - "type": "string" - }, - "rootPath": { - "description": "Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration.", - "type": "string" - }, - "subnetIpRange": { - "description": "Required. A /29 CIDR IP range for peering with datastream.", - "type": "string" - }, - "username": { - "description": "Required. The username that the Datastream service should use for the MySQL connection.", - "type": "string" - }, - "vpcNetwork": { - "description": "Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id}/locations/global/networks/{network_id}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity", - "type": "string" - } - }, - "type": "object" - }, - "CloudSQLConnectionConfig": { - "description": "Configuration information to establish customer database connection before the cutover phase of migration", - "id": "CloudSQLConnectionConfig", - "properties": { - "hiveDatabaseName": { - "description": "Required. The hive database name.", - "type": "string" - }, - "instanceConnectionName": { - "description": "Required. Cloud SQL database connection name (project_id:region:instance_name)", - "type": "string" - }, - "ipAddress": { - "description": "Required. The private IP address of the Cloud SQL instance.", - "type": "string" - }, - "natSubnet": { - "description": "Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", - "type": "string" - }, - "password": { - "description": "Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request.", - "type": "string" - }, - "port": { - "description": "Required. The network port of the database.", - "format": "int32", - "type": "integer" - }, - "proxySubnet": { - "description": "Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", - "type": "string" - }, - "username": { - "description": "Required. The username that Dataproc Metastore service will use to connect to the database.", - "type": "string" - } - }, - "type": "object" - }, - "CloudSQLMigrationConfig": { - "description": "Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore.", - "id": "CloudSQLMigrationConfig", - "properties": { - "cdcConfig": { - "$ref": "CdcConfig", - "description": "Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration." - }, - "cloudSqlConnectionConfig": { - "$ref": "CloudSQLConnectionConfig", - "description": "Required. Configuration information to establish customer database connection before the cutover phase of migration" - } - }, - "type": "object" - }, "CompleteMigrationRequest": { "description": "Request message for DataprocMetastore.CompleteMigration.", "id": "CompleteMigrationRequest", @@ -3419,11 +3331,6 @@ "$ref": "BigLakeMetastoreMigrationConfig", "description": "Configuration information specific to migrating from Dataproc Metastore to BigLake Metastore." }, - "cloudSqlMigrationConfig": { - "$ref": "CloudSQLMigrationConfig", - "deprecated": true, - "description": "Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore." - }, "createTime": { "description": "Output only. The time when the migration execution was started.", "format": "google-datetime", @@ -4230,6 +4137,10 @@ "$ref": "MigrationExecution", "description": "Required. The configuration details for the migration." }, + "migrationExecutionId": { + "description": "Optional. The ID to use for the migration execution, which will become the final component of the migration execution's resource name. If not specified, a UUID will be generated.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and valid characters are a-z0-9-.", + "type": "string" + }, "requestId": { "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", "type": "string" diff --git a/discovery/metastore-v1beta.json b/discovery/metastore-v1beta.json index ac41bd6bcf4..617b7a044cd 100644 --- a/discovery/metastore-v1beta.json +++ b/discovery/metastore-v1beta.json @@ -1807,7 +1807,7 @@ } } }, - "revision": "20260811", + "revision": "20260825", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -2109,11 +2109,13 @@ "description": "Required. Defines the behavior of the migration execution.", "enum": [ "MIGRATION_MODE_UNSPECIFIED", - "BACKFILL" + "BACKFILL", + "INCREMENTAL_SYNC" ], "enumDescriptions": [ "The migration mode is unspecified.", - "Performs the metadata migration of requested resources. The migration completes once the backfill is finished." + "Performs the metadata migration of requested resources. The migration completes once the backfill is finished.", + "Performs the initial backfill, then transitions to an incremental synchronization state to replicate ongoing source writes. Requires an explicit CompleteMigration or CancelMigration call to end the migration. Note: Supported only for Iceberg migrations." ], "type": "string" }, @@ -2236,96 +2238,6 @@ }, "type": "object" }, - "CdcConfig": { - "description": "Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore.", - "id": "CdcConfig", - "properties": { - "bucket": { - "description": "Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like \"gs://\". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used.", - "type": "string" - }, - "password": { - "description": "Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request.", - "type": "string" - }, - "reverseProxySubnet": { - "description": "Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", - "type": "string" - }, - "rootPath": { - "description": "Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration.", - "type": "string" - }, - "subnetIpRange": { - "description": "Required. A /29 CIDR IP range for peering with datastream.", - "type": "string" - }, - "username": { - "description": "Required. The username that the Datastream service should use for the MySQL connection.", - "type": "string" - }, - "vpcNetwork": { - "description": "Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id}/locations/global/networks/{network_id}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity", - "type": "string" - } - }, - "type": "object" - }, - "CloudSQLConnectionConfig": { - "description": "Configuration information to establish customer database connection before the cutover phase of migration", - "id": "CloudSQLConnectionConfig", - "properties": { - "hiveDatabaseName": { - "description": "Required. The hive database name.", - "type": "string" - }, - "instanceConnectionName": { - "description": "Required. Cloud SQL database connection name (project_id:region:instance_name)", - "type": "string" - }, - "ipAddress": { - "description": "Required. The private IP address of the Cloud SQL instance.", - "type": "string" - }, - "natSubnet": { - "description": "Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", - "type": "string" - }, - "password": { - "description": "Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request.", - "type": "string" - }, - "port": { - "description": "Required. The network port of the database.", - "format": "int32", - "type": "integer" - }, - "proxySubnet": { - "description": "Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", - "type": "string" - }, - "username": { - "description": "Required. The username that Dataproc Metastore service will use to connect to the database.", - "type": "string" - } - }, - "type": "object" - }, - "CloudSQLMigrationConfig": { - "description": "Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore.", - "id": "CloudSQLMigrationConfig", - "properties": { - "cdcConfig": { - "$ref": "CdcConfig", - "description": "Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration." - }, - "cloudSqlConnectionConfig": { - "$ref": "CloudSQLConnectionConfig", - "description": "Required. Configuration information to establish customer database connection before the cutover phase of migration" - } - }, - "type": "object" - }, "CompleteMigrationRequest": { "description": "Request message for DataprocMetastore.CompleteMigration.", "id": "CompleteMigrationRequest", @@ -3419,11 +3331,6 @@ "$ref": "BigLakeMetastoreMigrationConfig", "description": "Configuration information specific to migrating from Dataproc Metastore to BigLake Metastore." }, - "cloudSqlMigrationConfig": { - "$ref": "CloudSQLMigrationConfig", - "deprecated": true, - "description": "Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore." - }, "createTime": { "description": "Output only. The time when the migration execution was started.", "format": "google-datetime", @@ -4230,6 +4137,10 @@ "$ref": "MigrationExecution", "description": "Required. The configuration details for the migration." }, + "migrationExecutionId": { + "description": "Optional. The ID to use for the migration execution, which will become the final component of the migration execution's resource name. If not specified, a UUID will be generated.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and valid characters are a-z0-9-.", + "type": "string" + }, "requestId": { "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", "type": "string" diff --git a/discovery/mybusinessbusinessinformation-v1.json b/discovery/mybusinessbusinessinformation-v1.json index f4fc058ef7b..c65a5a656da 100644 --- a/discovery/mybusinessbusinessinformation-v1.json +++ b/discovery/mybusinessbusinessinformation-v1.json @@ -612,7 +612,7 @@ } } }, - "revision": "20260809", + "revision": "20260826", "rootUrl": "https://mybusinessbusinessinformation.googleapis.com/", "schemas": { "AdWordsLocationExtensions": { @@ -1647,10 +1647,10 @@ "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. It must be specified if `closed` is `false`. Note: In Proto3 JSON mapping, default zero values (`00:00`) are omitted, producing `{}` for `close_time`." + "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.", + "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": { @@ -1659,7 +1659,7 @@ }, "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. It must be specified if `closed` is `false`. Note: In Proto3 JSON mapping, default zero values (`00:00`) are omitted, producing `{}` for `open_time`." + "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", @@ -1754,7 +1754,7 @@ }, "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. Note: In Proto3 JSON mapping, default zero values (`00:00`) are omitted, producing `{}` for `close_time`." + "description": "Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Note: In Proto3 JSON mapping, default zero values (00:00) are omitted, producing `{}` for close_time." }, "openDay": { "description": "Required. Indicates the day of the week this period starts on.", @@ -1782,7 +1782,7 @@ }, "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. Note: In Proto3 JSON mapping, default zero values (`00:00`) are omitted, producing `{}` for `open_time`." + "description": "Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Note: In Proto3 JSON mapping, default zero values (00:00) are omitted, producing `{}` for open_time." } }, "type": "object" diff --git a/discovery/networksecurity-v1.json b/discovery/networksecurity-v1.json index 8f6928cace6..46167ad93a6 100644 --- a/discovery/networksecurity-v1.json +++ b/discovery/networksecurity-v1.json @@ -6141,7 +6141,7 @@ } } }, - "revision": "20260729", + "revision": "20260824", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -6353,18 +6353,20 @@ "id": "AuthzPolicy", "properties": { "action": { - "description": "Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request.", + "description": "Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`, `DENY_BY_DEFAULT`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When the action is `DENY_BY_DEFAULT`, no `http_rules` or `network_rules` can be specified. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If any of the `ALLOW` policies match the request, the request is allowed. 4. If a `DENY_BY_DEFAULT` policy is applied to the resource, the request is denied (unless it was explicitly allowed by a `CUSTOM` or `ALLOW` policy). 5. Else, the request is allowed by default if no other policies are configured.", "enum": [ "AUTHZ_ACTION_UNSPECIFIED", "ALLOW", "DENY", - "CUSTOM" + "CUSTOM", + "DENY_BY_DEFAULT" ], "enumDescriptions": [ "Unspecified action.", "Allow request to pass through to the backend.", "Deny the request and return a HTTP 404 to the client.", - "Delegate the authorization decision to an external authorization engine." + "Delegate the authorization decision to an external authorization engine.", + "Establishes a secure-by-default posture by denying any request not explicitly matched by any `ALLOW`, `DENY`, or `CUSTOM` policy. This action serves as a universal fallback: if no other policies match or are configured, the request is denied." ], "type": "string" }, @@ -6728,7 +6730,7 @@ "id": "AuthzPolicyAuthzRuleToRequestOperationMCPMethod", "properties": { "name": { - "description": "Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2.", + "description": "Required. The MCP method to match against. Allowed values include: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2.", "type": "string" }, "params": { @@ -6781,7 +6783,7 @@ "id": "AuthzPolicyTarget", "properties": { "loadBalancingScheme": { - "description": "Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", + "description": "Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values include `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", "enum": [ "LOAD_BALANCING_SCHEME_UNSPECIFIED", "INTERNAL_MANAGED", @@ -9848,6 +9850,20 @@ "description": "Required. A CA pool resource used to issue interception certificates. The CA pool string has a relative resource path following the form \"projects/{project}/locations/{location}/caPools/{ca_pool}\".", "type": "string" }, + "certificateIssuanceMode": { + "description": "Optional. The mode used to issue certificates (local CA signing vs direct leaf).", + "enum": [ + "CERTIFICATE_ISSUANCE_MODE_UNSPECIFIED", + "DIRECT_LEAF_PROVISIONING", + "LOCAL_INTERMEDIATE_CA_SIGNING" + ], + "enumDescriptions": [ + "Unspecified default mode.", + "Fallback: Direct Private CA leaf certificate provisioning.", + "High-speed Local Intermediate CA signing." + ], + "type": "string" + }, "createTime": { "description": "Output only. The timestamp when the resource was created.", "format": "google-datetime", diff --git a/discovery/networksecurity-v1beta1.json b/discovery/networksecurity-v1beta1.json index d369c039ee5..3f65ece5a06 100644 --- a/discovery/networksecurity-v1beta1.json +++ b/discovery/networksecurity-v1beta1.json @@ -6346,7 +6346,7 @@ } } }, - "revision": "20260729", + "revision": "20260824", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -6558,18 +6558,20 @@ "id": "AuthzPolicy", "properties": { "action": { - "description": "Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request.", + "description": "Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`, `DENY_BY_DEFAULT`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When the action is `DENY_BY_DEFAULT`, no `http_rules` or `network_rules` can be specified. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If any of the `ALLOW` policies match the request, the request is allowed. 4. If a `DENY_BY_DEFAULT` policy is applied to the resource, the request is denied (unless it was explicitly allowed by a `CUSTOM` or `ALLOW` policy). 5. Else, the request is allowed by default if no other policies are configured.", "enum": [ "AUTHZ_ACTION_UNSPECIFIED", "ALLOW", "DENY", - "CUSTOM" + "CUSTOM", + "DENY_BY_DEFAULT" ], "enumDescriptions": [ "Unspecified action.", "Allow request to pass through to the backend.", "Deny the request and return a HTTP 404 to the client.", - "Delegate the authorization decision to an external authorization engine." + "Delegate the authorization decision to an external authorization engine.", + "Establishes a secure-by-default posture by denying any request not explicitly matched by any `ALLOW`, `DENY`, or `CUSTOM` policy. This action serves as a universal fallback: if no other policies match or are configured, the request is denied." ], "type": "string" }, @@ -6933,7 +6935,7 @@ "id": "AuthzPolicyAuthzRuleToRequestOperationMCPMethod", "properties": { "name": { - "description": "Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2.", + "description": "Required. The MCP method to match against. Allowed values include: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2.", "type": "string" }, "params": { @@ -6986,7 +6988,7 @@ "id": "AuthzPolicyTarget", "properties": { "loadBalancingScheme": { - "description": "Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", + "description": "Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values include `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", "enum": [ "LOAD_BALANCING_SCHEME_UNSPECIFIED", "INTERNAL_MANAGED", @@ -7325,6 +7327,11 @@ "$ref": "FirewallEndpointEndpointSettings", "description": "Optional. Settings for the endpoint." }, + "explicitPrivateServiceConnectAttachment": { + "description": "Output only. The resource name of the explicit PSC Attachment. Format: projects/{project}/regions/{region}/serviceAttachments/{id}", + "readOnly": true, + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -7499,7 +7506,7 @@ "ITALY" ], "enumDescriptions": [ - "PAN content cloud region not specified.", + "Palo Alto Networks content cloud region not specified.", "us.hawkeye.services-edge.paloaltonetworks.com", "APAC content cloud portal: apac.hawkeye.services-edge.paloaltonetworks.com", "India content cloud portal: in.hawkeye.services-edge.paloaltonetworks.com", @@ -7563,7 +7570,7 @@ "type": "string" }, "wildfireRegion": { - "description": "Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud", + "description": "Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud", "enum": [ "WILDFIRE_REGION_UNSPECIFIED", "CANADA", @@ -10321,6 +10328,20 @@ "description": "Required. A CA pool resource used to issue interception certificates. The CA pool string has a relative resource path following the form \"projects/{project}/locations/{location}/caPools/{ca_pool}\".", "type": "string" }, + "certificateIssuanceMode": { + "description": "Optional. The mode used to issue certificates (local CA signing vs direct leaf).", + "enum": [ + "CERTIFICATE_ISSUANCE_MODE_UNSPECIFIED", + "DIRECT_LEAF_PROVISIONING", + "LOCAL_INTERMEDIATE_CA_SIGNING" + ], + "enumDescriptions": [ + "Unspecified default mode.", + "Fallback: Direct Private CA leaf certificate provisioning.", + "High-speed Local Intermediate CA signing." + ], + "type": "string" + }, "createTime": { "description": "Output only. The timestamp when the resource was created.", "format": "google-datetime", diff --git a/discovery/networkservices-v1beta1.json b/discovery/networkservices-v1beta1.json index 550dcc27c98..5f647774018 100644 --- a/discovery/networkservices-v1beta1.json +++ b/discovery/networkservices-v1beta1.json @@ -699,6 +699,188 @@ } } }, + "cdnEdgeExtensions": { + "methods": { + "create": { + "description": "Creates a new `CdnEdgeExtension` resource in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cdnEdgeExtensions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.cdnEdgeExtensions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "cdnEdgeExtensionId": { + "description": "Required. User-provided ID of the `CdnEdgeExtension` resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the `CdnEdgeExtension` resource. Must be in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID 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}/cdnEdgeExtensions", + "request": { + "$ref": "CdnEdgeExtension" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `CdnEdgeExtension` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cdnEdgeExtensions/{cdnEdgeExtensionsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.cdnEdgeExtensions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `CdnEdgeExtension` resource to delete. Must be in the format `projects/{project}/locations/{location}/cdnEdgeExtensions/{cdn_edge_extension}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cdnEdgeExtensions/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID 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}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `CdnEdgeExtension` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cdnEdgeExtensions/{cdnEdgeExtensionsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.cdnEdgeExtensions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `CdnEdgeExtension` resource to get. Must be in the format `projects/{project}/locations/{location}/cdnEdgeExtensions/{cdn_edge_extension}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cdnEdgeExtensions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "CdnEdgeExtension" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `CdnEdgeExtensions` resources in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cdnEdgeExtensions", + "httpMethod": "GET", + "id": "networkservices.projects.locations.cdnEdgeExtensions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint about how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results that the server returns.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the `CdnEdgeExtension` resources are listed. These values are specified in the following format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/cdnEdgeExtensions", + "response": { + "$ref": "ListCdnEdgeExtensionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of the specified `CdnEdgeExtension` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/cdnEdgeExtensions/{cdnEdgeExtensionsId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.cdnEdgeExtensions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Identifier. Name of the `CdnEdgeExtension` resource in the following format: `projects/{project}/locations/{location}/cdnEdgeExtensions/{cdn_edge_extension}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cdnEdgeExtensions/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request 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. Used to specify the fields to be overwritten in the `CdnEdgeExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "CdnEdgeExtension" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "endpointPolicies": { "methods": { "create": { @@ -3734,7 +3916,7 @@ } } }, - "revision": "20260816", + "revision": "20260821", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AgentConnectivityTemplate": { @@ -4141,6 +4323,65 @@ "properties": {}, "type": "object" }, + "CdnEdgeExtension": { + "description": "`CdnEdgeExtension` is a resource that lets the extension service modify the headers of both requests to the cache and responses from the cache served by an [`EdgeCacheService`](https://cloud.google.com/media-cdn/docs/reference/rest/v1/projects.locations.edgeCacheServices).", + "id": "CdnEdgeExtension", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "extensionChains": { + "description": "Required. A set of ordered extension chains that contain the match conditions and extensions to execute. Match conditions for each extension chain are evaluated in sequence for a given request. The first extension chain that has a condition that matches the request is executed. Any subsequent extension chains do not execute. Limited to 5 extension chains per resource.", + "items": { + "$ref": "ExtensionChain" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `CdnEdgeExtension` resource. The format must comply with [the requirements for labels](https://cloud.google.com/compute/docs/labeling-resources#requirements) for Google Cloud resources.", + "type": "object" + }, + "name": { + "description": "Required. Identifier. Name of the `CdnEdgeExtension` resource in the following format: `projects/{project}/locations/{location}/cdnEdgeExtensions/{cdn_edge_extension}`.", + "type": "string" + }, + "target": { + "$ref": "CdnEdgeExtensionTarget", + "description": "Required. Specifies the set of resources to which this extension should be applied to." + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CdnEdgeExtensionTarget": { + "description": "Specifies the set of targets to which `CdnEdgeExtension` should be applied to.", + "id": "CdnEdgeExtensionTarget", + "properties": { + "resources": { + "description": "Required. A list of references to the resources that are targeted by `CdnEdgeExtension`. Types of resources supported: `EdgeCacheService`. The format must be the full resource name of [EdgeCacheService](https://cloud.google.com/media-cdn/docs/reference/rest/v1/projects.locations.edgeCacheServices) in the following format: `//networkservices.googleapis.com/projects/{project}/locations/{location}/edgeCacheServices/{edgeCacheService}`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "DnsPeeringConfig": { "description": "DNS Peering configuration.", "id": "DnsPeeringConfig", @@ -6024,6 +6265,31 @@ }, "type": "object" }, + "ListCdnEdgeExtensionsResponse": { + "description": "Message for response to listing `CdnEdgeExtension` resources.", + "id": "ListCdnEdgeExtensionsResponse", + "properties": { + "cdnEdgeExtensions": { + "description": "The list of `CdnEdgeExtension` resources.", + "items": { + "$ref": "CdnEdgeExtension" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results that the server returns.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListEndpointPoliciesResponse": { "description": "Response returned by the ListEndpointPolicies method.", "id": "ListEndpointPoliciesResponse", diff --git a/discovery/ondemandscanning-v1.json b/discovery/ondemandscanning-v1.json index 8a1d1d50bfa..c1ac991676d 100644 --- a/discovery/ondemandscanning-v1.json +++ b/discovery/ondemandscanning-v1.json @@ -344,7 +344,7 @@ } } }, - "revision": "20260821", + "revision": "20260828", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AISkillAnalysisOccurrence": { @@ -2172,6 +2172,10 @@ "Scan was not performed." ], "type": "string" + }, + "tokenUsage": { + "$ref": "TokenUsage", + "description": "Telemetry metrics tracking token usage for the AI scan." } }, "type": "object" @@ -3465,6 +3469,38 @@ }, "type": "object" }, + "TokenUsage": { + "description": "Token usage associated with an AI scan.", + "id": "TokenUsage", + "properties": { + "cacheCount": { + "description": "Cache matched tokens for implicit cache.", + "format": "int64", + "type": "string" + }, + "candidateCount": { + "description": "Tokens in the model response.", + "format": "int64", + "type": "string" + }, + "promptCount": { + "description": "Tokens in the user request.", + "format": "int64", + "type": "string" + }, + "thinkingCount": { + "description": "Tokens in the thinking output.", + "format": "int64", + "type": "string" + }, + "toolUsePromptCount": { + "description": "Prompt tokens for using tools.", + "format": "int64", + "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", diff --git a/discovery/ondemandscanning-v1beta1.json b/discovery/ondemandscanning-v1beta1.json index e360e855fcd..3043b1946b7 100644 --- a/discovery/ondemandscanning-v1beta1.json +++ b/discovery/ondemandscanning-v1beta1.json @@ -344,7 +344,7 @@ } } }, - "revision": "20260821", + "revision": "20260828", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AISkillAnalysisOccurrence": { @@ -2167,6 +2167,10 @@ "Scan was not performed." ], "type": "string" + }, + "tokenUsage": { + "$ref": "TokenUsage", + "description": "Telemetry metrics tracking token usage for the AI scan." } }, "type": "object" @@ -3460,6 +3464,38 @@ }, "type": "object" }, + "TokenUsage": { + "description": "Token usage associated with an AI scan.", + "id": "TokenUsage", + "properties": { + "cacheCount": { + "description": "Cache matched tokens for implicit cache.", + "format": "int64", + "type": "string" + }, + "candidateCount": { + "description": "Tokens in the model response.", + "format": "int64", + "type": "string" + }, + "promptCount": { + "description": "Tokens in the user request.", + "format": "int64", + "type": "string" + }, + "thinkingCount": { + "description": "Tokens in the thinking output.", + "format": "int64", + "type": "string" + }, + "toolUsePromptCount": { + "description": "Prompt tokens for using tools.", + "format": "int64", + "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", diff --git a/discovery/parametermanager-v1.json b/discovery/parametermanager-v1.json index 281231f002b..dfec250afec 100644 --- a/discovery/parametermanager-v1.json +++ b/discovery/parametermanager-v1.json @@ -235,6 +235,16 @@ "description": "Regional Endpoint", "endpointUrl": "https://parametermanager.eu.rep.googleapis.com/", "location": "eu" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://parametermanager.ca.rep.googleapis.com/", + "location": "ca" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://parametermanager.in.rep.googleapis.com/", + "location": "in" } ], "fullyEncodeReservedExpansion": true, @@ -1227,7 +1237,7 @@ } } }, - "revision": "20260629", + "revision": "20260831", "rootUrl": "https://parametermanager.googleapis.com/", "schemas": { "Empty": { @@ -1434,6 +1444,13 @@ "description": "Output only. [Output-only] policy member strings of a Google Cloud resource.", "readOnly": true }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys and tag values that are bound to this Parameter. You must represent each item in the map as: `\"\" : \"\"`. For example, a single resource can have the following tags: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\", ``` Tags are used to organize and group resources. Tags can be used to control policy evaluation for the resource.", + "type": "object" + }, "updateTime": { "description": "Output only. [Output only] Update time stamp", "format": "google-datetime", @@ -1447,6 +1464,21 @@ "description": "Message describing ParameterVersion resource", "id": "ParameterVersion", "properties": { + "checksumSource": { + "description": "Optional. Output only. [Output only] The source of the checksum.", + "enum": [ + "CHECKSUM_SOURCE_UNSPECIFIED", + "SERVER_GENERATED", + "USER_SPECIFIED" + ], + "enumDescriptions": [ + "The default / unset value.", + "The checksum was generated by the server.", + "The checksum was provided by the user." + ], + "readOnly": true, + "type": "string" + }, "createTime": { "description": "Output only. [Output only] Create time stamp", "format": "google-datetime", @@ -1487,6 +1519,11 @@ "description": "Required. bytes data for storing payload.", "format": "byte", "type": "string" + }, + "dataCrc32c": { + "description": "Optional. [Optional] The integrity checksum of the payload. If provided, the server will verify that the checksum matches the payload. If not provided, the server will generate the checksum.", + "format": "int64", + "type": "string" } }, "type": "object" diff --git a/discovery/pubsub-v1.json b/discovery/pubsub-v1.json index fdd53b247dc..82adc4a9ca5 100644 --- a/discovery/pubsub-v1.json +++ b/discovery/pubsub-v1.json @@ -1798,7 +1798,7 @@ } } }, - "revision": "20260716", + "revision": "20260825", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AIInference": { @@ -2287,6 +2287,22 @@ }, "type": "object" }, + "CompiledProtoSchema": { + "description": "Configuration specific to compiled Protocol Buffer schemas.", + "id": "CompiledProtoSchema", + "properties": { + "compiledBytes": { + "description": "Required. The compiled FileDescriptorSet binary.", + "format": "byte", + "type": "string" + }, + "rootMessage": { + "description": "Required. The name of the root message type in the schema.", + "type": "string" + } + }, + "type": "object" + }, "Compression": { "description": "Configuration for compressing/decompressing message data using a user-specified compression algorithm.", "id": "Compression", @@ -2970,6 +2986,10 @@ "description": "A schema resource.", "id": "Schema", "properties": { + "compiledProtoSchema": { + "$ref": "CompiledProtoSchema", + "description": "Optional. Configuration for a schema provided as a pre-compiled Protocol Buffer FileDescriptorSet. The `type` field above must be set to PROTOCOL_BUFFER." + }, "definition": { "description": "The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`.", "type": "string" diff --git a/discovery/recaptchaenterprise-v1.json b/discovery/recaptchaenterprise-v1.json index 663ea89f95a..709b7b03d13 100644 --- a/discovery/recaptchaenterprise-v1.json +++ b/discovery/recaptchaenterprise-v1.json @@ -845,7 +845,7 @@ } } }, - "revision": "20260719", + "revision": "20260825", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { @@ -2496,6 +2496,11 @@ "readOnly": true, "type": "string" }, + "clientSignalsFailed": { + "description": "Output only. Indicates a failure collecting reCAPTCHA signals at token generation. This might be a transient condition, or persistent for a user’s environment.", + "readOnly": true, + "type": "boolean" + }, "createTime": { "description": "Output only. The timestamp corresponding to the generation of the token.", "format": "google-datetime", @@ -2915,7 +2920,7 @@ "type": "array" }, "challengeSecurityPreference": { - "description": "Optional. Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for `IntegrationType` CHECKBOX, INVISIBLE or POLICY_BASED_CHALLENGE.", + "description": "Optional. Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for `IntegrationType` CHECKBOX (defaults to BALANCE), INVISIBLE (defaults to USABILITY), or POLICY_BASED_CHALLENGE (defaults to USABILITY).", "enum": [ "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED", "USABILITY", diff --git a/discovery/retail-v2alpha.json b/discovery/retail-v2alpha.json index 399f5515bb4..fa508e10e09 100644 --- a/discovery/retail-v2alpha.json +++ b/discovery/retail-v2alpha.json @@ -2874,7 +2874,7 @@ } } }, - "revision": "20260813", + "revision": "20260826", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -4330,6 +4330,13 @@ "description": "Response of the autocomplete query.", "id": "GoogleCloudRetailV2alphaCompleteQueryResponse", "properties": { + "agentPrompts": { + "description": "Conversational prompts to trigger agents like Shopping Agent. This is an experimental feature for select customers.", + "items": { + "$ref": "GoogleCloudRetailV2alphaCompleteQueryResponseAgentPrompt" + }, + "type": "array" + }, "attributeResults": { "additionalProperties": { "$ref": "GoogleCloudRetailV2alphaCompleteQueryResponseAttributeResult" @@ -4359,6 +4366,17 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaCompleteQueryResponseAgentPrompt": { + "description": "A conversational prompt to trigger agents like Shopping Agent.", + "id": "GoogleCloudRetailV2alphaCompleteQueryResponseAgentPrompt", + "properties": { + "prompt": { + "description": "The conversational prompt string.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaCompleteQueryResponseAttributeResult": { "description": "Resource that represents attribute results.", "id": "GoogleCloudRetailV2alphaCompleteQueryResponseAttributeResult", @@ -4378,9 +4396,10 @@ "id": "GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResult", "properties": { "agentPrompts": { - "description": "Conversational prompts to trigger agents like Shopping Agent. There may be multiple prompts for a single suggestion. This is an experimental feature for select customers. If you want to receive this prompt information, reach out to the Retail support team.", + "deprecated": true, + "description": "Deprecated: Use CompleteQueryResponse.agent_prompts instead. Conversational prompts to trigger agents like Shopping Agent. There may be multiple prompts for a single suggestion. This is an experimental feature for select customers.", "items": { - "$ref": "GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResultAgentPrompt" + "$ref": "GoogleCloudRetailV2alphaCompleteQueryResponseAgentPrompt" }, "type": "array" }, @@ -4410,17 +4429,6 @@ }, "type": "object" }, - "GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResultAgentPrompt": { - "description": "A conversational prompt to trigger agents like Shopping Agent.", - "id": "GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResultAgentPrompt", - "properties": { - "prompt": { - "description": "The conversational prompt string.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult": { "deprecated": true, "description": "Deprecated: Recent search of this user.", diff --git a/discovery/run-v1.json b/discovery/run-v1.json index 332114f4b82..53ea16665d6 100644 --- a/discovery/run-v1.json +++ b/discovery/run-v1.json @@ -3652,7 +3652,7 @@ } } }, - "revision": "20260822", + "revision": "20260904", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -6976,7 +6976,7 @@ "additionalProperties": { "type": "string" }, - "description": "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. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision . * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision, Instance . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution, Instance. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution, Instance.", + "description": "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. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision, Instance. * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution, Instance. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution, Instance.", "type": "object" }, "clusterName": { diff --git a/discovery/run-v2.json b/discovery/run-v2.json index 38feb3af0c0..b87b51efb93 100644 --- a/discovery/run-v2.json +++ b/discovery/run-v2.json @@ -2228,10 +2228,6 @@ ], "maxSize": "262144000", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/v2/{+parent}:uploadSource" - }, "simple": { "multipart": true, "path": "/upload/v2/{+parent}:uploadSource" @@ -2673,7 +2669,7 @@ } } }, - "revision": "20260814", + "revision": "20260904", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -3095,7 +3091,7 @@ }, "sourceCode": { "$ref": "GoogleCloudRunV2SourceCode", - "description": "Optional. Location of the source." + "description": "Optional. Location of the source. This field is only supported in Cloud Run Service." }, "startupProbe": { "$ref": "GoogleCloudRunV2Probe", @@ -3930,6 +3926,10 @@ "serviceAccount": { "type": "string" }, + "sshEnabled": { + "description": "Optional. Enables SSH access to the Instance.", + "type": "boolean" + }, "terminalCondition": { "$ref": "GoogleCloudRunV2Condition", "description": "Output only. The Condition of this Instance, 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.", @@ -4092,6 +4092,20 @@ "readOnly": true, "type": "string" }, + "functionalType": { + "description": "Optional. The functional type of the Job.", + "enum": [ + "FUNCTIONAL_TYPE_UNSPECIFIED", + "FUNCTIONAL_TYPE_AGENT", + "FUNCTIONAL_TYPE_MCP_SERVER" + ], + "enumDescriptions": [ + "Specifies that the functional type is unspecified.", + "Represents an AGENT functional type.", + "Represents an MCP_SERVER functional type." + ], + "type": "string" + }, "generation": { "description": "Output only. A number that monotonically increases every time the user modifies the desired state.", "format": "int64", @@ -4726,6 +4740,10 @@ "vpcAccess": { "$ref": "GoogleCloudRunV2VpcAccess", "description": "VPC Access configuration for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." + }, + "workloadIdentityConfig": { + "$ref": "GoogleCloudRunV2WorkloadIdentityConfig", + "description": "Optional. The Revision's workload identity settings." } }, "type": "object" @@ -4891,6 +4909,10 @@ "vpcAccess": { "$ref": "GoogleCloudRunV2VpcAccess", "description": "Optional. VPC Access configuration to use for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." + }, + "workloadIdentityConfig": { + "$ref": "GoogleCloudRunV2WorkloadIdentityConfig", + "description": "Optional. The Revision's workload identity settings." } }, "type": "object" @@ -5019,10 +5041,6 @@ "description": "User-provided description of the Service. This field currently has a 512-character limit.", "type": "string" }, - "durableExecution": { - "description": "Optional. Immutable. Indicates whether the Service has durable execution enabled. This field is immutable once the Service is created.", - "type": "boolean" - }, "etag": { "description": "Optional. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", "type": "string" @@ -5033,6 +5051,20 @@ "readOnly": true, "type": "string" }, + "functionalType": { + "description": "Optional. The functional type of the Service.", + "enum": [ + "FUNCTIONAL_TYPE_UNSPECIFIED", + "FUNCTIONAL_TYPE_AGENT", + "FUNCTIONAL_TYPE_MCP_SERVER" + ], + "enumDescriptions": [ + "Specifies that the functional type is unspecified.", + "Represents an AGENT functional type.", + "Represents an MCP_SERVER functional type." + ], + "type": "string" + }, "generation": { "description": "Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.", "format": "int64", @@ -5256,7 +5288,7 @@ }, "inlinedSource": { "$ref": "GoogleCloudRunV2InlinedSource", - "description": "Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source." + "description": "Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source. This field is only supported in Cloud Run Service." } }, "type": "object" @@ -5627,6 +5659,10 @@ "$ref": "GoogleCloudRunV2VpcAccess", "description": "Output only. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.", "readOnly": true + }, + "workloadIdentityConfig": { + "$ref": "GoogleCloudRunV2WorkloadIdentityConfig", + "description": "Optional. The Task's workload identity settings." } }, "type": "object" @@ -5716,6 +5752,10 @@ "vpcAccess": { "$ref": "GoogleCloudRunV2VpcAccess", "description": "Optional. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." + }, + "workloadIdentityConfig": { + "$ref": "GoogleCloudRunV2WorkloadIdentityConfig", + "description": "Optional. The Task's workload identity settings." } }, "type": "object" @@ -6207,6 +6247,35 @@ }, "type": "object" }, + "GoogleCloudRunV2WorkloadIdentityConfig": { + "description": "Workload identity settings.", + "id": "GoogleCloudRunV2WorkloadIdentityConfig", + "properties": { + "identity": { + "description": "Optional. The Revision's SPIFFE workload identity. Enables provisioning of SPIFFE workload certificates.", + "type": "string" + }, + "identityCertificateEnabled": { + "description": "Optional. Controls whether an instance receives a MWLID certificate. Corresponds to the intention of the original --[no-]identity-certificate flag.", + "type": "boolean" + }, + "identityType": { + "description": "Optional. The type of identity to use.", + "enum": [ + "IDENTITY_TYPE_UNSPECIFIED", + "IDENTITY_TYPE_SERVICE_ACCOUNT", + "IDENTITY_TYPE_AGENT_IDENTITY" + ], + "enumDescriptions": [ + "Unspecified", + "Service account identity.", + "Agent identity." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDevtoolsCloudbuildV1ApprovalConfig": { "description": "ApprovalConfig describes configuration for manual approval of a build.", "id": "GoogleDevtoolsCloudbuildV1ApprovalConfig", diff --git a/discovery/secretmanager-v1beta2.json b/discovery/secretmanager-v1beta2.json index 9254e03c995..0643b6aa60b 100644 --- a/discovery/secretmanager-v1beta2.json +++ b/discovery/secretmanager-v1beta2.json @@ -265,6 +265,16 @@ "description": "Regional Endpoint", "endpointUrl": "https://secretmanager.in.rep.googleapis.com/", "location": "in" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.ch.rep.googleapis.com/", + "location": "ch" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://secretmanager.sa.rep.googleapis.com/", + "location": "sa" } ], "fullyEncodeReservedExpansion": true, @@ -1366,7 +1376,7 @@ } } }, - "revision": "20260731", + "revision": "20260814", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { diff --git a/discovery/serviceusage-v1.json b/discovery/serviceusage-v1.json index f56b8cdd87c..912627c4260 100644 --- a/discovery/serviceusage-v1.json +++ b/discovery/serviceusage-v1.json @@ -431,7 +431,7 @@ } } }, - "revision": "20260818", + "revision": "20260819", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AddEnableRulesMetadata": { @@ -1565,7 +1565,8 @@ "id": "EnableRule", "properties": { "enableType": { - "description": "Client and resource project enable type.", + "deprecated": true, + "description": "Deprecated: EnableType is not supported.", "enum": [ "ENABLE_TYPE_UNSPECIFIED", "CLIENT", diff --git a/discovery/serviceusage-v1beta1.json b/discovery/serviceusage-v1beta1.json index f788ec584e7..2dae57c8e20 100644 --- a/discovery/serviceusage-v1beta1.json +++ b/discovery/serviceusage-v1beta1.json @@ -969,7 +969,7 @@ } } }, - "revision": "20260818", + "revision": "20260819", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AddEnableRulesMetadata": { @@ -2156,7 +2156,8 @@ "id": "EnableRule", "properties": { "enableType": { - "description": "Client and resource project enable type.", + "deprecated": true, + "description": "Deprecated: EnableType is not supported.", "enum": [ "ENABLE_TYPE_UNSPECIFIED", "CLIENT", diff --git a/discovery/sqladmin-v1.json b/discovery/sqladmin-v1.json index b810742167e..0789f28cc36 100644 --- a/discovery/sqladmin-v1.json +++ b/discovery/sqladmin-v1.json @@ -664,6 +664,192 @@ } } }, + "blueGreenDeployments": { + "methods": { + "create": { + "description": "Creates a blue-green deployment under a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments", + "httpMethod": "POST", + "id": "sql.blueGreenDeployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "blueGreenDeploymentId": { + "description": "Required. The ID to use for the blue-green deployment, which will become the final component of the deployment's resource name. The ID must be unique within the given project and location and between 2-63 characters.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this blue-green deployment will be created. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/blueGreenDeployments", + "request": { + "$ref": "BlueGreenDeployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "delete": { + "description": "Deletes a blue-green deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments/{blueGreenDeploymentsId}", + "httpMethod": "DELETE", + "id": "sql.blueGreenDeployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "deleteOldSource": { + "description": "Optional. If set to true, and the switchover is complete, this deletes the old source instance along with the deployment.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the blue-green deployment to delete. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/blueGreenDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "get": { + "description": "Retrieves a blue-green deployment resource under a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments/{blueGreenDeploymentsId}", + "httpMethod": "GET", + "id": "sql.blueGreenDeployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the blue-green deployment to retrieve. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/blueGreenDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Optional. Specifies whether to return the basic or detailed view of the resource in the response.", + "enum": [ + "BLUE_GREEN_DEPLOYMENT_VIEW_UNSPECIFIED", + "BASIC", + "DETAILED" + ], + "enumDescriptions": [ + "Blue-green deployment view enumeration. This allows the caller to specify what view they query. If unspecified (BLUE_GREEN_DEPLOYMENT_VIEW_UNSPECIFIED), the behavior is the same as BASIC.", + "Includes basic metadata about the blue-green deployment. `BASIC` is the default view.", + "Includes basic metadata and configuration differences between source and target instances (`database_version`, `tier`, `edition`, `availability_type`, `data_disk_size_gb`, and `data_disk_type`)." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BlueGreenDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "list": { + "description": "Lists blue-green deployments under a given project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments", + "httpMethod": "GET", + "id": "sql.blueGreenDeployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters the results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order the results by.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of deployments to return. The service may return fewer deployments than this value. If unspecified, at most 500 deployments are returned. The maximum value is 1000; values above 1000 are treated as 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListBlueGreenDeployments` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource whose blue-green deployments are to be listed. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/blueGreenDeployments", + "response": { + "$ref": "ListBlueGreenDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "switchover": { + "description": "Switches over to green instance for a blue-green deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments/{blueGreenDeploymentsId}:switchover", + "httpMethod": "POST", + "id": "sql.blueGreenDeployments.switchover", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the blue-green deployment to switch over. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/blueGreenDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:switchover", + "request": { + "$ref": "SwitchoverBlueGreenDeploymentRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + } + } + }, "connect": { "methods": { "generateEphemeralCert": { @@ -798,6 +984,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -837,6 +1028,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -869,6 +1065,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -904,6 +1105,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -943,6 +1149,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -985,6 +1196,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1065,6 +1281,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1097,6 +1318,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1129,6 +1355,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1164,6 +1395,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1199,6 +1435,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance (Example: project-id).", "location": "path", @@ -1234,6 +1475,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1266,6 +1512,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1298,6 +1549,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1330,6 +1586,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the source Cloud SQL instance.", "location": "path", @@ -1387,6 +1648,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance to be deleted.", "location": "path", @@ -1419,6 +1685,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. ID of the project that contains the instance.", "location": "path", @@ -1454,6 +1725,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the instance.", "location": "path", @@ -1489,6 +1765,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1524,6 +1805,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance to be exported.", "location": "path", @@ -1558,6 +1844,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the read replica.", "location": "path", @@ -1593,6 +1884,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1625,6 +1921,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1652,6 +1953,11 @@ "project" ], "parameters": { + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project to which the newly created Cloud SQL instances should belong.", "location": "path", @@ -1685,6 +1991,11 @@ "location": "query", "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "maxResults": { "description": "The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", "format": "uint32", @@ -1728,6 +2039,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1760,6 +2076,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1834,6 +2155,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1874,6 +2200,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the read replica.", "location": "path", @@ -1906,6 +2237,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the instance.", "location": "path", @@ -1941,6 +2277,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. The project ID that contains the instance.", "location": "path", @@ -1973,6 +2314,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "mode": { "description": "Optional. Reset SSL mode to use.", "enum": [ @@ -2020,6 +2366,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance to be restarted.", "location": "path", @@ -2052,6 +2403,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2087,6 +2443,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2122,6 +2483,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the read replica.", "location": "path", @@ -2154,6 +2520,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the read replica.", "location": "path", @@ -2192,6 +2563,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the replica.", "location": "path", @@ -2224,6 +2600,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the Cloud SQL project.", "location": "path", @@ -2259,6 +2640,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2424,6 +2810,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2456,6 +2847,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2494,6 +2890,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2529,6 +2930,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the instance.", "location": "path", @@ -2675,6 +3081,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the Cloud SQL project.", "location": "path", @@ -2893,6 +3304,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "name": { "description": "Name of the user in the instance.", "location": "query", @@ -2936,6 +3352,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "name": { "description": "User of the instance.", "location": "path", @@ -2974,6 +3395,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -3009,6 +3435,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -3052,6 +3483,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "name": { "description": "Name of the user in the instance.", "location": "query", @@ -3095,7 +3531,7 @@ } } }, - "revision": "20260722", + "revision": "20260819", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -4053,6 +4489,119 @@ }, "type": "object" }, + "BlueGreenDeployment": { + "description": "A `BlueGreenDeployment` resource represents a Cloud SQL blue-green deployment setup.", + "id": "BlueGreenDeployment", + "properties": { + "createTime": { + "description": "Output only. The time when the deployment was created. Example: `2024-01-01T00:00:00Z`", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deploymentMappings": { + "description": "Output only. A list representing the pairs of source and target instances in the deployment.", + "items": { + "$ref": "SourceTargetPairedNode" + }, + "readOnly": true, + "type": "array" + }, + "deploymentTasks": { + "$ref": "DeploymentTasks", + "description": "Output only. Combined list of tasks for all paired nodes.", + "readOnly": true + }, + "description": { + "description": "Optional. User-provided description for the deployment. The description can be up to 255 characters long.", + "type": "string" + }, + "errorDetail": { + "description": "Output only. Provides details on why switchover is not possible. This field is empty unless a switchover attempt failed or the state is `SWITCHOVER_NOT_READY`. Example: \"The target database version does not match the source instance database version.\"", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The full resource name of the deployment. Format: projects/{project}/locations/{location}/blueGreenDeployments/{deployment_id}", + "readOnly": true, + "type": "string" + }, + "requestedConfig": { + "$ref": "RequestedConfig", + "description": "Optional. Immutable. Optional on create, and immutable. The configuration intended for the target instance(s) when the deployment was created." + }, + "sourceInstance": { + "description": "Required. Immutable. Required on create, and immutable. The full resource name of the source instance (the \"blue\" instance). Format: projects/{project}/instances/{instance}", + "type": "string" + }, + "state": { + "description": "Output only. The current state of the blue-green deployment.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "SWITCHOVER_READY", + "SWITCHOVER_NOT_READY", + "SWITCHOVER_IN_PROGRESS", + "SWITCHOVER_COMPLETED", + "DELETING" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted or unknown.", + "The deployment is being provisioned.", + "The deployment is ready for switchover.", + "The deployment is not ready for switchover.", + "The deployment is in the process of switching over.", + "The deployment has completed switchover.", + "The deployment is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "switchoverTargetInstance": { + "description": "Output only. The full resource name of the primary target instance (the \"green\" instance) that will be promoted during switchover. This field is always populated once the deployment is created. Format: projects/{project}/instances/{instance}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BlueGreenDeploymentInfo": { + "description": "Blue-green deployment metadata for a database instance. In a blue-green deployment, we maintain two environments, one of which is live. This message contains details about the blue-green deployment.", + "id": "BlueGreenDeploymentInfo", + "properties": { + "deploymentId": { + "description": "Output only. The resource ID of the blue-green deployment.", + "readOnly": true, + "type": "string" + }, + "source": { + "$ref": "SourceRole", + "description": "Output only. The source instance for the Blue-Green deployment.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of blue-green-deployment for UI tags", + "enum": [ + "STATE_UNSPECIFIED", + "PRE_SWITCHOVER", + "POST_SWITCHOVER" + ], + "enumDescriptions": [ + "The state of the deployment is unknown.", + "The deployment is pre-switchover.", + "The deployment is post-switchover." + ], + "readOnly": true, + "type": "string" + }, + "target": { + "$ref": "TargetRole", + "description": "Output only. The target instance for the Blue-Green deployment.", + "readOnly": true + } + }, + "type": "object" + }, "CloneContext": { "description": "Database instance clone context.", "id": "CloneContext", @@ -4129,6 +4678,28 @@ }, "type": "object" }, + "ConfigDiff": { + "description": "Represents a specific configuration difference between blue and green instances.", + "id": "ConfigDiff", + "properties": { + "field": { + "description": "Output only. The name of the field that differs in the blue and green instances, fully-qualified. Example: `settings.tier`", + "readOnly": true, + "type": "string" + }, + "sourceValue": { + "description": "Output only. The value on the source instance.", + "readOnly": true, + "type": "string" + }, + "targetValue": { + "description": "Output only. The value on the target instance.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ConnectPoolNodeConfig": { "description": "Details of a single read pool node of a read pool.", "id": "ConnectPoolNodeConfig", @@ -4805,6 +5376,11 @@ ], "type": "string" }, + "deploymentInfo": { + "$ref": "BlueGreenDeploymentInfo", + "description": "Output only. Deployment info for the instance. This is set if the instance is currently part of any blue-green setup.", + "readOnly": true + }, "diskEncryptionConfiguration": { "$ref": "DiskEncryptionConfiguration", "description": "Disk encryption configuration specific to an instance." @@ -4863,14 +5439,16 @@ "CLOUD_SQL_INSTANCE", "ON_PREMISES_INSTANCE", "READ_REPLICA_INSTANCE", - "READ_POOL_INSTANCE" + "READ_POOL_INSTANCE", + "GREEN_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.", - "A Cloud SQL read pool." + "A Cloud SQL read pool.", + "A Cloud SQL instance acting as a Blue-Green deployment target primary. (MySQL only)" ], "type": "string" }, @@ -5225,10 +5803,93 @@ }, "type": "object" }, + "DeploymentTask": { + "description": "Represents a task executed as part of the deployment on a target instance.", + "id": "DeploymentTask", + "properties": { + "endTime": { + "description": "Output only. Task end time (if completed).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "errorMessage": { + "description": "Output only. Optional error details if the task state is `FAILED`.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Task start time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the task.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state of the task is unknown.", + "The task is pending.", + "The task is running.", + "The task has succeeded.", + "The task has failed." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the task.", + "enum": [ + "TYPE_UNSPECIFIED", + "PROVISION", + "UPGRADE", + "SWITCHOVER", + "DELETE", + "POST_SWITCHOVER_OPERATIONS" + ], + "enumDescriptions": [ + "The default value. This value is used if the type is omitted.", + "Provisions the green environment, which includes creating the target instance.", + "Upgrades the green environment, for example, performing a major version upgrade on the target instance.", + "Promotes the target instance and then demotes the source instance for this pair.", + "Deletes the blue-green deployment, including underlying resources.", + "Post-switchover operations, including cleaning up resources of the old instance, taking final backups, and updating metadata." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DeploymentTasks": { + "description": "Combined list of tasks for all paired nodes in the deployment.", + "id": "DeploymentTasks", + "properties": { + "task": { + "description": "Output only. Tasks performed or being performed on the paired nodes of the deployment at a consolidated level.", + "items": { + "$ref": "DeploymentTask" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "DiskEncryptionConfiguration": { "description": "Disk encryption configuration for an instance.", "id": "DiskEncryptionConfiguration", "properties": { + "confidentialMode": { + "description": "Optional. If true, enables Confidential Mode for the instance's Hyperdisk Balanced volumes. Only supported for zonal C4A instances currently.", + "type": "boolean" + }, "kind": { "description": "This is always `sql#diskEncryptionConfiguration`.", "type": "string" @@ -6426,6 +7087,10 @@ "description": "The name of the backup that's used to restore a Cloud SQL instance: Format: \"projects/{project-id}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}/backups/{backup-uid}\". Only one of restore_backup_context, backup, backupdr_backup can be passed to the input.", "type": "string" }, + "ignoreMaintenanceVersion": { + "description": "Optional. If true, the restore operation proceeds even if the target instance's maintenance version is older than the source instance's maintenance version.", + "type": "boolean" + }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." @@ -6659,6 +7324,24 @@ }, "type": "object" }, + "ListBlueGreenDeploymentsResponse": { + "description": "The response message for listing blue-green deployment resources.", + "id": "ListBlueGreenDeploymentsResponse", + "properties": { + "blueGreenDeployments": { + "description": "The list of blue-green deployment resources.", + "items": { + "$ref": "BlueGreenDeployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results, or empty if there are no more results.", + "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", @@ -6814,6 +7497,36 @@ }, "type": "object" }, + "NodeInfo": { + "description": "Details about an instance within the deployment.", + "id": "NodeInfo", + "properties": { + "connection": { + "description": "Output only. The instance connection name.", + "readOnly": true, + "type": "string" + }, + "dns": { + "description": "Output only. The unique DNS name for this instance.", + "readOnly": true, + "type": "string" + }, + "instance": { + "description": "Output only. The full resource name of the instance. Format: projects/{project}/instances/{instance}", + "readOnly": true, + "type": "string" + }, + "ipMappings": { + "description": "Output only. The list of IP addresses for this instance.", + "items": { + "$ref": "IpMapping" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "OnPremisesConfiguration": { "description": "On-premises instance configuration.", "id": "OnPremisesConfiguration", @@ -6987,7 +7700,10 @@ "REPAIR_READ_POOL", "CREATE_READ_POOL", "PRE_CHECK_MAJOR_VERSION_UPGRADE", - "SETUP_MIGRATION" + "SETUP_MIGRATION", + "CREATE_BLUE_GREEN_DEPLOYMENT", + "SWITCHOVER_BLUE_GREEN_DEPLOYMENT", + "DELETE_BLUE_GREEN_DEPLOYMENT" ], "enumDeprecated": [ false, @@ -7043,6 +7759,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -7099,7 +7818,10 @@ "Repairs entire read pool or specified read pool nodes in the read pool.", "Creates a Cloud SQL read pool instance.", "Pre-checks the major version upgrade operation.", - "This operation type represents individual steps in a multi-step setup migration workflow: including configuration, replication, switchover/back, and data reseeding, as defined by operation's intent." + "This operation type represents individual steps in a multi-step setup migration workflow: including configuration, replication, switchover/back, and data reseeding, as defined by operation's intent.", + "Creates a new Blue-Green deployment.", + "Switches over a Blue-Green deployment.", + "Deletes a Blue-Green deployment." ], "type": "string" }, @@ -7873,7 +8595,7 @@ "type": "array" }, "networkAttachmentUri": { - "description": "Optional. The network attachment of the consumer network that the Private Service Connect enabled Cloud SQL instance is authorized to connect via PSC interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID", + "description": "Optional. The network attachment of the consumer network that the Private Service Connect enabled Cloud SQL instance is authorized to connect using the PSC interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID", "type": "string" }, "pscAutoConnectionPolicyEnabled": { @@ -8021,6 +8743,17 @@ }, "type": "object" }, + "RequestedConfig": { + "description": "Configuration specified by the user at creation time for the target (green) instance.", + "id": "RequestedConfig", + "properties": { + "databaseVersion": { + "description": "Optional. The target database major version for the upgrade. For example, `MYSQL_8_0` or `POSTGRES_15`.", + "type": "string" + } + }, + "type": "object" + }, "Reschedule": { "id": "Reschedule", "properties": { @@ -8371,7 +9104,7 @@ }, "passwordValidationPolicy": { "$ref": "PasswordValidationPolicy", - "description": "The local user password validation policy of the instance." + "description": "The local user password validation policy of the instance for PostgreSQL and MySQL." }, "performanceCaptureConfig": { "$ref": "PerformanceCaptureConfig", @@ -8455,6 +9188,72 @@ }, "type": "object" }, + "SourceRole": { + "description": "The source instance for the Blue-Green deployment.", + "id": "SourceRole", + "properties": { + "targetId": { + "$ref": "InstanceReference", + "description": "Output only. The target instance paired with this source instance in a blue-green deployment.", + "readOnly": true + } + }, + "type": "object" + }, + "SourceTargetPairedNode": { + "description": "Represents a pairing of a source instance node and a target instance node.", + "id": "SourceTargetPairedNode", + "properties": { + "diffs": { + "description": "Output only. Describes the list of differences for the `SourceTargetPairedNode`.", + "items": { + "$ref": "ConfigDiff" + }, + "readOnly": true, + "type": "array" + }, + "source": { + "$ref": "NodeInfo", + "description": "Output only. Specifies the resource name of the source instance in this pair.", + "readOnly": true + }, + "state": { + "description": "Output only. Specifies the current state of this specific source-target pair.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "PROVISIONED", + "UPGRADING", + "UPGRADED", + "UPGRADE_FAILED", + "SWITCHOVER_IN_PROGRESS", + "SWITCHOVER_FAILED", + "SWITCHOVER_SUCCEEDED", + "DELETING" + ], + "enumDescriptions": [ + "The state of the paired node is unknown.", + "The paired node is being provisioned.", + "The paired node is provisioned.", + "The paired node is upgrading.", + "The paired node is upgraded.", + "Upgrade failed on the paired node.", + "Switchover is in progress.", + "Switchover failed on the paired node.", + "Switchover completed successfully.", + "The paired node is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "target": { + "$ref": "NodeInfo", + "description": "Output only. Specifies details of the corresponding target instance in this pair.", + "readOnly": true + } + }, + "type": "object" + }, "SqlActiveDirectoryConfig": { "description": "Active Directory configuration, relevant only for Cloud SQL for SQL Server.", "id": "SqlActiveDirectoryConfig", @@ -8580,7 +9379,9 @@ "SELECTED_OBJECTS_REFERENCE_UNSELECTED_OBJECTS", "PROMPT_DELETE_EXISTING", "WILL_DELETE_EXISTING", - "PG_DDL_REPLICATION_INSUFFICIENT_PRIVILEGE" + "PG_DDL_REPLICATION_INSUFFICIENT_PRIVILEGE", + "WRITABLE_DESTINATION_REPLICA_RECREATION_DOWNTIME", + "WRITABLE_DESTINATION_STORAGE_AUTO_INCREASE_DISABLED" ], "enumDescriptions": [ "", @@ -8641,7 +9442,9 @@ "Selected objects reference unselected objects. Based on their object type (foreign key constraint or view), selected objects will fail during migration.", "The migration will delete existing data in the replica; set replica_overwrite_enabled in the request to acknowledge this. This is an error. MySQL only.", "The migration will delete existing data in the replica; replica_overwrite_enabled was set in the request acknowledging this. This is a warning rather than an error. MySQL only.", - "The replication user is missing specific privileges to setup DDL replication. (e.g. CREATE EVENT TRIGGER, CREATE SCHEMA) for PostgreSQL." + "The replication user is missing specific privileges to setup DDL replication. (e.g. CREATE EVENT TRIGGER, CREATE SCHEMA) for PostgreSQL.", + "Read replicas of the Writable Destination instance will be recreated after external synchronization is complete, causing downtime on read replicas.", + "A warning that disk storage auto increase is disabled on the destination instance for a Writable Destination migration." ], "type": "string" } @@ -8754,13 +9557,22 @@ "SqlInstancesResetReplicaSizeRequest": { "description": "Instance reset replica size request.", "id": "SqlInstancesResetReplicaSizeRequest", - "properties": {}, + "properties": { + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "type": "string" + } + }, "type": "object" }, "SqlInstancesStartExternalSyncRequest": { "description": "Instance start external sync request.", "id": "SqlInstancesStartExternalSyncRequest", "properties": { + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "type": "string" + }, "migrationType": { "description": "Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.", "enum": [ @@ -8824,6 +9636,10 @@ "description": "Instance verify external sync settings request.", "id": "SqlInstancesVerifyExternalSyncSettingsRequest", "properties": { + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "type": "string" + }, "migrationType": { "description": "Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.", "enum": [ @@ -9032,11 +9848,11 @@ "id": "SqlServerUserDetails", "properties": { "disabled": { - "description": "If the user has been disabled", + "description": "Indicates if the user has been disabled.", "type": "boolean" }, "serverRoles": { - "description": "The server roles for this user", + "description": "Indicates the server roles for this user.", "items": { "type": "string" }, @@ -9224,6 +10040,12 @@ }, "type": "object" }, + "SwitchoverBlueGreenDeploymentRequest": { + "description": "Request message for switching over a `BlueGreenDeployment` resource.", + "id": "SwitchoverBlueGreenDeploymentRequest", + "properties": {}, + "type": "object" + }, "SyncFlags": { "description": "Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL external server initial dump.", "id": "SyncFlags", @@ -9255,6 +10077,18 @@ }, "type": "object" }, + "TargetRole": { + "description": "The target instance for the Blue-Green deployment.", + "id": "TargetRole", + "properties": { + "sourceId": { + "$ref": "InstanceReference", + "description": "Output only. The source instance paired with this target instance in a blue-green deployment.", + "readOnly": true + } + }, + "type": "object" + }, "Tier": { "description": "A Google Cloud SQL service tier resource.", "id": "Tier", diff --git a/discovery/sqladmin-v1beta4.json b/discovery/sqladmin-v1beta4.json index ff6d3052641..7141f703241 100644 --- a/discovery/sqladmin-v1beta4.json +++ b/discovery/sqladmin-v1beta4.json @@ -664,6 +664,192 @@ } } }, + "blueGreenDeployments": { + "methods": { + "create": { + "description": "Creates a blue-green deployment under a given project and location. This deployment provisions a synchronized green environment (target instance) from a blue production environment (source instance), facilitating updates like major version upgrades on the green instance without impacting the blue instance.", + "flatPath": "sql/v1beta4/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments", + "httpMethod": "POST", + "id": "sql.blueGreenDeployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "blueGreenDeploymentId": { + "description": "Required. The ID to use for the blue-green deployment, which will become the final component of the deployment's resource name.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this blue-green deployment will be created. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+parent}/blueGreenDeployments", + "request": { + "$ref": "BlueGreenDeployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "delete": { + "description": "Deletes a blue-green deployment, including metadata and underlying resources based on the deployment state. If issued before switchover, this deletes the green instance. If issued after switchover, this deletes the old blue instance (source instance) if the `delete_old_source` field in the request is set to true. All blue-green deployment metadata is permanently deleted. Resources deleted as a result of this operation are no longer accessible and can't be restored.", + "flatPath": "sql/v1beta4/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments/{blueGreenDeploymentsId}", + "httpMethod": "DELETE", + "id": "sql.blueGreenDeployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "deleteOldSource": { + "description": "Optional. If set to true, and the switchover is complete, this deletes the old source instance along with the deployment.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the blue-green deployment to delete. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/blueGreenDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "get": { + "description": "Retrieves a blue-green deployment resource under a given project and location.", + "flatPath": "sql/v1beta4/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments/{blueGreenDeploymentsId}", + "httpMethod": "GET", + "id": "sql.blueGreenDeployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the blue-green deployment to retrieve. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/blueGreenDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Optional. Specifies whether to return the basic or detailed view of the resource in the response.", + "enum": [ + "BLUE_GREEN_DEPLOYMENT_VIEW_UNSPECIFIED", + "BASIC", + "DETAILED" + ], + "enumDescriptions": [ + "Blue-green deployment view enumeration. This allows the caller to specify what view they query. If unspecified (BLUE_GREEN_DEPLOYMENT_VIEW_UNSPECIFIED), the behavior is the same as BASIC.", + "Includes basic metadata about the blue-green deployment. `BASIC` is the default view.", + "Includes basic metadata and configuration differences between source and target instances (`database_version`, `tier`, `edition`, `availability_type`, `data_disk_size_gb`, and `data_disk_type`)." + ], + "location": "query", + "type": "string" + } + }, + "path": "sql/v1beta4/{+name}", + "response": { + "$ref": "BlueGreenDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "list": { + "description": "Lists blue-green deployments under a given project.", + "flatPath": "sql/v1beta4/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments", + "httpMethod": "GET", + "id": "sql.blueGreenDeployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters the results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order the results by.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of deployments to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListBlueGreenDeployments` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource whose blue-green deployments are to be listed. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+parent}/blueGreenDeployments", + "response": { + "$ref": "ListBlueGreenDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, + "switchover": { + "description": "Switches over to green instance for a blue-green deployment.", + "flatPath": "sql/v1beta4/projects/{projectsId}/locations/{locationsId}/blueGreenDeployments/{blueGreenDeploymentsId}:switchover", + "httpMethod": "POST", + "id": "sql.blueGreenDeployments.switchover", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the blue-green deployment to switch over. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/blueGreenDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+name}:switchover", + "request": { + "$ref": "SwitchoverBlueGreenDeploymentRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + } + } + }, "connect": { "methods": { "generateEphemeralCert": { @@ -798,6 +984,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -837,6 +1028,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -869,6 +1065,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -904,6 +1105,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -943,6 +1149,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -985,6 +1196,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1065,6 +1281,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1097,6 +1318,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1129,6 +1355,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1164,6 +1395,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1199,6 +1435,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. ID of the project that contains the instance (Example: project-id).", "location": "path", @@ -1234,6 +1475,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1266,6 +1512,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1298,6 +1549,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1330,6 +1586,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the source Cloud SQL instance.", "location": "path", @@ -1387,6 +1648,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance to be deleted.", "location": "path", @@ -1419,6 +1685,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. The project ID of the project that contains the instance.", "location": "path", @@ -1454,6 +1725,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the instance.", "location": "path", @@ -1489,6 +1765,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1524,6 +1805,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance to be exported.", "location": "path", @@ -1558,6 +1844,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the read replica.", "location": "path", @@ -1593,6 +1884,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1625,6 +1921,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1652,6 +1953,11 @@ "project" ], "parameters": { + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project to which the newly created Cloud SQL instances should belong.", "location": "path", @@ -1685,6 +1991,11 @@ "location": "query", "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "maxResults": { "description": "The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", "format": "uint32", @@ -1728,6 +2039,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1760,6 +2076,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -1834,6 +2155,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. Project ID of the project that contains the instance.", "location": "path", @@ -1874,6 +2200,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the read replica.", "location": "path", @@ -1906,6 +2237,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the instance.", "location": "path", @@ -1941,6 +2277,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Required. The ID of the project that contains the instance (Example: project-id).", "location": "path", @@ -1973,6 +2314,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "mode": { "description": "Optional. Reset SSL mode to use.", "enum": [ @@ -2020,6 +2366,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance to be restarted.", "location": "path", @@ -2052,6 +2403,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2087,6 +2443,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2122,6 +2483,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the read replica.", "location": "path", @@ -2154,6 +2520,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the read replica.", "location": "path", @@ -2192,6 +2563,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the replica.", "location": "path", @@ -2224,6 +2600,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the Cloud SQL project.", "location": "path", @@ -2259,6 +2640,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2424,6 +2810,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2456,6 +2847,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2494,6 +2890,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -2529,6 +2930,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "ID of the project that contains the instance.", "location": "path", @@ -2675,6 +3081,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the Cloud SQL project.", "location": "path", @@ -2893,6 +3304,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "name": { "description": "Name of the user in the instance.", "location": "query", @@ -2936,6 +3352,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "name": { "description": "User of the instance.", "location": "path", @@ -2974,6 +3395,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -3009,6 +3435,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID of the project that contains the instance.", "location": "path", @@ -3052,6 +3483,11 @@ "required": true, "type": "string" }, + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "location": "query", + "type": "string" + }, "name": { "description": "Name of the user in the instance.", "location": "query", @@ -3095,7 +3531,7 @@ } } }, - "revision": "20260722", + "revision": "20260819", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -4053,6 +4489,133 @@ }, "type": "object" }, + "BlueGreenDeployment": { + "description": "A `BlueGreenDeployment` resource represents a Cloud SQL blue-green deployment setup. It orchestrates the lifecycle of creating a synchronized \"green\" environment from a \"blue\" production environment, performing updates, and managing the switchover process to minimize downtime.", + "id": "BlueGreenDeployment", + "properties": { + "createTime": { + "description": "Output only. The time when the deployment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deploymentMappings": { + "description": "Output only. A list representing the pairs of source and target instances in the deployment.", + "items": { + "$ref": "SourceTargetPairedNode" + }, + "readOnly": true, + "type": "array" + }, + "deploymentTasks": { + "$ref": "DeploymentTasks", + "description": "Output only. Combined list of tasks for all paired nodes.", + "readOnly": true + }, + "description": { + "description": "Optional. User-provided description for the deployment.", + "type": "string" + }, + "errorDetail": { + "description": "Output only. Provides an error message with details on why switchover is not possible.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The full resource name of the deployment. Format: projects/{project}/locations/{location}/blueGreenDeployments/{deployment_id}", + "readOnly": true, + "type": "string" + }, + "pairedNodes": { + "deprecated": true, + "description": "Output only. Deprecated: Use deployment_mappings instead. Output only. A list representing the pairs of source and target instances in the deployment.", + "items": { + "$ref": "SourceTargetPairedNode" + }, + "readOnly": true, + "type": "array" + }, + "requestedConfig": { + "$ref": "RequestedConfig", + "description": "Optional. Immutable. Optional on create, and immutable. The configuration intended for the target instance(s) when the deployment was created." + }, + "sourceInstance": { + "description": "Required. Immutable. The instance ID of the source instance (the \"blue\" instance). The value for this field does not include the project ID, for example, `my-instance-id`. This field is immutable.", + "type": "string" + }, + "state": { + "description": "Output only. The current state of the blue-green deployment.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "SWITCHOVER_READY", + "SWITCHOVER_NOT_READY", + "SWITCHOVER_IN_PROGRESS", + "SWITCHOVER_COMPLETED", + "DELETING" + ], + "enumDescriptions": [ + "The state of the deployment is unknown.", + "The deployment is being provisioned.", + "The deployment is ready for switchover.", + "The deployment is not ready for switchover.", + "The deployment is in the process of switching over.", + "The deployment has completed switchover.", + "The deployment is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "switchoverTargetInstance": { + "description": "Output only. Details about the primary target instance (the \"Green\" instance) that will be promoted during switchover.", + "readOnly": true, + "type": "string" + }, + "targetConfig": { + "$ref": "TargetConfig", + "deprecated": true, + "description": "Optional. Immutable. Deprecated: Use requested_config instead. The configuration intended for the target instance(s) when the deployment was created. This field is immutable." + } + }, + "type": "object" + }, + "BlueGreenDeploymentInfo": { + "description": "Blue-green deployment metadata for a database instance. In a blue-green deployment, we maintain two environments, one of which is live. This message contains details about the blue-green deployment.", + "id": "BlueGreenDeploymentInfo", + "properties": { + "deploymentId": { + "description": "Output only. The resource ID of the blue-green deployment.", + "readOnly": true, + "type": "string" + }, + "source": { + "$ref": "SourceRole", + "description": "Output only. The source instance for the Blue-Green deployment.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of blue-green-deployment for UI tags", + "enum": [ + "STATE_UNSPECIFIED", + "PRE_SWITCHOVER", + "POST_SWITCHOVER" + ], + "enumDescriptions": [ + "The state of the deployment is unknown.", + "The deployment is pre-switchover.", + "The deployment is post-switchover." + ], + "readOnly": true, + "type": "string" + }, + "target": { + "$ref": "TargetRole", + "description": "Output only. The target instance for the Blue-Green deployment.", + "readOnly": true + } + }, + "type": "object" + }, "CloneContext": { "description": "Database instance clone context.", "id": "CloneContext", @@ -4129,6 +4692,28 @@ }, "type": "object" }, + "ConfigDiff": { + "description": "Represents a specific configuration difference between Blue and Green instances.", + "id": "ConfigDiff", + "properties": { + "field": { + "description": "Output only. The name of the field that differs, fully-qualified. Example: settings.tier", + "readOnly": true, + "type": "string" + }, + "sourceValue": { + "description": "Output only. The value on the source instance.", + "readOnly": true, + "type": "string" + }, + "targetValue": { + "description": "Output only. The value on the target instance.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ConnectPoolNodeConfig": { "description": "Details of a single read pool node of a read pool.", "id": "ConnectPoolNodeConfig", @@ -4805,6 +5390,11 @@ ], "type": "string" }, + "deploymentInfo": { + "$ref": "BlueGreenDeploymentInfo", + "description": "Output only. Deployment info for the instance. This is set if the instance is currently part of any blue-green setup.", + "readOnly": true + }, "diskEncryptionConfiguration": { "$ref": "DiskEncryptionConfiguration", "description": "Disk encryption configuration specific to an instance." @@ -4863,14 +5453,16 @@ "CLOUD_SQL_INSTANCE", "ON_PREMISES_INSTANCE", "READ_REPLICA_INSTANCE", - "READ_POOL_INSTANCE" + "READ_POOL_INSTANCE", + "GREEN_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.", - "A Cloud SQL read pool." + "A Cloud SQL read pool.", + "A Cloud SQL instance acting as a Blue-Green deployment target primary. (MySQL only)" ], "type": "string" }, @@ -5226,10 +5818,93 @@ }, "type": "object" }, + "DeploymentTask": { + "description": "Represents a task executed as part of the deployment on a target instance.", + "id": "DeploymentTask", + "properties": { + "endTime": { + "description": "Output only. Task end time (if completed).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "errorMessage": { + "description": "Output only. Optional Error details if the task state is FAILED.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Task start time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the task.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state of the task is unknown.", + "The task is pending.", + "The task is running.", + "The task has succeeded.", + "The task has failed." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the task.", + "enum": [ + "TYPE_UNSPECIFIED", + "PROVISION", + "UPGRADE", + "SWITCHOVER", + "DELETE", + "POST_SWITCHOVER_OPERATIONS" + ], + "enumDescriptions": [ + "The default value. This value is used if the type is omitted.", + "Creating target instance.", + "e.g., Major Version Upgrade on Target.", + "Promoting Target, Demoting Source for this pair.", + "The task is to delete deployment.", + "Post-switchover operations, including cleaning up resources of the old instance, taking final backups, and updating metadata." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DeploymentTasks": { + "description": "Combined list of tasks for all paired nodes in the deployment.", + "id": "DeploymentTasks", + "properties": { + "task": { + "description": "Output only. Tasks performed or being performed on the paired nodes of the deployment at a consolidated level.", + "items": { + "$ref": "DeploymentTask" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "DiskEncryptionConfiguration": { "description": "Disk encryption configuration for an instance.", "id": "DiskEncryptionConfiguration", "properties": { + "confidentialMode": { + "description": "Optional. If true, enables Confidential Mode for the instance's Hyperdisk Balanced volumes. Only supported for zonal C4A instances currently.", + "type": "boolean" + }, "kind": { "description": "This is always `sql#diskEncryptionConfiguration`.", "type": "string" @@ -6427,6 +7102,10 @@ "description": "The name of the backup that's used to restore a Cloud SQL instance: Format: \"projects/{project-id}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}/backups/{backup-uid}\". Only one of restore_backup_context, backup, backupdr_backup can be passed to the input.", "type": "string" }, + "ignoreMaintenanceVersion": { + "description": "Optional. If true, the restore operation proceeds even if the target instance's maintenance version is older than the source instance's maintenance version.", + "type": "boolean" + }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." @@ -6660,6 +7339,24 @@ }, "type": "object" }, + "ListBlueGreenDeploymentsResponse": { + "description": "The response message for listing blue-green deployment resources.", + "id": "ListBlueGreenDeploymentsResponse", + "properties": { + "blueGreenDeployments": { + "description": "The list of blue-green deployment resources.", + "items": { + "$ref": "BlueGreenDeployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results, or empty if there are no more results.", + "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", @@ -6815,6 +7512,36 @@ }, "type": "object" }, + "NodeInfo": { + "description": "Details about an instance within the deployment.", + "id": "NodeInfo", + "properties": { + "connection": { + "description": "Output only. The instance connection name.", + "readOnly": true, + "type": "string" + }, + "dns": { + "description": "Output only. The unique DNS name for this instance.", + "readOnly": true, + "type": "string" + }, + "instance": { + "description": "Output only. The full resource name of the instance. Format: projects/{project}/instances/{instance}", + "readOnly": true, + "type": "string" + }, + "ipMappings": { + "description": "Output only. The list of IP addresses for this instance.", + "items": { + "$ref": "IpMapping" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "OnPremisesConfiguration": { "description": "On-premises instance configuration.", "id": "OnPremisesConfiguration", @@ -6988,6 +7715,9 @@ "REPAIR_READ_POOL", "CREATE_READ_POOL", "PRE_CHECK_MAJOR_VERSION_UPGRADE", + "CREATE_BLUE_GREEN_DEPLOYMENT", + "SWITCHOVER_BLUE_GREEN_DEPLOYMENT", + "DELETE_BLUE_GREEN_DEPLOYMENT", "SETUP_MIGRATION", "AGENT_SEND_MESSAGE" ], @@ -7046,6 +7776,9 @@ false, false, false, + false, + false, + false, false ], "enumDescriptions": [ @@ -7102,6 +7835,9 @@ "Repairs entire read pool or specified read pool nodes in the read pool.", "Creates a Cloud SQL read pool instance.", "Pre-checks for major version upgrade.", + "Creates a new Blue-Green deployment.", + "Switches over a Blue-Green deployment.", + "Deletes a Blue-Green deployment.", "This operation type represents individual steps in a multi-step setup migration workflow: including configuration, replication, switchover/back, and data reseeding, as defined by operation's intent.", "Sends a message to a Cloud SQL agent." ], @@ -7877,7 +8613,7 @@ "type": "array" }, "networkAttachmentUri": { - "description": "Optional. The network attachment of the consumer network that the Private Service Connect enabled Cloud SQL instance is authorized to connect via PSC interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID", + "description": "Optional. The network attachment of the consumer network that the Private Service Connect enabled Cloud SQL instance is authorized to connect using the PSC interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID", "type": "string" }, "pscAutoConnectionPolicyEnabled": { @@ -8025,6 +8761,17 @@ }, "type": "object" }, + "RequestedConfig": { + "description": "Configuration specified by the user at creation time for the target (Green) instance.", + "id": "RequestedConfig", + "properties": { + "databaseVersion": { + "description": "Optional. The target database major version for the upgrade.", + "type": "string" + } + }, + "type": "object" + }, "Reschedule": { "id": "Reschedule", "properties": { @@ -8375,7 +9122,7 @@ }, "passwordValidationPolicy": { "$ref": "PasswordValidationPolicy", - "description": "The local user password validation policy of the instance." + "description": "The local user password validation policy of the instance for PostgreSQL and MySQL." }, "performanceCaptureConfig": { "$ref": "PerformanceCaptureConfig", @@ -8459,6 +9206,96 @@ }, "type": "object" }, + "SourceRole": { + "description": "The source instance for the Blue-Green deployment.", + "id": "SourceRole", + "properties": { + "targetId": { + "$ref": "InstanceReference", + "description": "Output only. The target instance paired with this source instance in a blue-green deployment.", + "readOnly": true + } + }, + "type": "object" + }, + "SourceTargetPairedNode": { + "description": "Represents a pairing of a source instance node and a target instance node.", + "id": "SourceTargetPairedNode", + "properties": { + "currentlyServingTraffic": { + "deprecated": true, + "description": "Output only. Deprecated: Indicates which instance (SOURCE or TARGET) in the pair is currently live. Used for internal implementation and deprecated for external use.", + "enum": [ + "CURRENTLY_SERVING_TRAFFIC_UNSPECIFIED", + "SOURCE", + "TARGET" + ], + "enumDescriptions": [ + "The instance serving traffic is unknown.", + "The source instance is serving traffic.", + "The target instance is serving traffic." + ], + "readOnly": true, + "type": "string" + }, + "diffs": { + "description": "Output only. Describes the list of differences for this pair.", + "items": { + "$ref": "ConfigDiff" + }, + "readOnly": true, + "type": "array" + }, + "source": { + "$ref": "NodeInfo", + "description": "Output only. Resource name of the source instance in this pair.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of this specific source-target pair.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "PROVISIONED", + "UPGRADING", + "UPGRADED", + "UPGRADE_FAILED", + "SWITCHOVER_IN_PROGRESS", + "SWITCHOVER_FAILED", + "SWITCHOVER_SUCCEEDED", + "DELETING" + ], + "enumDescriptions": [ + "The state of the paired node is unknown.", + "The paired node is being provisioned.", + "The paired node is provisioned.", + "The paired node is upgrading.", + "The paired node is upgraded.", + "Upgrade failed on the paired node.", + "Switchover is in progress.", + "Switchover failed on the paired node.", + "Switchover completed successfully.", + "The paired node is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "target": { + "$ref": "NodeInfo", + "description": "Output only. Details of the corresponding target instance in this pair.", + "readOnly": true + }, + "tasks": { + "description": "Output only. Tasks performed or being performed on the target instance of this pair.", + "items": { + "$ref": "DeploymentTask" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "SqlActiveDirectoryConfig": { "description": "Active Directory configuration, relevant only for Cloud SQL for SQL Server.", "id": "SqlActiveDirectoryConfig", @@ -8584,7 +9421,9 @@ "SELECTED_OBJECTS_REFERENCE_UNSELECTED_OBJECTS", "PROMPT_DELETE_EXISTING", "WILL_DELETE_EXISTING", - "PG_DDL_REPLICATION_INSUFFICIENT_PRIVILEGE" + "PG_DDL_REPLICATION_INSUFFICIENT_PRIVILEGE", + "WRITABLE_DESTINATION_REPLICA_RECREATION_DOWNTIME", + "WRITABLE_DESTINATION_STORAGE_AUTO_INCREASE_DISABLED" ], "enumDescriptions": [ "", @@ -8645,7 +9484,9 @@ "Selected objects reference unselected objects. Based on their object type (foreign key constraint or view), selected objects will fail during migration.", "The migration will delete existing data in the replica; set replica_overwrite_enabled in the request to acknowledge this. This is an error. MySQL only.", "The migration will delete existing data in the replica; replica_overwrite_enabled was set in the request acknowledging this. This is a warning rather than an error. MySQL only.", - "The replication user is missing specific privileges to setup DDL replication. (e.g. CREATE EVENT TRIGGER, CREATE SCHEMA) for PostgreSQL." + "The replication user is missing specific privileges to setup DDL replication. (e.g. CREATE EVENT TRIGGER, CREATE SCHEMA) for PostgreSQL.", + "Read replicas of the Writable Destination instance will be recreated after external synchronization is complete, causing downtime on read replicas.", + "A warning that disk storage auto increase is disabled on the destination instance for a Writable Destination migration." ], "type": "string" } @@ -8758,12 +9599,21 @@ "SqlInstancesResetReplicaSizeRequest": { "description": "Instance reset replica size request.", "id": "SqlInstancesResetReplicaSizeRequest", - "properties": {}, + "properties": { + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "type": "string" + } + }, "type": "object" }, "SqlInstancesStartExternalSyncRequest": { "id": "SqlInstancesStartExternalSyncRequest", "properties": { + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "type": "string" + }, "migrationType": { "description": "Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.", "enum": [ @@ -8826,6 +9676,10 @@ "SqlInstancesVerifyExternalSyncSettingsRequest": { "id": "SqlInstancesVerifyExternalSyncSettingsRequest", "properties": { + "location": { + "description": "Optional. Region of the Cloud SQL instance.", + "type": "string" + }, "migrationType": { "description": "Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.", "enum": [ @@ -9034,11 +9888,11 @@ "id": "SqlServerUserDetails", "properties": { "disabled": { - "description": "If the user has been disabled", + "description": "Indicates if the user has been disabled.", "type": "boolean" }, "serverRoles": { - "description": "The server roles for this user", + "description": "Indicates the server roles for this user.", "items": { "type": "string" }, @@ -9226,6 +10080,12 @@ }, "type": "object" }, + "SwitchoverBlueGreenDeploymentRequest": { + "description": "Request message for switching over a `BlueGreenDeployment` resource.", + "id": "SwitchoverBlueGreenDeploymentRequest", + "properties": {}, + "type": "object" + }, "SyncFlags": { "description": "Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL external server initial dump.", "id": "SyncFlags", @@ -9241,6 +10101,18 @@ }, "type": "object" }, + "TargetConfig": { + "deprecated": true, + "description": "Deprecated: Use RequestedConfig instead. Configuration specified by the user at creation time for the target (Green) instance.", + "id": "TargetConfig", + "properties": { + "databaseVersion": { + "description": "Optional. The target database major version for the upgrade.", + "type": "string" + } + }, + "type": "object" + }, "TargetMetric": { "description": "Target metric for read pool auto scaling.", "id": "TargetMetric", @@ -9257,6 +10129,18 @@ }, "type": "object" }, + "TargetRole": { + "description": "The target instance for the Blue-Green deployment.", + "id": "TargetRole", + "properties": { + "sourceId": { + "$ref": "InstanceReference", + "description": "Output only. The source instance paired with this target instance in a blue-green deployment.", + "readOnly": true + } + }, + "type": "object" + }, "Tier": { "description": "A Google Cloud SQL service tier resource.", "id": "Tier", diff --git a/discovery/tagmanager-v2.json b/discovery/tagmanager-v2.json index f4d183893b2..40bf0c21248 100644 --- a/discovery/tagmanager-v2.json +++ b/discovery/tagmanager-v2.json @@ -217,6 +217,7 @@ "containers": { "methods": { "combine": { + "deprecated": true, "description": "Combines Containers.", "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}:combine", "httpMethod": "POST", @@ -401,6 +402,7 @@ ] }, "move_tag_id": { + "deprecated": true, "description": "Move Tag ID out of a Container.", "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}:move_tag_id", "httpMethod": "POST", @@ -3988,7 +3990,7 @@ } } }, - "revision": "20260706", + "revision": "20260826", "rootUrl": "https://tagmanager.googleapis.com/", "schemas": { "Account": { diff --git a/discovery/threatintelligence-v1beta.json b/discovery/threatintelligence-v1beta.json index 701afa6b5cb..1a1386b3c34 100644 --- a/discovery/threatintelligence-v1beta.json +++ b/discovery/threatintelligence-v1beta.json @@ -842,7 +842,7 @@ } } }, - "revision": "20260816", + "revision": "20260830", "rootUrl": "https://threatintelligence.googleapis.com/", "schemas": { "Alert": { @@ -1223,6 +1223,10 @@ "readOnly": true, "type": "string" }, + "domainConfiguration": { + "$ref": "DomainConfiguration", + "description": "Domain Configuration detail config." + }, "technologyWatchlist": { "$ref": "TechnologyWatchListConfig", "description": "Technology Watchlist detail config." @@ -1264,9 +1268,14 @@ "description": "Required. The condition driving the scenario, stored as a stringified JSON. This is used to query/filter documents.", "type": "string" }, + "documentQuery": { + "$ref": "DocumentQuery", + "description": "Optional. The query used to match documents." + }, "legacyMonitorMetadata": { "$ref": "LegacyMetadata", - "description": "Optional. Legacy metadata associated with this scenario/monitor." + "description": "Output only. Legacy metadata associated with this scenario/monitor.", + "readOnly": true } }, "type": "object" @@ -1683,6 +1692,96 @@ }, "type": "object" }, + "DocumentQuery": { + "description": "Represents a query to match documents.", + "id": "DocumentQuery", + "properties": { + "dataModel": { + "description": "Required. The data model to query against.", + "enum": [ + "DATA_MODEL_UNSPECIFIED", + "DATA_MODEL_GTI" + ], + "enumDescriptions": [ + "Default value, should never be set.", + "GTI data model." + ], + "type": "string" + }, + "query": { + "description": "Required. The query string.", + "type": "string" + }, + "queryType": { + "description": "Required. The type of query.", + "enum": [ + "QUERY_TYPE_UNSPECIFIED", + "QUERY_TYPE_LUCENE" + ], + "enumDescriptions": [ + "Default value, should never be set.", + "Lucene query type." + ], + "type": "string" + } + }, + "type": "object" + }, + "DomainConfiguration": { + "description": "Configuration holding settings for one or more monitored domains.", + "id": "DomainConfiguration", + "properties": { + "domainSettings": { + "description": "Optional. A list of settings for individual domains.", + "items": { + "$ref": "DomainSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "DomainMonitoringFeatureConfig": { + "description": "Specific configuration for the Domain Monitoring feature.", + "id": "DomainMonitoringFeatureConfig", + "properties": { + "disabled": { + "description": "Optional. Whether the Domain Monitoring feature is disabled for the domain.", + "type": "boolean" + } + }, + "type": "object" + }, + "DomainSetting": { + "description": "Feature settings and toggles for a single specific domain.", + "id": "DomainSetting", + "properties": { + "domain": { + "description": "Required. The domain name to match against.", + "type": "string" + }, + "domainMonitoringConfig": { + "$ref": "DomainMonitoringFeatureConfig", + "description": "Optional. If not present, Domain Monitoring is enabled." + }, + "state": { + "description": "Output only. The verification state of the domain.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "VERIFIED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Verification is pending. The customer needs to add the TXT record.", + "Verification succeeded." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "EnumerateAlertFacetsResponse": { "description": "Response message for EnumerateAlertFacets.", "id": "EnumerateAlertFacetsResponse", @@ -2000,71 +2099,89 @@ "id": "LegacyMetadata", "properties": { "aggregationEnabled": { - "description": "Optional. Whether aggregation is enabled for alerts from this monitor.", + "description": "Output only. Whether aggregation is enabled for alerts from this monitor.", + "readOnly": true, "type": "boolean" }, "aggregationSimilarity": { - "description": "Optional. Similarity threshold for aggregation.", + "description": "Output only. Similarity threshold for aggregation.", "format": "double", + "readOnly": true, "type": "number" }, "conditionVersion": { - "description": "Optional. Version of the condition schema.", + "description": "Output only. Version of the condition schema.", "format": "int32", + "readOnly": true, "type": "integer" }, "creatorUserId": { - "description": "Optional. User ID who created the monitor.", + "description": "Output only. User ID who created the monitor.", + "readOnly": true, "type": "string" }, "description": { - "description": "Optional. Description of the legacy monitor.", + "description": "Output only. Description of the legacy monitor.", + "readOnly": true, "type": "string" }, "disabledCode": { - "description": "Optional. Code indicating why the monitor is disabled (if applicable).", + "description": "Output only. Code indicating why the monitor is disabled (if applicable).", + "readOnly": true, "type": "string" }, "disabledReason": { - "description": "Optional. Reason why the monitor is disabled (if applicable).", + "description": "Output only. Reason why the monitor is disabled (if applicable).", + "readOnly": true, "type": "string" }, "displayName": { - "description": "Optional. Name of the legacy monitor.", + "description": "Output only. Name of the legacy monitor.", + "readOnly": true, "type": "string" }, "emailNotificationEnabled": { - "description": "Optional. Whether email notifications are enabled.", + "deprecated": true, + "description": "Output only. Deprecated: Whether email notifications are enabled. This field will not be used as email notifications are handled through the GTI Mail Hub.", + "readOnly": true, "type": "boolean" }, "emailNotificationImmediate": { - "description": "Optional. Whether email notifications are intermediate/immediate.", + "deprecated": true, + "description": "Output only. Deprecated: Whether email notifications are intermediate/immediate. This field will not be used as email notifications are handled through the GTI Mail Hub.", + "readOnly": true, "type": "boolean" }, "legacyMonitorId": { - "description": "Optional. Unique identifier of the legacy monitor.", + "description": "Output only. Unique identifier of the legacy monitor.", + "readOnly": true, "type": "string" }, "staleTime": { - "description": "Optional. Time the legacy monitor was considered stale.", + "description": "Output only. Time the legacy monitor was considered stale.", "format": "google-datetime", + "readOnly": true, "type": "string" }, "templateId": { - "description": "Optional. ID of the template this monitor was created from.", + "description": "Output only. ID of the template this monitor was created from.", + "readOnly": true, "type": "string" }, "tenantId": { - "description": "Optional. ID of the tenant owning the monitor.", + "description": "Output only. ID of the tenant owning the monitor.", + "readOnly": true, "type": "string" }, "updaterUserId": { - "description": "Optional. User ID who last updated the monitor.", + "description": "Output only. User ID who last updated the monitor.", + "readOnly": true, "type": "string" }, "version": { - "description": "Optional. Version of the monitor configuration.", + "description": "Output only. Version of the monitor configuration.", "format": "int32", + "readOnly": true, "type": "integer" } }, diff --git a/discovery/webcontentpublisher-v1.json b/discovery/webcontentpublisher-v1.json index d3da81248cb..d759934f70a 100644 --- a/discovery/webcontentpublisher-v1.json +++ b/discovery/webcontentpublisher-v1.json @@ -2,11 +2,8 @@ "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage": { - "description": "Private Service: https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage" - }, - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly": { - "description": "See and review your subscription information" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system": { + "description": "Private Service: https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" } } } @@ -142,7 +139,7 @@ "$ref": "Publication" }, "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" ] }, "get": { @@ -167,8 +164,7 @@ "$ref": "Publication" }, "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage", - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" ] }, "list": { @@ -209,8 +205,7 @@ "$ref": "ListPublicationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage", - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" ] }, "patch": { @@ -244,7 +239,7 @@ "$ref": "Publication" }, "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" ] } }, @@ -281,7 +276,7 @@ "$ref": "Cta" }, "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" ] }, "get": { @@ -306,8 +301,7 @@ "$ref": "Cta" }, "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage", - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" ] }, "list": { @@ -343,8 +337,7 @@ "$ref": "ListCtasResponse" }, "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage", - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" ] }, "patch": { @@ -378,7 +371,7 @@ "$ref": "Cta" }, "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage" + "https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system" ] } } @@ -419,11 +412,7 @@ "path": "v1/{+name}:checkFreeAccess", "response": { "$ref": "CheckFreeAccessResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage", - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly" - ] + } } } }, @@ -452,16 +441,12 @@ }, "response": { "$ref": "GeneratePlatformSiteTokensResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage", - "https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly" - ] + } } } } }, - "revision": "20260823", + "revision": "20260906", "rootUrl": "https://webcontentpublisher.googleapis.com/", "schemas": { "CheckFreeAccessResponse": { @@ -562,7 +547,8 @@ "id": "DomainProperty", "properties": { "ownershipVerified": { - "description": "Optional. Whether the domain ownership has been verified (e.g., via Google Search Console).", + "description": "Output only. Whether the domain ownership has been verified (e.g., via Google Search Console).", + "readOnly": true, "type": "boolean" }, "url": { diff --git a/discovery/workflowexecutions-v1.json b/discovery/workflowexecutions-v1.json index 81fa1688751..98ee7949e7b 100644 --- a/discovery/workflowexecutions-v1.json +++ b/discovery/workflowexecutions-v1.json @@ -15,6 +15,208 @@ "description": "Execute workflows created with Workflows API.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/workflows", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west8.rep.googleapis.com/", + "location": "us-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -517,7 +719,7 @@ } } }, - "revision": "20250211", + "revision": "20260825", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "Callback": { diff --git a/discovery/workflowexecutions-v1beta.json b/discovery/workflowexecutions-v1beta.json index 4122a0446e2..b133c1ad450 100644 --- a/discovery/workflowexecutions-v1beta.json +++ b/discovery/workflowexecutions-v1beta.json @@ -15,6 +15,208 @@ "description": "Execute workflows created with Workflows API.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/workflows", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.us-west8.rep.googleapis.com/", + "location": "us-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://workflowexecutions.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -269,7 +471,7 @@ } } }, - "revision": "20230719", + "revision": "20260825", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "CancelExecutionRequest": { diff --git a/discovery/workstations-v1.json b/discovery/workstations-v1.json index ac333888879..65fae2998a4 100644 --- a/discovery/workstations-v1.json +++ b/discovery/workstations-v1.json @@ -1189,6 +1189,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "suspend": { + "description": "Suspends a workstation to reduce costs.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:suspend", + "httpMethod": "POST", + "id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.suspend", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the workstation to suspend.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:suspend", + "request": { + "$ref": "SuspendWorkstationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:testIamPermissions", @@ -1228,7 +1256,7 @@ } } }, - "revision": "20260807", + "revision": "20260901", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -2270,6 +2298,21 @@ }, "type": "object" }, + "SuspendWorkstationRequest": { + "description": "Request message for SuspendWorkstation.", + "id": "SuspendWorkstationRequest", + "properties": { + "etag": { + "description": "Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the result, but do not actually apply it.", + "type": "boolean" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2391,14 +2434,18 @@ "STATE_STARTING", "STATE_RUNNING", "STATE_STOPPING", - "STATE_STOPPED" + "STATE_STOPPED", + "STATE_SUSPENDING", + "STATE_SUSPENDED" ], "enumDescriptions": [ "Do not use.", "The workstation is not yet ready to accept requests from users but will be soon.", "The workstation is ready to accept requests from users.", "The workstation is being stopped.", - "The workstation is stopped and will not be able to receive requests until it is started." + "The workstation is stopped and will not be able to receive requests until it is started.", + "The workstation is being suspended.", + "The workstation is suspended." ], "readOnly": true, "type": "string" @@ -2613,8 +2660,22 @@ "$ref": "Host", "description": "Optional. Runtime host for the workstation." }, + "idleAction": { + "description": "Optional. The action to take when the workstation has been idle for the duration specified in idle_timeout. Defaults to STOP.", + "enum": [ + "IDLE_ACTION_UNSPECIFIED", + "STOP", + "SUSPEND" + ], + "enumDescriptions": [ + "Defaults to STOP.", + "Stop the workstation after idle_timeout.", + "Suspend the workstation after idle_timeout." + ], + "type": "string" + }, "idleTimeout": { - "description": "Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `\"7200s\"` (2 hours). The default is `\"1200s\"` (20 minutes).", + "description": "Optional. Number of seconds to wait before automatically stopping or suspending a workstation after it last received user traffic. See idle_action to configure whether to stop or suspend idle workstations. A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `\"7200s\"` (2 hours). The default is `\"1200s\"` (20 minutes).", "format": "google-duration", "type": "string" }, @@ -2661,7 +2722,7 @@ "type": "array" }, "runningTimeout": { - "description": "Optional. Number of seconds to wait before automatically stopping a workstation. We recommend that workstations be stopped daily so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field stops workstations after the specified time, regardless of whether or not the workstations are idle. Provide duration terminated by `s` for seconds—for example, `\"54000s\"` (15 hours). Defaults to `\"43200s\"` (12 hours). A value of `\"0s\"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `\"0s\"` and less than `\"86400s\"` (24 hours). Warning: A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.", + "description": "Optional. Number of seconds to wait before automatically stopping a workstation. We recommend that workstations be stopped daily so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field stops workstations after the specified time, regardless of whether or not the workstations are idle. Note: This timeout applies to workstations in the following states: * STATE_RUNNING * STATE_SUSPENDED Suspending a workstation does not reset this timeout. Provide duration terminated by `s` for seconds—for example, `\"54000s\"` (15 hours). Defaults to `\"43200s\"` (12 hours). A value of `\"0s\"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `\"0s\"` and less than `\"86400s\"` (24 hours). Warning: A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.", "format": "google-duration", "type": "string" }, diff --git a/discovery/workstations-v1beta.json b/discovery/workstations-v1beta.json index cf9d1ce1c08..5bbe0812bd0 100644 --- a/discovery/workstations-v1beta.json +++ b/discovery/workstations-v1beta.json @@ -1210,7 +1210,7 @@ } } }, - "revision": "20260819", + "revision": "20260901", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -2540,6 +2540,10 @@ "readOnly": true, "type": "array" }, + "consoleBaseUrl": { + "description": "Optional. Specifies a custom base URL for the Google Cloud Console. This field is intended to be user-configurable to support data residency for Cloud Workstations users. This will be used generally for user journeys where users need to go to the Cloud Console from Code OSS. When the Auth and Launch URLs are unset, this will be used as the base URL for those endpoints if set.", + "type": "string" + }, "controlPlaneIp": { "description": "Output only. The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.", "readOnly": true, @@ -2750,7 +2754,7 @@ "type": "string" }, "idleTimeout": { - "description": "Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `\"7200s\"` (2 hours). The default is `\"1200s\"` (20 minutes).", + "description": "Optional. Number of seconds to wait before automatically stopping or suspending a workstation after it last received user traffic. See idle_action to configure whether to stop or suspend idle workstations. A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `\"7200s\"` (2 hours). The default is `\"1200s\"` (20 minutes).", "format": "google-duration", "type": "string" }, @@ -2797,7 +2801,7 @@ "type": "array" }, "runningTimeout": { - "description": "Optional. Number of seconds to wait before automatically stopping a workstation. We recommend that workstations be stopped daily so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field stops workstations after the specified time, regardless of whether or not the workstations are idle. Provide duration terminated by `s` for seconds—for example, `\"54000s\"` (15 hours). Defaults to `\"43200s\"` (12 hours). A value of `\"0s\"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `\"0s\"` and less than `\"86400s\"` (24 hours). Warning: A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.", + "description": "Optional. Number of seconds to wait before automatically stopping a workstation. We recommend that workstations be stopped daily so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field stops workstations after the specified time, regardless of whether or not the workstations are idle. Note: This timeout applies to workstations in the following states: * STATE_RUNNING * STATE_SUSPENDED Suspending a workstation does not reset this timeout. Provide duration terminated by `s` for seconds—for example, `\"54000s\"` (15 hours). Defaults to `\"43200s\"` (12 hours). A value of `\"0s\"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `\"0s\"` and less than `\"86400s\"` (24 hours). Warning: A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.", "format": "google-duration", "type": "string" }, diff --git a/discovery/youtube-v3.json b/discovery/youtube-v3.json index 28b86fa88d2..4b0347cb6d0 100644 --- a/discovery/youtube-v3.json +++ b/discovery/youtube-v3.json @@ -3745,6 +3745,7 @@ "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", + "https://www.googleapis.com/auth/youtube.readonly", "https://www.googleapis.com/auth/youtubepartner" ] }, @@ -4192,7 +4193,7 @@ } } }, - "revision": "20260820", + "revision": "20260902", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { diff --git a/release-please-config.json b/release-please-config.json index 2c4c6b0ab4d..1858a69ad30 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -334,6 +334,9 @@ "src/apis/cloudproductregistry": {}, "src/apis/agentidentity": {}, "src/apis/androiddeveloperidstatus": {}, - "src/apis/ftp": {} + "src/apis/ftp": {}, + "src/apis/agenciesandbrands": {}, + "src/apis/curationpartners": {}, + "src/apis/auditmanager": {} } } \ No newline at end of file diff --git a/src/apis/abusiveexperiencereport/package.json b/src/apis/abusiveexperiencereport/package.json index 94dfc98eff9..ed35db3dfdf 100644 --- a/src/apis/abusiveexperiencereport/package.json +++ b/src/apis/abusiveexperiencereport/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/acceleratedmobilepageurl/package.json b/src/apis/acceleratedmobilepageurl/package.json index 6737b84516c..d6aeeb4e13b 100644 --- a/src/apis/acceleratedmobilepageurl/package.json +++ b/src/apis/acceleratedmobilepageurl/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/accessapproval/package.json b/src/apis/accessapproval/package.json index 72c45c5a7c6..55913114af7 100644 --- a/src/apis/accessapproval/package.json +++ b/src/apis/accessapproval/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/accesscontextmanager/package.json b/src/apis/accesscontextmanager/package.json index 33130305b7e..007bfaed3b3 100644 --- a/src/apis/accesscontextmanager/package.json +++ b/src/apis/accesscontextmanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/accesscontextmanager/v1.ts b/src/apis/accesscontextmanager/v1.ts index 0a39d761e52..6ece450314c 100644 --- a/src/apis/accesscontextmanager/v1.ts +++ b/src/apis/accesscontextmanager/v1.ts @@ -113,9 +113,11 @@ export namespace accesscontextmanager_v1 { export class Accesscontextmanager { context: APIRequestContext; accessPolicies: Resource$Accesspolicies; + folders: Resource$Folders; operations: Resource$Operations; organizations: Resource$Organizations; permissions: Resource$Permissions; + projects: Resource$Projects; services: Resource$Services; constructor(options: GlobalOptions, google?: GoogleConfigurable) { @@ -125,9 +127,11 @@ export namespace accesscontextmanager_v1 { }; this.accessPolicies = new Resource$Accesspolicies(this.context); + this.folders = new Resource$Folders(this.context); this.operations = new Resource$Operations(this.context); this.organizations = new Resource$Organizations(this.context); this.permissions = new Resource$Permissions(this.context); + this.projects = new Resource$Projects(this.context); this.services = new Resource$Services(this.context); } } @@ -560,11 +564,7 @@ export namespace accesscontextmanager_v1 { */ principal?: Schema$Principal; /** - * Optional. Deprecated: Use `scoped_access_settings` instead. A list of applications that are subject to this binding's restrictions. If the list is empty, the binding restrictions will universally apply to all applications. - */ - restrictedClientApplications?: Schema$Application[]; - /** - * Optional. A list of scoped access settings that set this binding's restrictions on a subset of applications. This field cannot be set if restricted_client_applications is set. + * Optional. A list of scoped access settings that set this binding's restrictions on a subset of applications. */ scopedAccessSettings?: Schema$ScopedAccessSettings[]; /** @@ -770,6 +770,27 @@ export namespace accesscontextmanager_v1 { */ supportedServices?: Schema$SupportedService[]; } + /** + * A configured service perimeter returned by Access Context Manager. + */ + export interface Schema$LookupConfiguredServicePerimeterResponse { + /** + * The resource (e.g. "projects/123", "folders/456") that directly owns/is restricted by the enforced perimeter. + */ + restrictedResource?: string | null; + /** + * The resource (e.g. "projects/123", "folders/456") that directly owns/is restricted by the dry-run perimeter. + */ + restrictedResourceDryRun?: string | null; + /** + * Fully qualified name of the configured enforced perimeter. Format: `accessPolicies/{policy_id\}/servicePerimeters/{perimeter_name\}` This field is empty if no enforced perimeter applies. + */ + servicePerimeter?: string | null; + /** + * Fully qualified name of the configured dry-run perimeter. Format: `accessPolicies/{policy_id\}/servicePerimeters/{perimeter_name\}` This field is empty if no dry-run perimeter configuration applies. + */ + servicePerimeterDryRun?: string | null; + } /** * An allowed method or permission of a service specified in ApiOperation. */ @@ -5680,6 +5701,171 @@ export namespace accesscontextmanager_v1 { requestBody?: Schema$TestIamPermissionsRequest; } + export class Resource$Folders { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Looks up the configured service perimeter for a given resource Format: ['projects/{projectNumber\}', 'folders/{folderNumber\}']. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/accesscontextmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const accesscontextmanager = google.accesscontextmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await accesscontextmanager.folders.lookupConfiguredServicePerimeter({ + * // Required. The Resource to resolve (e.g. "projects/123", "folders/456"). + * resource: 'folders/my-folder', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "restrictedResource": "my_restrictedResource", + * // "restrictedResourceDryRun": "my_restrictedResourceDryRun", + * // "servicePerimeter": "my_servicePerimeter", + * // "servicePerimeterDryRun": "my_servicePerimeterDryRun" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + lookupConfiguredServicePerimeter( + params: Params$Resource$Folders$Lookupconfiguredserviceperimeter, + options: StreamMethodOptions + ): Promise>; + lookupConfiguredServicePerimeter( + params?: Params$Resource$Folders$Lookupconfiguredserviceperimeter, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + lookupConfiguredServicePerimeter( + params: Params$Resource$Folders$Lookupconfiguredserviceperimeter, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + lookupConfiguredServicePerimeter( + params: Params$Resource$Folders$Lookupconfiguredserviceperimeter, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + lookupConfiguredServicePerimeter( + params: Params$Resource$Folders$Lookupconfiguredserviceperimeter, + callback: BodyResponseCallback + ): void; + lookupConfiguredServicePerimeter( + callback: BodyResponseCallback + ): void; + lookupConfiguredServicePerimeter( + paramsOrCallback?: + | Params$Resource$Folders$Lookupconfiguredserviceperimeter + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Lookupconfiguredserviceperimeter; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Lookupconfiguredserviceperimeter; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://accesscontextmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+resource}:lookupConfiguredServicePerimeter' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Folders$Lookupconfiguredserviceperimeter extends StandardParameters { + /** + * Required. The Resource to resolve (e.g. "projects/123", "folders/456"). + */ + resource?: string; + } + export class Resource$Operations { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -6345,7 +6531,6 @@ export namespace accesscontextmanager_v1 { * // "groupKey": "my_groupKey", * // "name": "my_name", * // "principal": {}, - * // "restrictedClientApplications": [], * // "scopedAccessSettings": [], * // "sessionSettings": {} * // } @@ -6643,7 +6828,6 @@ export namespace accesscontextmanager_v1 { * // "groupKey": "my_groupKey", * // "name": "my_name", * // "principal": {}, - * // "restrictedClientApplications": [], * // "scopedAccessSettings": [], * // "sessionSettings": {} * // } @@ -6947,7 +7131,6 @@ export namespace accesscontextmanager_v1 { * // "groupKey": "my_groupKey", * // "name": "my_name", * // "principal": {}, - * // "restrictedClientApplications": [], * // "scopedAccessSettings": [], * // "sessionSettings": {} * // } @@ -7285,6 +7468,172 @@ export namespace accesscontextmanager_v1 { pageToken?: string; } + export class Resource$Projects { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Looks up the configured service perimeter for a given resource Format: ['projects/{projectNumber\}', 'folders/{folderNumber\}']. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/accesscontextmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const accesscontextmanager = google.accesscontextmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await accesscontextmanager.projects.lookupConfiguredServicePerimeter({ + * // Required. The Resource to resolve (e.g. "projects/123", "folders/456"). + * resource: 'projects/my-project', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "restrictedResource": "my_restrictedResource", + * // "restrictedResourceDryRun": "my_restrictedResourceDryRun", + * // "servicePerimeter": "my_servicePerimeter", + * // "servicePerimeterDryRun": "my_servicePerimeterDryRun" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + lookupConfiguredServicePerimeter( + params: Params$Resource$Projects$Lookupconfiguredserviceperimeter, + options: StreamMethodOptions + ): Promise>; + lookupConfiguredServicePerimeter( + params?: Params$Resource$Projects$Lookupconfiguredserviceperimeter, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + lookupConfiguredServicePerimeter( + params: Params$Resource$Projects$Lookupconfiguredserviceperimeter, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + lookupConfiguredServicePerimeter( + params: Params$Resource$Projects$Lookupconfiguredserviceperimeter, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + lookupConfiguredServicePerimeter( + params: Params$Resource$Projects$Lookupconfiguredserviceperimeter, + callback: BodyResponseCallback + ): void; + lookupConfiguredServicePerimeter( + callback: BodyResponseCallback + ): void; + lookupConfiguredServicePerimeter( + paramsOrCallback?: + | Params$Resource$Projects$Lookupconfiguredserviceperimeter + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Lookupconfiguredserviceperimeter; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Lookupconfiguredserviceperimeter; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://accesscontextmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+resource}:lookupConfiguredServicePerimeter' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Lookupconfiguredserviceperimeter extends StandardParameters { + /** + * Required. The Resource to resolve (e.g. "projects/123", "folders/456"). + */ + resource?: string; + } + export class Resource$Services { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/acmedns/package.json b/src/apis/acmedns/package.json index 9fd33935b47..f66b20baa0d 100644 --- a/src/apis/acmedns/package.json +++ b/src/apis/acmedns/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/addressvalidation/README.md b/src/apis/addressvalidation/README.md index 43341e34eb1..949b4e9be7b 100644 --- a/src/apis/addressvalidation/README.md +++ b/src/apis/addressvalidation/README.md @@ -4,6 +4,15 @@ > The Address Validation API allows developers to verify the accuracy of addresses. Given an address, it returns information about the correctness of the components of the parsed address, a geocode, and a verdict on the deliverability of the parsed address. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@googlemaps/addressvalidation](https://www.npmjs.com/package/@googlemaps/addressvalidation) instead. +The [@googlemaps/addressvalidation](https://www.npmjs.com/package/@googlemaps/addressvalidation) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/addressvalidation/package.json b/src/apis/addressvalidation/package.json index b0db4434745..d689dc6fb8c 100644 --- a/src/apis/addressvalidation/package.json +++ b/src/apis/addressvalidation/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/adexchangebuyer/package.json b/src/apis/adexchangebuyer/package.json index db196ef7475..fabb1688b26 100644 --- a/src/apis/adexchangebuyer/package.json +++ b/src/apis/adexchangebuyer/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/adexchangebuyer2/package.json b/src/apis/adexchangebuyer2/package.json index 038914fbe53..b548b38e5f2 100644 --- a/src/apis/adexchangebuyer2/package.json +++ b/src/apis/adexchangebuyer2/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/adexperiencereport/package.json b/src/apis/adexperiencereport/package.json index 7fcd8d251c0..e61d6453d7a 100644 --- a/src/apis/adexperiencereport/package.json +++ b/src/apis/adexperiencereport/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/admin/directory_v1.ts b/src/apis/admin/directory_v1.ts index 4bf90a1e939..afba435fd65 100644 --- a/src/apis/admin/directory_v1.ts +++ b/src/apis/admin/directory_v1.ts @@ -1240,6 +1240,15 @@ export namespace admin_directory_v1 { * 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); \} */ export interface Schema$Empty {} + /** + * Details regarding the expiration of this role assignment. Used to automatically revoke access when the time limit is reached. + */ + export interface Schema$ExpirationDetails { + /** + * The specific timestamp when the role assignment expires. + */ + expireTime?: string | null; + } /** * External identifier used to link and identify this group across external directory systems. */ @@ -2030,6 +2039,10 @@ export namespace admin_directory_v1 { * ETag of the resource. */ etag?: string | null; + /** + * Optional. Details regarding the expiration of this role assignment. + */ + expirationDetails?: Schema$ExpirationDetails; /** * The type of the API resource. This is always `admin#directory#roleAssignment`. */ @@ -17672,6 +17685,7 @@ export namespace admin_directory_v1 { * // "assigneeType": "my_assigneeType", * // "condition": "my_condition", * // "etag": "my_etag", + * // "expirationDetails": {}, * // "kind": "my_kind", * // "orgUnitId": "my_orgUnitId", * // "roleAssignmentId": "my_roleAssignmentId", @@ -17817,6 +17831,7 @@ export namespace admin_directory_v1 { * // "assigneeType": "my_assigneeType", * // "condition": "my_condition", * // "etag": "my_etag", + * // "expirationDetails": {}, * // "kind": "my_kind", * // "orgUnitId": "my_orgUnitId", * // "roleAssignmentId": "my_roleAssignmentId", @@ -17833,6 +17848,7 @@ export namespace admin_directory_v1 { * // "assigneeType": "my_assigneeType", * // "condition": "my_condition", * // "etag": "my_etag", + * // "expirationDetails": {}, * // "kind": "my_kind", * // "orgUnitId": "my_orgUnitId", * // "roleAssignmentId": "my_roleAssignmentId", diff --git a/src/apis/admin/package.json b/src/apis/admin/package.json index c6b87d47662..4b7c92cb0a8 100644 --- a/src/apis/admin/package.json +++ b/src/apis/admin/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/admob/package.json b/src/apis/admob/package.json index f2e47636480..9be5d081efe 100644 --- a/src/apis/admob/package.json +++ b/src/apis/admob/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/adsense/package.json b/src/apis/adsense/package.json index 406df6dd01f..fea89394f07 100644 --- a/src/apis/adsense/package.json +++ b/src/apis/adsense/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/adsensehost/package.json b/src/apis/adsensehost/package.json index 568b2be47db..76d1a628ae4 100644 --- a/src/apis/adsensehost/package.json +++ b/src/apis/adsensehost/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/adsenseplatform/package.json b/src/apis/adsenseplatform/package.json index f325a11d417..f241faf8cc9 100644 --- a/src/apis/adsenseplatform/package.json +++ b/src/apis/adsenseplatform/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/advisorynotifications/package.json b/src/apis/advisorynotifications/package.json index 1d9ce8763e1..b394a6dfed9 100644 --- a/src/apis/advisorynotifications/package.json +++ b/src/apis/advisorynotifications/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/agenciesandbrands/README.md b/src/apis/agenciesandbrands/README.md new file mode 100644 index 00000000000..4fe93ef9afa --- /dev/null +++ b/src/apis/agenciesandbrands/README.md @@ -0,0 +1,28 @@ +Google Inc. logo + +# agenciesandbrands + +> Agencies and brands API is an externally available HTTP API for ad agencies and brands to programmatically manage their deals and spending with Google Ad Manager publishers. + +## Installation + +```sh +$ npm install @googleapis/agenciesandbrands +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/agenciesandbrands/classes/Agenciesandbrands.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/agenciesandbrands/index.ts b/src/apis/agenciesandbrands/index.ts new file mode 100644 index 00000000000..2bde8669efd --- /dev/null +++ b/src/apis/agenciesandbrands/index.ts @@ -0,0 +1,47 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {agenciesandbrands_v1} from './v1'; + +export const VERSIONS = { + v1: agenciesandbrands_v1.Agenciesandbrands, +}; + +export function agenciesandbrands( + version: 'v1' +): agenciesandbrands_v1.Agenciesandbrands; +export function agenciesandbrands( + options: agenciesandbrands_v1.Options +): agenciesandbrands_v1.Agenciesandbrands; +export function agenciesandbrands( + this: GoogleConfigurable, + versionOrOptions: 'v1' | agenciesandbrands_v1.Options +) { + return getAPI('agenciesandbrands', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {agenciesandbrands_v1}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/agenciesandbrands/package.json b/src/apis/agenciesandbrands/package.json new file mode 100644 index 00000000000..4be4b077754 --- /dev/null +++ b/src/apis/agenciesandbrands/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/agenciesandbrands", + "version": "0.1.0", + "description": "agenciesandbrands", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=22.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^9.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^6.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "5.7.3", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/agenciesandbrands/tsconfig.json b/src/apis/agenciesandbrands/tsconfig.json new file mode 100644 index 00000000000..e0810904968 --- /dev/null +++ b/src/apis/agenciesandbrands/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/agenciesandbrands/v1.ts b/src/apis/agenciesandbrands/v1.ts new file mode 100644 index 00000000000..a1c012b5166 --- /dev/null +++ b/src/apis/agenciesandbrands/v1.ts @@ -0,0 +1,1814 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosResponseWithHTTP2, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace agenciesandbrands_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * 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. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * 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. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Agencies and Brands API + * + * Agencies and brands API is an externally available HTTP API for ad agencies and brands to programmatically manage their deals and spending with Google Ad Manager publishers. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * ``` + */ + export class Agenciesandbrands { + context: APIRequestContext; + agencies: Resource$Agencies; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.agencies = new Resource$Agencies(this.context); + } + } + + /** + * 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 + */ + export interface Schema$Date { + /** + * 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. + */ + day?: number | null; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + month?: number | null; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + year?: number | null; + } + /** + * A date range for a report. + */ + export interface Schema$DateRange { + /** + * A fixed date range. + */ + fixed?: Schema$FixedDateRange; + /** + * A relative date range. + */ + relative?: string | null; + } + /** + * A list of double values. + */ + export interface Schema$DoubleList { + /** + * The values + */ + values?: number[] | null; + } + /** + * 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); \} + */ + export interface Schema$Empty {} + /** + * The response message for the fetch report result rows endpoint. + */ + export interface Schema$FetchReportResultRowsResponse { + /** + * The computed fixed date ranges this report includes. Only returned with the first page of results (when page_token is not included in the request). + */ + dateRanges?: Schema$FixedDateRange[]; + /** + * A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Up to `page_size` rows of report data. + */ + rows?: Schema$Row[]; + /** + * The time at which the report was scheduled to run. For non-scheduled reports, this is the time at which the report was requested to be run. + */ + runTime?: string | null; + /** + * The total number of rows available from this report. Useful for pagination. Only returned with the first page of results (when page_token is not included in the request). + */ + totalRowCount?: number | null; + } + /** + * A dimension or a metric in a report. + */ + export interface Schema$Field { + /** + * The dimension this field represents. + */ + dimension?: string | null; + /** + * The metric this field represents. + */ + metric?: string | null; + } + /** + * A filter on a specific field. + */ + export interface Schema$FieldFilter { + /** + * Required. The field to filter on. + */ + field?: Schema$Field; + /** + * Required. The operation of this filter. + */ + operation?: string | null; + /** + * Required. Values to filter to. + */ + values?: Schema$ReportValue[]; + } + /** + * A filter over one or more fields. + */ + export interface Schema$Filter { + /** + * A list of filters whose results are AND-ed. + */ + andFilter?: Schema$FilterList; + /** + * A filter on a single field. + */ + fieldFilter?: Schema$FieldFilter; + /** + * A filter whose result is negated. + */ + notFilter?: Schema$Filter; + /** + * A list of filters whose results are OR-ed. + */ + orFilter?: Schema$FilterList; + } + /** + * A list of filters. + */ + export interface Schema$FilterList { + /** + * Required. A list of filters. + */ + filters?: Schema$Filter[]; + } + /** + * A date range between two fixed dates (inclusive of end date). + */ + export interface Schema$FixedDateRange { + /** + * Required. The end date (inclusive) of this date range. + */ + endDate?: Schema$Date; + /** + * Required. The start date of this date range. + */ + startDate?: Schema$Date; + } + /** + * A list of integer values. + */ + export interface Schema$IntList { + /** + * The values + */ + values?: string[] | null; + } + /** + * Response object for `ListReportsResponse` containing matching `Report` objects. + */ + export interface Schema$ListReportsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The `Report` objects from the specified network. + */ + reports?: Schema$Report[]; + /** + * Total number of `Report` objects. If a filter was included in the request, this reflects the total number after the filtering is applied. `total_size` won't be calculated in the response unless it has been included in a response field mask. The response field mask can be provided to the method by using the URL parameter `$fields` or `fields`, or by using the HTTP/gRPC header `X-Goog-FieldMask`. For more information, see https://developers.google.com/ad-manager/api/beta/field-masks + */ + totalSize?: number | null; + } + /** + * Contains all metric values requested for a single date range and set of column dimension values (returned in the columns field of the response). The order of the metrics in each field corresponds to the order of the metrics specified in the request. + */ + export interface Schema$MetricValueGroup { + /** + * Data for the PRIMARY MetricValueType. + */ + primaryValues?: Schema$ReportValue[]; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * 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. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * 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. + */ + metadata?: {[key: string]: any} | null; + /** + * 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\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * The `Report` resource. + */ + export interface Schema$Report { + /** + * Output only. The instant this report was created. + */ + createTime?: string | null; + /** + * Optional. Display name for the report. + */ + displayName?: string | null; + /** + * Output only. The locale of this report. Locale is set from the user's locale at the time of the request. Locale can't be modified. + */ + locale?: string | null; + /** + * Identifier. The resource name of the report. Report resource name have the form: `agencies/{account_id\}/reports/{report_id\}` + */ + name?: string | null; + /** + * Required. The report definition of the report. + */ + reportDefinition?: Schema$ReportDefinition; + /** + * Output only. Report ID. + */ + reportId?: string | null; + /** + * Output only. The instant this report was last modified. + */ + updateTime?: string | null; + } + /** + * The definition of how a report should be run. + */ + export interface Schema$ReportDefinition { + /** + * Optional. The ISO 4217 currency code for this report. Defaults to account currency code if not specified. + */ + currencyCode?: string | null; + /** + * Required. The primary date range of this report. + */ + dateRange?: Schema$DateRange; + /** + * Required. The list of dimensions to report on. If empty, the report will have no dimensions, and any metrics will be totals. + */ + dimensions?: string[] | null; + /** + * Optional. The filters for this report. + */ + filters?: Schema$Filter[]; + /** + * Required. The list of metrics to report on. If empty, the report will have no metrics. + */ + metrics?: string[] | null; + /** + * Optional. Default sorts to apply to this report. + */ + sorts?: Schema$Sort[]; + /** + * Optional. If time_zone_source is PROVIDED, this is the time zone to use for this report. Leave empty for any other time zone source. Time zone in IANA format. For example, "America/New_York". + */ + timeZone?: string | null; + /** + * Optional. Where to get the time zone for this report. Defaults to using the Pacific time zone (PT). If source is PROVIDED, the time_zone field in the report definition must also set a time zone. + */ + timeZoneSource?: string | null; + } + /** + * Represents a single value in a report. + */ + export interface Schema$ReportValue { + /** + * For boolean values. + */ + boolValue?: boolean | null; + /** + * For bytes values. + */ + bytesValue?: string | null; + /** + * For lists of double values. + */ + doubleListValue?: Schema$DoubleList; + /** + * For double values. + */ + doubleValue?: number | null; + /** + * For lists of integer values. + */ + intListValue?: Schema$IntList; + /** + * For integer values. + */ + intValue?: string | null; + /** + * For lists of string values. + */ + stringListValue?: Schema$StringList; + /** + * For string values. + */ + stringValue?: string | null; + } + /** + * A row of report data. + */ + export interface Schema$Row { + /** + * The order of the dimension values is the same as the order of the dimensions specified in the request. + */ + dimensionValues?: Schema$ReportValue[]; + /** + * The length of the metric_value_groups field will be equal to the length of the date_ranges field in the fetch response. The metric_value_groups field is ordered such that each index corresponds to the date_range at the same index. For example, given date_ranges [x, y], metric_value_groups will have a length of two. The first entry in metric_value_groups represents the metrics for date x and the second entry in metric_value_groups represents the metrics for date y. + */ + metricValueGroups?: Schema$MetricValueGroup[]; + } + /** + * `RunReport` operation metadata. + */ + export interface Schema$RunReportMetadata { + /** + * An estimate of how close this report is to being completed. Will always be 100 for failed and completed reports. + */ + percentComplete?: number | null; + /** + * The result's parent report. + */ + report?: string | null; + } + /** + * Request message for a running a report. + */ + export interface Schema$RunReportRequest {} + /** + * Response message for a completed `RunReport` operation. + */ + export interface Schema$RunReportResponse { + /** + * The unique name of the generated result. Use with `FetchReportResultRows` to retrieve data. + */ + reportResult?: string | null; + } + /** + * Represents a sorting in a report. + */ + export interface Schema$Sort { + /** + * Optional. The sort order. If true the sort will be descending. + */ + descending?: boolean | null; + /** + * Required. A field (dimension or metric) to sort by. + */ + field?: Schema$Field; + } + /** + * 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). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * 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. + */ + message?: string | null; + } + /** + * A list of string values. + */ + export interface Schema$StringList { + /** + * The values + */ + values?: string[] | null; + } + + export class Resource$Agencies { + context: APIRequestContext; + reports: Resource$Agencies$Reports; + constructor(context: APIRequestContext) { + this.context = context; + this.reports = new Resource$Agencies$Reports(this.context); + } + } + + export class Resource$Agencies$Reports { + context: APIRequestContext; + operations: Resource$Agencies$Reports$Operations; + results: Resource$Agencies$Reports$Results; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = new Resource$Agencies$Reports$Operations(this.context); + this.results = new Resource$Agencies$Reports$Results(this.context); + } + + /** + * Creates a `Report` object. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agenciesandbrands.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/agencies-and-brands'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agenciesandbrands.agencies.reports.create({ + * // Required. The parent resource where this `Report` will be created. Format: `agencies/{account_id\}` + * parent: 'agencies/my-agencie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Agencies$Reports$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Agencies$Reports$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Agencies$Reports$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Agencies$Reports$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Agencies$Reports$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Agencies$Reports$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Agencies$Reports$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Agencies$Reports$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agenciesandbrands.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/reports').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a `Report` object. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agenciesandbrands.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/agencies-and-brands'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agenciesandbrands.agencies.reports.delete({ + * // Required. Resource name of the report to delete. Format: `agencies/{account_id\}/reports/{report_id\}` + * name: 'agencies/my-agencie/reports/my-report', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Agencies$Reports$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Agencies$Reports$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Agencies$Reports$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Agencies$Reports$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Agencies$Reports$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Agencies$Reports$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Agencies$Reports$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Agencies$Reports$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agenciesandbrands.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a `Report` object. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agenciesandbrands.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/agencies-and-brands'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agenciesandbrands.agencies.reports.get({ + * // Required. The resource name of the report. Format: `agencies/{account_id\}/reports/{report_id\}` + * name: 'agencies/my-agencie/reports/my-report', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Agencies$Reports$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Agencies$Reports$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Agencies$Reports$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Agencies$Reports$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Agencies$Reports$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Agencies$Reports$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Agencies$Reports$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Agencies$Reports$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agenciesandbrands.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists `Report` objects. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agenciesandbrands.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/agencies-and-brands'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agenciesandbrands.agencies.reports.list({ + * // Optional. Expression to filter the response. See syntax details at https://developers.google.com/ad-manager/api/beta/filters + * filter: 'placeholder-value', + * // Optional. Expression to specify sorting order. See syntax details at https://developers.google.com/ad-manager/api/beta/filters#order + * orderBy: 'placeholder-value', + * // Optional. The maximum number of `Reports` to return. The service may return fewer than this value. If unspecified, at most 50 `Reports` will be returned. The maximum value is 1000; values greater than 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReports` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of reports. Format: `agencies/{account_id\}` + * parent: 'agencies/my-agencie', + * // Optional. Number of individual resources to skip while paginating. + * skip: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "reports": [], + * // "totalSize": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Agencies$Reports$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Agencies$Reports$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Agencies$Reports$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Agencies$Reports$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Agencies$Reports$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Agencies$Reports$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Agencies$Reports$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Agencies$Reports$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agenciesandbrands.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/reports').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates a `Report` object. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agenciesandbrands.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/agencies-and-brands'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agenciesandbrands.agencies.reports.patch({ + * // Identifier. The resource name of the report. Report resource name have the form: `agencies/{account_id\}/reports/{report_id\}` + * name: 'agencies/my-agencie/reports/my-report', + * // Optional. The list of fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Agencies$Reports$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Agencies$Reports$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Agencies$Reports$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Agencies$Reports$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Agencies$Reports$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Agencies$Reports$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Agencies$Reports$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Agencies$Reports$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agenciesandbrands.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Initiates the execution of an existing report asynchronously. Users can get the report by polling this operation using `OperationsService.GetOperation`. Poll every 5 seconds initially, with an exponential backoff. Once a report is complete, the operation will contain a `RunReportResponse` in its response field containing a report_result that can be passed to the `FetchReportResultRows` method to retrieve the report data. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agenciesandbrands.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/agencies-and-brands'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agenciesandbrands.agencies.reports.run({ + * // Required. The report to run. Format: `agencies/{account_id\}/reports/{report_id\}` + * name: 'agencies/my-agencie/reports/my-report', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + run( + params: Params$Resource$Agencies$Reports$Run, + options: StreamMethodOptions + ): Promise>; + run( + params?: Params$Resource$Agencies$Reports$Run, + options?: MethodOptions + ): Promise>; + run( + params: Params$Resource$Agencies$Reports$Run, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + run( + params: Params$Resource$Agencies$Reports$Run, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + run( + params: Params$Resource$Agencies$Reports$Run, + callback: BodyResponseCallback + ): void; + run(callback: BodyResponseCallback): void; + run( + paramsOrCallback?: + | Params$Resource$Agencies$Reports$Run + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Agencies$Reports$Run; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Agencies$Reports$Run; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agenciesandbrands.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:run').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Agencies$Reports$Create extends StandardParameters { + /** + * Required. The parent resource where this `Report` will be created. Format: `agencies/{account_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + export interface Params$Resource$Agencies$Reports$Delete extends StandardParameters { + /** + * Required. Resource name of the report to delete. Format: `agencies/{account_id\}/reports/{report_id\}` + */ + name?: string; + } + export interface Params$Resource$Agencies$Reports$Get extends StandardParameters { + /** + * Required. The resource name of the report. Format: `agencies/{account_id\}/reports/{report_id\}` + */ + name?: string; + } + export interface Params$Resource$Agencies$Reports$List extends StandardParameters { + /** + * Optional. Expression to filter the response. See syntax details at https://developers.google.com/ad-manager/api/beta/filters + */ + filter?: string; + /** + * Optional. Expression to specify sorting order. See syntax details at https://developers.google.com/ad-manager/api/beta/filters#order + */ + orderBy?: string; + /** + * Optional. The maximum number of `Reports` to return. The service may return fewer than this value. If unspecified, at most 50 `Reports` will be returned. The maximum value is 1000; values greater than 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReports` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of reports. Format: `agencies/{account_id\}` + */ + parent?: string; + /** + * Optional. Number of individual resources to skip while paginating. + */ + skip?: number; + } + export interface Params$Resource$Agencies$Reports$Patch extends StandardParameters { + /** + * Identifier. The resource name of the report. Report resource name have the form: `agencies/{account_id\}/reports/{report_id\}` + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + export interface Params$Resource$Agencies$Reports$Run extends StandardParameters { + /** + * Required. The report to run. Format: `agencies/{account_id\}/reports/{report_id\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RunReportRequest; + } + + export class Resource$Agencies$Reports$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agenciesandbrands.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/agencies-and-brands'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agenciesandbrands.agencies.reports.operations.get({ + * // The name of the operation resource. + * name: 'agencies/my-agencie/reports/my-report/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Agencies$Reports$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Agencies$Reports$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Agencies$Reports$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Agencies$Reports$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Agencies$Reports$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Agencies$Reports$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Agencies$Reports$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Agencies$Reports$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agenciesandbrands.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Agencies$Reports$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + + export class Resource$Agencies$Reports$Results { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the result rows from a completed report. The caller must have previously called `RunReport` and waited for that operation to complete. The rows will be returned according to the order specified by the `sorts` member of the report definition. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agenciesandbrands.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agenciesandbrands = google.agenciesandbrands('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/agencies-and-brands'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agenciesandbrands.agencies.reports.results.fetchRows({ + * // The report result being fetched. Format: `agencies/{account_id\}/reports/{report_id\}/results/{report_result_id\}` + * name: 'agencies/my-agencie/reports/my-report/results/my-result', + * // Optional. The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 1,000 rows will be returned. The maximum value is 10,000; values greater than 10,000 will be reduced to 10,000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `FetchReportResultRows` call. Provide this to retrieve the second and subsequent batches of rows. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dateRanges": [], + * // "nextPageToken": "my_nextPageToken", + * // "rows": [], + * // "runTime": "my_runTime", + * // "totalRowCount": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchRows( + params: Params$Resource$Agencies$Reports$Results$Fetchrows, + options: StreamMethodOptions + ): Promise>; + fetchRows( + params?: Params$Resource$Agencies$Reports$Results$Fetchrows, + options?: MethodOptions + ): Promise>; + fetchRows( + params: Params$Resource$Agencies$Reports$Results$Fetchrows, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchRows( + params: Params$Resource$Agencies$Reports$Results$Fetchrows, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchRows( + params: Params$Resource$Agencies$Reports$Results$Fetchrows, + callback: BodyResponseCallback + ): void; + fetchRows( + callback: BodyResponseCallback + ): void; + fetchRows( + paramsOrCallback?: + | Params$Resource$Agencies$Reports$Results$Fetchrows + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Agencies$Reports$Results$Fetchrows; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Agencies$Reports$Results$Fetchrows; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agenciesandbrands.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:fetchRows').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Agencies$Reports$Results$Fetchrows extends StandardParameters { + /** + * The report result being fetched. Format: `agencies/{account_id\}/reports/{report_id\}/results/{report_result_id\}` + */ + name?: string; + /** + * Optional. The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 1,000 rows will be returned. The maximum value is 10,000; values greater than 10,000 will be reduced to 10,000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `FetchReportResultRows` call. Provide this to retrieve the second and subsequent batches of rows. + */ + pageToken?: string; + } +} diff --git a/src/apis/agenciesandbrands/webpack.config.js b/src/apis/agenciesandbrands/webpack.config.js new file mode 100644 index 00000000000..23bc312604a --- /dev/null +++ b/src/apis/agenciesandbrands/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Agenciesandbrands', + filename: 'agenciesandbrands.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; diff --git a/src/apis/agentidentity/README.md b/src/apis/agentidentity/README.md index 265f3fa9d07..fd3fff52f6b 100644 --- a/src/apis/agentidentity/README.md +++ b/src/apis/agentidentity/README.md @@ -4,6 +4,15 @@ > +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/agentidentity](https://www.npmjs.com/package/@google-cloud/agentidentity) instead. +The [@google-cloud/agentidentity](https://www.npmjs.com/package/@google-cloud/agentidentity) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/agentidentity/package.json b/src/apis/agentidentity/package.json index 1218b0f92c8..65c076fcf9e 100644 --- a/src/apis/agentidentity/package.json +++ b/src/apis/agentidentity/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/agentidentitycredentials/package.json b/src/apis/agentidentitycredentials/package.json index dd6ad7e6bb9..209433f83e0 100644 --- a/src/apis/agentidentitycredentials/package.json +++ b/src/apis/agentidentitycredentials/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/agentregistry/README.md b/src/apis/agentregistry/README.md index 624d4800ada..3d7f8ae66ae 100644 --- a/src/apis/agentregistry/README.md +++ b/src/apis/agentregistry/README.md @@ -4,6 +4,15 @@ > Agent Registry is a centralized, unified catalog that lets you store, discover, and govern Model Context Protocol (MCP) servers, tools, and AI agents within Google Cloud. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/agentregistry](https://www.npmjs.com/package/@google-cloud/agentregistry) instead. +The [@google-cloud/agentregistry](https://www.npmjs.com/package/@google-cloud/agentregistry) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/agentregistry/package.json b/src/apis/agentregistry/package.json index 9ed3add631d..8e04eb6d873 100644 --- a/src/apis/agentregistry/package.json +++ b/src/apis/agentregistry/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/agentregistry/v1alpha.ts b/src/apis/agentregistry/v1alpha.ts index e98cf882cba..3d5c13eba26 100644 --- a/src/apis/agentregistry/v1alpha.ts +++ b/src/apis/agentregistry/v1alpha.ts @@ -378,6 +378,27 @@ export namespace agentregistry_v1alpha { */ type?: string | null; } + /** + * 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. + */ + export interface Schema$Expr { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description?: string | null; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression?: string | null; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location?: string | null; + /** + * 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. + */ + title?: string | null; + } /** * Message for response to fetching available Bindings. */ @@ -429,6 +450,101 @@ export namespace agentregistry_v1alpha { */ uri?: string | null; } + /** + * 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. + */ + export interface Schema$GoogleIamV1AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$GoogleIamV1AuditLogConfig[]; + /** + * 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. + */ + service?: string | null; + } + /** + * 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. + */ + export interface Schema$GoogleIamV1AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[] | null; + /** + * The log type that this config enables. + */ + logType?: string | null; + } + /** + * Associates `members`, or principals, with a `role`. + */ + export interface Schema$GoogleIamV1Binding { + /** + * 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). + */ + condition?: Schema$Expr; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/group/{group_id\}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/x`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/group/{group_id\}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/x`: All identities in a workload identity pool. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + */ + members?: string[] | null; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). + */ + role?: string | null; + } + /** + * 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/). + */ + export interface Schema$GoogleIamV1Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$GoogleIamV1AuditConfig[]; + /** + * 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`. + */ + bindings?: Schema$GoogleIamV1Binding[]; + /** + * `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. + */ + etag?: string | null; + /** + * 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). + */ + version?: number | null; + } + /** + * Request message for `SetIamPolicy` method. + */ + export interface Schema$GoogleIamV1SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them. + */ + policy?: Schema$GoogleIamV1Policy; + /** + * 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"` + */ + updateMask?: string | null; + } + /** + * Request message for `TestIamPermissions` method. + */ + export interface Schema$GoogleIamV1TestIamPermissionsRequest { + /** + * 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). + */ + permissions?: string[] | null; + } + /** + * Response message for `TestIamPermissions` method. + */ + export interface Schema$GoogleIamV1TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is allowed. + */ + permissions?: string[] | null; + } /** * Represents the connection details for an Agent or MCP Server. */ @@ -1048,6 +1164,7 @@ export namespace agentregistry_v1alpha { export class Resource$Projects$Locations { context: APIRequestContext; agents: Resource$Projects$Locations$Agents; + aiApplications: Resource$Projects$Locations$Aiapplications; bindings: Resource$Projects$Locations$Bindings; endpoints: Resource$Projects$Locations$Endpoints; mcpServers: Resource$Projects$Locations$Mcpservers; @@ -1058,6 +1175,9 @@ export namespace agentregistry_v1alpha { constructor(context: APIRequestContext) { this.context = context; this.agents = new Resource$Projects$Locations$Agents(this.context); + this.aiApplications = new Resource$Projects$Locations$Aiapplications( + this.context + ); this.bindings = new Resource$Projects$Locations$Bindings(this.context); this.endpoints = new Resource$Projects$Locations$Endpoints(this.context); this.mcpServers = new Resource$Projects$Locations$Mcpservers( @@ -1096,8 +1216,10 @@ export namespace agentregistry_v1alpha { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', * 'https://www.googleapis.com/auth/agentregistry.read-write', * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', * ], * }); * @@ -1237,8 +1359,10 @@ export namespace agentregistry_v1alpha { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', * 'https://www.googleapis.com/auth/agentregistry.read-write', * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', * ], * }); * @@ -1900,14 +2024,14 @@ export namespace agentregistry_v1alpha { requestBody?: Schema$SearchAgentsRequest; } - export class Resource$Projects$Locations$Bindings { + export class Resource$Projects$Locations$Aiapplications { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new Binding in a given project and location. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * @example * ```js * // Before running the sample: @@ -1941,38 +2065,22 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.bindings.create({ - * // Required. The ID to use for the binding, which will become the final component of the binding's resource name. This value should be 4-63 characters, and must conform to RFC-1034. Specifically, it must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. - * bindingId: 'placeholder-value', - * // Required. The project and location to create the Binding in. Expected format: `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "authProviderBinding": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "source": {}, - * // "target": {}, - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * const res = + * await agentregistry.projects.locations.aiApplications.getIamPolicy({ + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/aiApplications/my-aiApplication', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -1988,52 +2096,56 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Bindings$Create, + getIamPolicy( + params: Params$Resource$Projects$Locations$Aiapplications$Getiampolicy, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Bindings$Create, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Aiapplications$Getiampolicy, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Bindings$Create, + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Aiapplications$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Bindings$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Aiapplications$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Bindings$Create, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Aiapplications$Getiampolicy, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Bindings$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Aiapplications$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Bindings$Create; + {}) as Params$Resource$Projects$Locations$Aiapplications$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Bindings$Create; + params = + {} as Params$Resource$Projects$Locations$Aiapplications$Getiampolicy; options = {}; } @@ -2047,32 +2159,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/bindings').replace( + url: (rootUrl + '/v1alpha/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single Binding. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * @example * ```js * // Before running the sample: @@ -2094,10 +2206,8 @@ export namespace agentregistry_v1alpha { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/agentregistry.read-only', * 'https://www.googleapis.com/auth/agentregistry.read-write', * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/cloud-platform.read-only', * ], * }); * @@ -2106,21 +2216,29 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.bindings.delete({ - * // Required. The name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. - * name: 'projects/my-project/locations/my-location/bindings/my-binding', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * }); + * const res = + * await agentregistry.projects.locations.aiApplications.setIamPolicy({ + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/aiApplications/my-aiApplication', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {}, + * // "updateMask": "my_updateMask" + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -2136,52 +2254,56 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Bindings$Delete, + setIamPolicy( + params: Params$Resource$Projects$Locations$Aiapplications$Setiampolicy, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Bindings$Delete, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Aiapplications$Setiampolicy, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Bindings$Delete, + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Aiapplications$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Bindings$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Aiapplications$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Bindings$Delete, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Aiapplications$Setiampolicy, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Bindings$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Aiapplications$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Bindings$Delete; + {}) as Params$Resource$Projects$Locations$Aiapplications$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Bindings$Delete; + params = + {} as Params$Resource$Projects$Locations$Aiapplications$Setiampolicy; options = {}; } @@ -2195,29 +2317,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1alpha/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Fetches available Bindings. + * 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. * @example * ```js * // Before running the sample: @@ -2251,24 +2376,25 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.bindings.fetchAvailable({ - * // Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given. - * pageSize: 'placeholder-value', - * // Optional. A token identifying a page of results the server should return. - * pageToken: 'placeholder-value', - * // Required. The parent, in the format `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * // The identifier of the source Agent. Format: * `urn:agent:{publisher\}:{namespace\}:{name\}` - * sourceIdentifier: 'placeholder-value', - * // Optional. The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher\}:{namespace\}:{name\}` * `urn:mcp:{publisher\}:{namespace\}:{name\}` * `urn:endpoint:{publisher\}:{namespace\}:{name\}` - * targetIdentifier: 'placeholder-value', - * }); + * const res = + * await agentregistry.projects.locations.aiApplications.testIamPermissions({ + * // REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/aiApplications/my-aiApplication', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "bindings": [], - * // "nextPageToken": "my_nextPageToken" + * // "permissions": [] * // } * } * @@ -2284,58 +2410,62 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - fetchAvailable( - params: Params$Resource$Projects$Locations$Bindings$Fetchavailable, + testIamPermissions( + params: Params$Resource$Projects$Locations$Aiapplications$Testiampermissions, options: StreamMethodOptions ): Promise>; - fetchAvailable( - params?: Params$Resource$Projects$Locations$Bindings$Fetchavailable, + testIamPermissions( + params?: Params$Resource$Projects$Locations$Aiapplications$Testiampermissions, options?: MethodOptions - ): Promise>; - fetchAvailable( - params: Params$Resource$Projects$Locations$Bindings$Fetchavailable, + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Aiapplications$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - fetchAvailable( - params: Params$Resource$Projects$Locations$Bindings$Fetchavailable, + testIamPermissions( + params: Params$Resource$Projects$Locations$Aiapplications$Testiampermissions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - fetchAvailable( - params: Params$Resource$Projects$Locations$Bindings$Fetchavailable, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Aiapplications$Testiampermissions, + callback: BodyResponseCallback ): void; - fetchAvailable( - callback: BodyResponseCallback + testIamPermissions( + callback: BodyResponseCallback ): void; - fetchAvailable( + testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Bindings$Fetchavailable - | BodyResponseCallback + | Params$Resource$Projects$Locations$Aiapplications$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Bindings$Fetchavailable; + {}) as Params$Resource$Projects$Locations$Aiapplications$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Bindings$Fetchavailable; + {} as Params$Resource$Projects$Locations$Aiapplications$Testiampermissions; options = {}; } @@ -2349,50 +2479,91 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: ( - rootUrl + '/v1alpha/{+parent}/bindings:fetchAvailable' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1alpha/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } + } + export interface Params$Resource$Projects$Locations$Aiapplications$Getiampolicy extends StandardParameters { /** - * Gets details of a single Binding. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const agentregistry = google.agentregistry('v1alpha'); - * + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Aiapplications$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Aiapplications$Testiampermissions extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Bindings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new Binding in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agentregistry = google.agentregistry('v1alpha'); + * * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. @@ -2409,22 +2580,38 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.bindings.get({ - * // Required. The name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. - * name: 'projects/my-project/locations/my-location/bindings/my-binding', + * const res = await agentregistry.projects.locations.bindings.create({ + * // Required. The ID to use for the binding, which will become the final component of the binding's resource name. This value should be 4-63 characters, and must conform to RFC-1034. Specifically, it must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. + * bindingId: 'placeholder-value', + * // Required. The project and location to create the Binding in. Expected format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "authProviderBinding": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "source": {}, + * // "target": {}, + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "authProviderBinding": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "source": {}, - * // "target": {}, - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -2440,52 +2627,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Bindings$Get, + create( + params: Params$Resource$Projects$Locations$Bindings$Create, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Bindings$Get, + create( + params?: Params$Resource$Projects$Locations$Bindings$Create, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Bindings$Get, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Bindings$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Bindings$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Bindings$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Bindings$Get, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Bindings$Create, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Bindings$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Bindings$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Bindings$Get; + {}) as Params$Resource$Projects$Locations$Bindings$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Bindings$Get; + params = {} as Params$Resource$Projects$Locations$Bindings$Create; options = {}; } @@ -2499,29 +2686,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1alpha/{+parent}/bindings').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists Bindings in a given project and location. + * Deletes a single Binding. * @example * ```js * // Before running the sample: @@ -2555,24 +2745,21 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.bindings.list({ - * // Optional. A query string used to filter the list of bindings returned. The filter expression must follow AIP-160 syntax. - * filter: 'placeholder-value', - * // Optional. Hint for how to order the results - * orderBy: 'placeholder-value', - * // Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given. - * pageSize: 'placeholder-value', - * // Optional. A token identifying a page of results the server should return. - * pageToken: 'placeholder-value', - * // Required. The project and location to list bindings in. Expected format: `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', + * const res = await agentregistry.projects.locations.bindings.delete({ + * // Required. The name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. + * name: 'projects/my-project/locations/my-location/bindings/my-binding', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "bindings": [], - * // "nextPageToken": "my_nextPageToken" + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -2588,54 +2775,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Bindings$List, + delete( + params: Params$Resource$Projects$Locations$Bindings$Delete, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Bindings$List, + delete( + params?: Params$Resource$Projects$Locations$Bindings$Delete, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Bindings$List, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Bindings$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Bindings$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Bindings$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Bindings$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Bindings$Delete, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Bindings$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Bindings$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Bindings$List; + {}) as Params$Resource$Projects$Locations$Bindings$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Bindings$List; + params = {} as Params$Resource$Projects$Locations$Bindings$Delete; options = {}; } @@ -2649,32 +2834,29 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/bindings').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single Binding. + * Fetches available Bindings. * @example * ```js * // Before running the sample: @@ -2708,38 +2890,24 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.bindings.patch({ - * // Required. Identifier. The resource name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. - * name: 'projects/my-project/locations/my-location/bindings/my-binding', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Optional. Field mask is used to specify the fields to be overwritten in the Binding 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 present in the request will be overwritten. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "authProviderBinding": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "source": {}, - * // "target": {}, - * // "updateTime": "my_updateTime" - * // } - * }, - * }); - * console.log(res.data); + * const res = await agentregistry.projects.locations.bindings.fetchAvailable({ + * // Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The parent, in the format `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * // The identifier of the source Agent. Format: * `urn:agent:{publisher\}:{namespace\}:{name\}` + * sourceIdentifier: 'placeholder-value', + * // Optional. The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher\}:{namespace\}:{name\}` * `urn:mcp:{publisher\}:{namespace\}:{name\}` * `urn:endpoint:{publisher\}:{namespace\}:{name\}` + * targetIdentifier: 'placeholder-value', + * }); + * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "bindings": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -2755,52 +2923,58 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Bindings$Patch, + fetchAvailable( + params: Params$Resource$Projects$Locations$Bindings$Fetchavailable, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Bindings$Patch, + fetchAvailable( + params?: Params$Resource$Projects$Locations$Bindings$Fetchavailable, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Bindings$Patch, + ): Promise>; + fetchAvailable( + params: Params$Resource$Projects$Locations$Bindings$Fetchavailable, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Bindings$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + fetchAvailable( + params: Params$Resource$Projects$Locations$Bindings$Fetchavailable, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Bindings$Patch, - callback: BodyResponseCallback + fetchAvailable( + params: Params$Resource$Projects$Locations$Bindings$Fetchavailable, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + fetchAvailable( + callback: BodyResponseCallback + ): void; + fetchAvailable( paramsOrCallback?: - | Params$Resource$Projects$Locations$Bindings$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Bindings$Fetchavailable + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Bindings$Patch; + {}) as Params$Resource$Projects$Locations$Bindings$Fetchavailable; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Bindings$Patch; + params = + {} as Params$Resource$Projects$Locations$Bindings$Fetchavailable; options = {}; } @@ -2814,135 +2988,33 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: ( + rootUrl + '/v1alpha/{+parent}/bindings:fetchAvailable' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } - } - - export interface Params$Resource$Projects$Locations$Bindings$Create extends StandardParameters { - /** - * Required. The ID to use for the binding, which will become the final component of the binding's resource name. This value should be 4-63 characters, and must conform to RFC-1034. Specifically, it must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. - */ - bindingId?: string; - /** - * Required. The project and location to create the Binding in. Expected format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Binding; - } - export interface Params$Resource$Projects$Locations$Bindings$Delete extends StandardParameters { - /** - * Required. The name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Projects$Locations$Bindings$Fetchavailable extends StandardParameters { - /** - * Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given. - */ - pageSize?: number; - /** - * Optional. A token identifying a page of results the server should return. - */ - pageToken?: string; - /** - * Required. The parent, in the format `projects/{project\}/locations/{location\}`. - */ - parent?: string; - /** - * The identifier of the source Agent. Format: * `urn:agent:{publisher\}:{namespace\}:{name\}` - */ - sourceIdentifier?: string; - /** - * Optional. The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher\}:{namespace\}:{name\}` * `urn:mcp:{publisher\}:{namespace\}:{name\}` * `urn:endpoint:{publisher\}:{namespace\}:{name\}` - */ - targetIdentifier?: string; - } - export interface Params$Resource$Projects$Locations$Bindings$Get extends StandardParameters { - /** - * Required. The name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Bindings$List extends StandardParameters { - /** - * Optional. A query string used to filter the list of bindings returned. The filter expression must follow AIP-160 syntax. - */ - filter?: string; - /** - * Optional. Hint for how to order the results - */ - orderBy?: string; - /** - * Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given. - */ - pageSize?: number; - /** - * Optional. A token identifying a page of results the server should return. - */ - pageToken?: string; - /** - * Required. The project and location to list bindings in. Expected format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Bindings$Patch extends StandardParameters { - /** - * Required. Identifier. The resource name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Optional. Field mask is used to specify the fields to be overwritten in the Binding 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 present in the request will be overwritten. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Binding; - } - - export class Resource$Projects$Locations$Endpoints { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Gets details of a single Endpoint. + * Gets details of a single Binding. * @example * ```js * // Before running the sample: @@ -2976,21 +3048,21 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.endpoints.get({ - * // Required. The name of the endpoint to retrieve. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` - * name: 'projects/my-project/locations/my-location/endpoints/my-endpoint', + * const res = await agentregistry.projects.locations.bindings.get({ + * // Required. The name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. + * name: 'projects/my-project/locations/my-location/bindings/my-binding', * }); * console.log(res.data); * * // Example response * // { - * // "attributes": {}, + * // "authProviderBinding": {}, * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", - * // "endpointId": "my_endpointId", - * // "interfaces": [], * // "name": "my_name", + * // "source": {}, + * // "target": {}, * // "updateTime": "my_updateTime" * // } * } @@ -3008,51 +3080,51 @@ export namespace agentregistry_v1alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Endpoints$Get, + params: Params$Resource$Projects$Locations$Bindings$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Projects$Locations$Endpoints$Get, + params?: Params$Resource$Projects$Locations$Bindings$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Projects$Locations$Endpoints$Get, + params: Params$Resource$Projects$Locations$Bindings$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Endpoints$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Bindings$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Endpoints$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Bindings$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpoints$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Bindings$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpoints$Get; + {}) as Params$Resource$Projects$Locations$Bindings$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Endpoints$Get; + params = {} as Params$Resource$Projects$Locations$Bindings$Get; options = {}; } @@ -3078,17 +3150,17 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists Endpoints in a given project and location. + * Lists Bindings in a given project and location. * @example * ```js * // Before running the sample: @@ -3122,21 +3194,23 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.endpoints.list({ - * // Optional. A query string used to filter the list of endpoints returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, `version`, and `interfaces` fields. Some examples: * `name = "projects/p1/locations/l1/endpoints/e1"` * `display_name = "my-endpoint"` * `description = "my-endpoint-description"` * `version = "v1"` * `interfaces.transport = "HTTP_JSON"` + * const res = await agentregistry.projects.locations.bindings.list({ + * // Optional. A query string used to filter the list of bindings returned. The filter expression must follow AIP-160 syntax. * filter: 'placeholder-value', - * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * // Optional. Hint for how to order the results + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given. * pageSize: 'placeholder-value', * // Optional. A token identifying a page of results the server should return. * pageToken: 'placeholder-value', - * // Required. The project and location to list endpoints in. Expected format: `projects/{project\}/locations/{location\}`. + * // Required. The project and location to list bindings in. Expected format: `projects/{project\}/locations/{location\}`. * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); * * // Example response * // { - * // "endpoints": [], + * // "bindings": [], * // "nextPageToken": "my_nextPageToken" * // } * } @@ -3154,53 +3228,53 @@ export namespace agentregistry_v1alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Endpoints$List, + params: Params$Resource$Projects$Locations$Bindings$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Projects$Locations$Endpoints$List, + params?: Params$Resource$Projects$Locations$Bindings$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Projects$Locations$Endpoints$List, + params: Params$Resource$Projects$Locations$Bindings$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Endpoints$List, + params: Params$Resource$Projects$Locations$Bindings$List, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Endpoints$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Bindings$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpoints$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Bindings$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpoints$List; + {}) as Params$Resource$Projects$Locations$Bindings$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Endpoints$List; + params = {} as Params$Resource$Projects$Locations$Bindings$List; options = {}; } @@ -3214,7 +3288,7 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/endpoints').replace( + url: (rootUrl + '/v1alpha/{+parent}/bindings').replace( /([^:]\/)\/+/g, '$1' ), @@ -3229,49 +3303,17 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Endpoints$Get extends StandardParameters { - /** - * Required. The name of the endpoint to retrieve. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Endpoints$List extends StandardParameters { - /** - * Optional. A query string used to filter the list of endpoints returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, `version`, and `interfaces` fields. Some examples: * `name = "projects/p1/locations/l1/endpoints/e1"` * `display_name = "my-endpoint"` * `description = "my-endpoint-description"` * `version = "v1"` * `interfaces.transport = "HTTP_JSON"` - */ - filter?: string; - /** - * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. - */ - pageSize?: number; - /** - * Optional. A token identifying a page of results the server should return. - */ - pageToken?: string; - /** - * Required. The project and location to list endpoints in. Expected format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - - export class Resource$Projects$Locations$Mcpservers { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Gets details of a single McpServer. + * Updates the parameters of a single Binding. * @example * ```js * // Before running the sample: @@ -3305,23 +3347,38 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.mcpServers.get({ - * // Required. Name of the resource - * name: 'projects/my-project/locations/my-location/mcpServers/my-mcpServer', + * const res = await agentregistry.projects.locations.bindings.patch({ + * // Required. Identifier. The resource name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. + * name: 'projects/my-project/locations/my-location/bindings/my-binding', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Optional. Field mask is used to specify the fields to be overwritten in the Binding 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 present in the request will be overwritten. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "authProviderBinding": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "source": {}, + * // "target": {}, + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "attributes": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "interfaces": [], - * // "mcpServerId": "my_mcpServerId", + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "tools": [], - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -3337,52 +3394,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Mcpservers$Get, + patch( + params: Params$Resource$Projects$Locations$Bindings$Patch, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Mcpservers$Get, + patch( + params?: Params$Resource$Projects$Locations$Bindings$Patch, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Mcpservers$Get, + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Bindings$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Mcpservers$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Bindings$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Mcpservers$Get, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Bindings$Patch, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Mcpservers$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Bindings$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Mcpservers$Get; + {}) as Params$Resource$Projects$Locations$Bindings$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Mcpservers$Get; + params = {} as Params$Resource$Projects$Locations$Bindings$Patch; options = {}; } @@ -3397,7 +3454,7 @@ export namespace agentregistry_v1alpha { options: Object.assign( { url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -3408,131 +3465,1061 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Bindings$Create extends StandardParameters { /** - * Lists McpServers in a given project and location. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const agentregistry = google.agentregistry('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/agentregistry.read-only', - * 'https://www.googleapis.com/auth/agentregistry.read-write', - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/cloud-platform.read-only', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await agentregistry.projects.locations.mcpServers.list({ - * // Optional. Filtering results - * filter: 'placeholder-value', - * // Optional. Hint for how to order the results - * orderBy: 'placeholder-value', - * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. - * pageSize: 'placeholder-value', - * // Optional. A token identifying a page of results the server should return. - * pageToken: 'placeholder-value', - * // Required. Parent value for ListMcpServersRequest. Format: `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "mcpServers": [], - * // "nextPageToken": "my_nextPageToken" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Required. The ID to use for the binding, which will become the final component of the binding's resource name. This value should be 4-63 characters, and must conform to RFC-1034. Specifically, it must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. */ - list( - params: Params$Resource$Projects$Locations$Mcpservers$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Mcpservers$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Mcpservers$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Mcpservers$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Mcpservers$List, + bindingId?: string; + /** + * Required. The project and location to create the Binding in. Expected format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Binding; + } + export interface Params$Resource$Projects$Locations$Bindings$Delete extends StandardParameters { + /** + * Required. The name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Bindings$Fetchavailable extends StandardParameters { + /** + * Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The parent, in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * The identifier of the source Agent. Format: * `urn:agent:{publisher\}:{namespace\}:{name\}` + */ + sourceIdentifier?: string; + /** + * Optional. The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher\}:{namespace\}:{name\}` * `urn:mcp:{publisher\}:{namespace\}:{name\}` * `urn:endpoint:{publisher\}:{namespace\}:{name\}` + */ + targetIdentifier?: string; + } + export interface Params$Resource$Projects$Locations$Bindings$Get extends StandardParameters { + /** + * Required. The name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Bindings$List extends StandardParameters { + /** + * Optional. A query string used to filter the list of bindings returned. The filter expression must follow AIP-160 syntax. + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location to list bindings in. Expected format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Bindings$Patch extends StandardParameters { + /** + * Required. Identifier. The resource name of the Binding. Format: `projects/{project\}/locations/{location\}/bindings/{binding\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the Binding 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 present in the request will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Binding; + } + + export class Resource$Projects$Locations$Endpoints { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details of a single Endpoint. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agentregistry = google.agentregistry('v1alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', + * 'https://www.googleapis.com/auth/agentregistry.read-write', + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agentregistry.projects.locations.endpoints.get({ + * // Required. The name of the endpoint to retrieve. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` + * name: 'projects/my-project/locations/my-location/endpoints/my-endpoint', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "attributes": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "endpointId": "my_endpointId", + * // "interfaces": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Endpoints$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Endpoints$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Endpoints$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Endpoints$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Endpoints$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Endpoints$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agentregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Endpoints in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agentregistry = google.agentregistry('v1alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', + * 'https://www.googleapis.com/auth/agentregistry.read-write', + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agentregistry.projects.locations.endpoints.list({ + * // Optional. A query string used to filter the list of endpoints returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, `version`, and `interfaces` fields. Some examples: * `name = "projects/p1/locations/l1/endpoints/e1"` * `display_name = "my-endpoint"` * `description = "my-endpoint-description"` * `version = "v1"` * `interfaces.transport = "HTTP_JSON"` + * filter: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location to list endpoints in. Expected format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "endpoints": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Endpoints$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Endpoints$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Endpoints$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Endpoints$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Endpoints$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Endpoints$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agentregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/endpoints').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Endpoints$Get extends StandardParameters { + /** + * Required. The name of the endpoint to retrieve. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Endpoints$List extends StandardParameters { + /** + * Optional. A query string used to filter the list of endpoints returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, `version`, and `interfaces` fields. Some examples: * `name = "projects/p1/locations/l1/endpoints/e1"` * `display_name = "my-endpoint"` * `description = "my-endpoint-description"` * `version = "v1"` * `interfaces.transport = "HTTP_JSON"` + */ + filter?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location to list endpoints in. Expected format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Mcpservers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details of a single McpServer. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agentregistry = google.agentregistry('v1alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', + * 'https://www.googleapis.com/auth/agentregistry.read-write', + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agentregistry.projects.locations.mcpServers.get({ + * // Required. Name of the resource + * name: 'projects/my-project/locations/my-location/mcpServers/my-mcpServer', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "attributes": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "interfaces": [], + * // "mcpServerId": "my_mcpServerId", + * // "name": "my_name", + * // "tools": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Mcpservers$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Mcpservers$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Mcpservers$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Mcpservers$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Mcpservers$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Mcpservers$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Mcpservers$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Mcpservers$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agentregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists McpServers in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agentregistry = google.agentregistry('v1alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', + * 'https://www.googleapis.com/auth/agentregistry.read-write', + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agentregistry.projects.locations.mcpServers.list({ + * // Optional. Filtering results + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListMcpServersRequest. Format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "mcpServers": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Mcpservers$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Mcpservers$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Mcpservers$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Mcpservers$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Mcpservers$List, callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Mcpservers$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Mcpservers$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Mcpservers$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agentregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/mcpServers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Searches McpServers in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agentregistry = google.agentregistry('v1alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', + * 'https://www.googleapis.com/auth/agentregistry.read-write', + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agentregistry.projects.locations.mcpServers.search({ + * // Required. Parent value for SearchMcpServersRequest. Format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "pageSize": 0, + * // "pageToken": "my_pageToken", + * // "searchString": "my_searchString" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "mcpServers": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + search( + params: Params$Resource$Projects$Locations$Mcpservers$Search, + options: StreamMethodOptions + ): Promise>; + search( + params?: Params$Resource$Projects$Locations$Mcpservers$Search, + options?: MethodOptions + ): Promise>; + search( + params: Params$Resource$Projects$Locations$Mcpservers$Search, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Projects$Locations$Mcpservers$Search, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Projects$Locations$Mcpservers$Search, + callback: BodyResponseCallback + ): void; + search( + callback: BodyResponseCallback + ): void; + search( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Mcpservers$Search + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Mcpservers$Search; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Mcpservers$Search; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agentregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/mcpServers:search').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Mcpservers$Get extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Mcpservers$List extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListMcpServersRequest. Format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Mcpservers$Search extends StandardParameters { + /** + * Required. Parent value for SearchMcpServersRequest. Format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SearchMcpServersRequest; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agentregistry = google.agentregistry('v1alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-write', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agentregistry.projects.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( paramsOrCallback?: - | Params$Resource$Projects$Locations$Mcpservers$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Mcpservers$List; + {}) as Params$Resource$Projects$Locations$Operations$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Mcpservers$List; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; options = {}; } @@ -3546,32 +4533,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/mcpServers').replace( + url: (rootUrl + '/v1alpha/{+name}:cancel').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Searches McpServers in a given project and location. + * 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`. * @example * ```js * // Before running the sample: @@ -3593,10 +4580,8 @@ export namespace agentregistry_v1alpha { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/agentregistry.read-only', * 'https://www.googleapis.com/auth/agentregistry.read-write', * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/cloud-platform.read-only', * ], * }); * @@ -3605,27 +4590,14 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.mcpServers.search({ - * // Required. Parent value for SearchMcpServersRequest. Format: `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "pageSize": 0, - * // "pageToken": "my_pageToken", - * // "searchString": "my_searchString" - * // } - * }, + * const res = await agentregistry.projects.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'projects/my-project/locations/my-location/operations/my-operation', * }); * console.log(res.data); * * // Example response - * // { - * // "mcpServers": [], - * // "nextPageToken": "my_nextPageToken" - * // } + * // {} * } * * main().catch(e => { @@ -3640,56 +4612,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - search( - params: Params$Resource$Projects$Locations$Mcpservers$Search, + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, options: StreamMethodOptions ): Promise>; - search( - params?: Params$Resource$Projects$Locations$Mcpservers$Search, + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions - ): Promise>; - search( - params: Params$Resource$Projects$Locations$Mcpservers$Search, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - search( - params: Params$Resource$Projects$Locations$Mcpservers$Search, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - search( - params: Params$Resource$Projects$Locations$Mcpservers$Search, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - search( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback ): void; - search( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Mcpservers$Search - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Mcpservers$Search; + {}) as Params$Resource$Projects$Locations$Operations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Mcpservers$Search; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; options = {}; } @@ -3703,79 +4671,29 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/mcpServers:search').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Mcpservers$Get extends StandardParameters { - /** - * Required. Name of the resource - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Mcpservers$List extends StandardParameters { - /** - * Optional. Filtering results - */ - filter?: string; - /** - * Optional. Hint for how to order the results - */ - orderBy?: string; - /** - * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. - */ - pageSize?: number; - /** - * Optional. A token identifying a page of results the server should return. - */ - pageToken?: string; - /** - * Required. Parent value for ListMcpServersRequest. Format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Mcpservers$Search extends StandardParameters { - /** - * Required. Parent value for SearchMcpServersRequest. Format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SearchMcpServersRequest; - } - - export class Resource$Projects$Locations$Operations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * 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`. + * 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. * @example * ```js * // Before running the sample: @@ -3797,8 +4715,10 @@ export namespace agentregistry_v1alpha { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', * 'https://www.googleapis.com/auth/agentregistry.read-write', * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', * ], * }); * @@ -3807,20 +4727,20 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.operations.cancel({ - * // The name of the operation resource to be cancelled. + * const res = await agentregistry.projects.locations.operations.get({ + * // The name of the operation resource. * name: 'projects/my-project/locations/my-location/operations/my-operation', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // {} - * }, * }); * console.log(res.data); * * // Example response - * // {} + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } * } * * main().catch(e => { @@ -3835,52 +4755,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + get( + params: Params$Resource$Projects$Locations$Operations$Get, options: StreamMethodOptions ): Promise>; - cancel( - params?: Params$Resource$Projects$Locations$Operations$Cancel, + get( + params?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions - ): Promise>; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback ): void; - cancel(callback: BodyResponseCallback): void; - cancel( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Cancel - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Cancel; + {}) as Params$Resource$Projects$Locations$Operations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + params = {} as Params$Resource$Projects$Locations$Operations$Get; options = {}; } @@ -3894,11 +4814,8 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}:cancel').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options @@ -3909,17 +4826,17 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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`. + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. * @example * ```js * // Before running the sample: @@ -3941,8 +4858,10 @@ export namespace agentregistry_v1alpha { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', * 'https://www.googleapis.com/auth/agentregistry.read-write', * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', * ], * }); * @@ -3951,14 +4870,26 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.operations.delete({ - * // The name of the operation resource to be deleted. - * name: 'projects/my-project/locations/my-location/operations/my-operation', + * const res = await agentregistry.projects.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'projects/my-project/locations/my-location', + * // The standard list page size. + * pageSize: 'placeholder-value', + * // The standard list page token. + * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response - * // {} + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "unreachable": [] + * // } * } * * main().catch(e => { @@ -3973,52 +4904,54 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Operations$Delete, + list( + params: Params$Resource$Projects$Locations$Operations$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Operations$Delete, + list( + params?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Operations$Delete, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Operations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Operations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Operations$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Delete; + {}) as Params$Resource$Projects$Locations$Operations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Delete; + params = {} as Params$Resource$Projects$Locations$Operations$List; options = {}; } @@ -4032,8 +4965,11 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1alpha/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options @@ -4044,17 +4980,70 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; /** - * 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. + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Projects$Locations$Publishers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Fetches details of a specific Publisher. * @example * ```js * // Before running the sample: @@ -4088,19 +5077,20 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.operations.get({ - * // The name of the operation resource. - * name: 'projects/my-project/locations/my-location/operations/my-operation', + * const res = await agentregistry.projects.locations.publishers.get({ + * // Required. Target publisher resource name. Format: `projects/{project\}/locations/{location\}/publishers/{publisher\}` + * name: 'projects/my-project/locations/my-location/publishers/my-publisher', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, + * // "displayName": "my_displayName", + * // "documentationUri": "my_documentationUri", * // "name": "my_name", - * // "response": {} + * // "publisherTier": "my_publisherTier", + * // "supportUri": "my_supportUri", + * // "verifiedPrefix": "my_verifiedPrefix" * // } * } * @@ -4117,51 +5107,51 @@ export namespace agentregistry_v1alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Operations$Get, + params: Params$Resource$Projects$Locations$Publishers$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Projects$Locations$Operations$Get, + params?: Params$Resource$Projects$Locations$Publishers$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Projects$Locations$Operations$Get, + params: Params$Resource$Projects$Locations$Publishers$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Operations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Publishers$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Operations$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Publishers$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Publishers$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Get; + {}) as Params$Resource$Projects$Locations$Publishers$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Get; + params = {} as Params$Resource$Projects$Locations$Publishers$Get; options = {}; } @@ -4187,17 +5177,17 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * Lists all Publishers in a location. * @example * ```js * // Before running the sample: @@ -4219,35 +5209,32 @@ export namespace agentregistry_v1alpha { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', * 'https://www.googleapis.com/auth/agentregistry.read-write', * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', * ], * }); * * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await agentregistry.projects.locations.operations.list({ - * // The standard list filter. - * filter: 'placeholder-value', - * // The name of the operation's parent resource. - * name: 'projects/my-project/locations/my-location', - * // The standard list page size. + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agentregistry.projects.locations.publishers.list({ + * // Optional. Page limit size. * pageSize: 'placeholder-value', - * // The standard list page token. + * // Optional. Page offset token. * pageToken: 'placeholder-value', - * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. - * returnPartialSuccess: 'placeholder-value', + * // Required. Parent location to query. Format: `projects/{project\}/locations/{location\}` + * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); * * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [], - * // "unreachable": [] + * // "publishers": [] * // } * } * @@ -4264,53 +5251,53 @@ export namespace agentregistry_v1alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Publishers$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Projects$Locations$Operations$List, + params?: Params$Resource$Projects$Locations$Publishers$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Publishers$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Publishers$List, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Operations$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Publishers$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Publishers$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$List; + {}) as Params$Resource$Projects$Locations$Publishers$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$List; + params = {} as Params$Resource$Projects$Locations$Publishers$List; options = {}; } @@ -4324,7 +5311,7 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}/operations').replace( + url: (rootUrl + '/v1alpha/{+parent}/publishers').replace( /([^:]\/)\/+/g, '$1' ), @@ -4334,75 +5321,50 @@ export namespace agentregistry_v1alpha { options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { - /** - * The name of the operation resource to be cancelled. - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CancelOperationRequest; - } - export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters { - /** - * The name of the operation resource to be deleted. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + export interface Params$Resource$Projects$Locations$Publishers$Get extends StandardParameters { /** - * The name of the operation resource. + * Required. Target publisher resource name. Format: `projects/{project\}/locations/{location\}/publishers/{publisher\}` */ name?: string; } - export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { - /** - * The standard list filter. - */ - filter?: string; - /** - * The name of the operation's parent resource. - */ - name?: string; + export interface Params$Resource$Projects$Locations$Publishers$List extends StandardParameters { /** - * The standard list page size. + * Optional. Page limit size. */ pageSize?: number; /** - * The standard list page token. + * Optional. Page offset token. */ pageToken?: string; /** - * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * Required. Parent location to query. Format: `projects/{project\}/locations/{location\}` */ - returnPartialSuccess?: boolean; + parent?: string; } - export class Resource$Projects$Locations$Publishers { + export class Resource$Projects$Locations$Services { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Fetches details of a specific Publisher. + * Creates a new Service in a given project and location. * @example * ```js * // Before running the sample: @@ -4436,20 +5398,40 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.publishers.get({ - * // Required. Target publisher resource name. Format: `projects/{project\}/locations/{location\}/publishers/{publisher\}` - * name: 'projects/my-project/locations/my-location/publishers/my-publisher', + * const res = await agentregistry.projects.locations.services.create({ + * // Required. The project and location to create the Service in. Expected format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. The ID to use for the service, which will become the final component of the service's resource name. This value should be 4-63 characters, and valid characters are `/a-z-/`. + * serviceId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "agentSpec": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "endpointSpec": {}, + * // "interfaces": [], + * // "mcpServerSpec": {}, + * // "name": "my_name", + * // "registryResource": "my_registryResource", + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "displayName": "my_displayName", - * // "documentationUri": "my_documentationUri", + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "publisherTier": "my_publisherTier", - * // "supportUri": "my_supportUri", - * // "verifiedPrefix": "my_verifiedPrefix" + * // "response": {} * // } * } * @@ -4465,52 +5447,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Publishers$Get, + create( + params: Params$Resource$Projects$Locations$Services$Create, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Publishers$Get, + create( + params?: Params$Resource$Projects$Locations$Services$Create, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Publishers$Get, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Services$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Publishers$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Publishers$Get, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Services$Create, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Publishers$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Services$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Publishers$Get; + {}) as Params$Resource$Projects$Locations$Services$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Publishers$Get; + params = {} as Params$Resource$Projects$Locations$Services$Create; options = {}; } @@ -4524,29 +5506,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1alpha/{+parent}/services').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists all Publishers in a location. + * Deletes a single Service. * @example * ```js * // Before running the sample: @@ -4580,20 +5565,21 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.publishers.list({ - * // Optional. Page limit size. - * pageSize: 'placeholder-value', - * // Optional. Page offset token. - * pageToken: 'placeholder-value', - * // Required. Parent location to query. Format: `projects/{project\}/locations/{location\}` - * parent: 'projects/my-project/locations/my-location', + * const res = await agentregistry.projects.locations.services.delete({ + * // Required. The name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. + * name: 'projects/my-project/locations/my-location/services/my-service', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "publishers": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -4609,54 +5595,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Publishers$List, + delete( + params: Params$Resource$Projects$Locations$Services$Delete, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Publishers$List, + delete( + params?: Params$Resource$Projects$Locations$Services$Delete, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Publishers$List, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Publishers$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Publishers$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Publishers$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Services$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Publishers$List; + {}) as Params$Resource$Projects$Locations$Services$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Publishers$List; + params = {} as Params$Resource$Projects$Locations$Services$Delete; options = {}; } @@ -4670,60 +5654,29 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/publishers').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Publishers$Get extends StandardParameters { - /** - * Required. Target publisher resource name. Format: `projects/{project\}/locations/{location\}/publishers/{publisher\}` - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Publishers$List extends StandardParameters { - /** - * Optional. Page limit size. - */ - pageSize?: number; - /** - * Optional. Page offset token. - */ - pageToken?: string; - /** - * Required. Parent location to query. Format: `projects/{project\}/locations/{location\}` - */ - parent?: string; - } - - export class Resource$Projects$Locations$Services { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new Service in a given project and location. + * Gets details of a single Service. * @example * ```js * // Before running the sample: @@ -4757,40 +5710,24 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.services.create({ - * // Required. The project and location to create the Service in. Expected format: `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Required. The ID to use for the service, which will become the final component of the service's resource name. This value should be 4-63 characters, and valid characters are `/a-z-/`. - * serviceId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "agentSpec": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "endpointSpec": {}, - * // "interfaces": [], - * // "mcpServerSpec": {}, - * // "name": "my_name", - * // "registryResource": "my_registryResource", - * // "updateTime": "my_updateTime" - * // } - * }, + * const res = await agentregistry.projects.locations.services.get({ + * // Required. The name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. + * name: 'projects/my-project/locations/my-location/services/my-service', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, + * // "agentSpec": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "endpointSpec": {}, + * // "interfaces": [], + * // "mcpServerSpec": {}, * // "name": "my_name", - * // "response": {} + * // "registryResource": "my_registryResource", + * // "updateTime": "my_updateTime" * // } * } * @@ -4806,52 +5743,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Services$Create, + get( + params: Params$Resource$Projects$Locations$Services$Get, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Services$Create, + get( + params?: Params$Resource$Projects$Locations$Services$Get, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Services$Create, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Services$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Services$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Services$Create, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Services$Get, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Services$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Services$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Services$Create; + {}) as Params$Resource$Projects$Locations$Services$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Services$Create; + params = {} as Params$Resource$Projects$Locations$Services$Get; options = {}; } @@ -4865,32 +5802,29 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/services').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single Service. + * Lists Services in a given project and location. * @example * ```js * // Before running the sample: @@ -4924,21 +5858,22 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.services.delete({ - * // Required. The name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. - * name: 'projects/my-project/locations/my-location/services/my-service', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * const res = await agentregistry.projects.locations.services.list({ + * // Optional. A query string used to filter the list of services returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, and `labels` fields. Some examples: * `name = "projects/p1/locations/l1/services/s1"` * `display_name = "my-service"` * `description : "myservice description"` * `labels.env = "prod"` + * filter: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location to list services in. Expected format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "nextPageToken": "my_nextPageToken", + * // "services": [] * // } * } * @@ -4954,52 +5889,54 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Services$Delete, + list( + params: Params$Resource$Projects$Locations$Services$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Services$Delete, + list( + params?: Params$Resource$Projects$Locations$Services$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Services$Delete, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Services$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Services$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Services$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Services$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Services$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Services$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Services$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Services$Delete; + {}) as Params$Resource$Projects$Locations$Services$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Services$Delete; + params = {} as Params$Resource$Projects$Locations$Services$List; options = {}; } @@ -5013,29 +5950,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1alpha/{+parent}/services').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets details of a single Service. + * Updates the parameters of a single Service. * @example * ```js * // Before running the sample: @@ -5069,24 +6009,40 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.services.get({ - * // Required. The name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. + * const res = await agentregistry.projects.locations.services.patch({ + * // Identifier. The resource name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. * name: 'projects/my-project/locations/my-location/services/my-service', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields present in the request will be overwritten. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "agentSpec": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "endpointSpec": {}, + * // "interfaces": [], + * // "mcpServerSpec": {}, + * // "name": "my_name", + * // "registryResource": "my_registryResource", + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "agentSpec": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "endpointSpec": {}, - * // "interfaces": [], - * // "mcpServerSpec": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "registryResource": "my_registryResource", - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -5102,52 +6058,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Services$Get, + patch( + params: Params$Resource$Projects$Locations$Services$Patch, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Services$Get, + patch( + params?: Params$Resource$Projects$Locations$Services$Patch, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Services$Get, + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Services$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Services$Get, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Services$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Services$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Services$Get; + {}) as Params$Resource$Projects$Locations$Services$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Services$Get; + params = {} as Params$Resource$Projects$Locations$Services$Patch; options = {}; } @@ -5162,7 +6118,7 @@ export namespace agentregistry_v1alpha { options: Object.assign( { url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -5173,17 +6129,101 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Services$Create extends StandardParameters { /** - * Lists Services in a given project and location. + * Required. The project and location to create the Service in. Expected format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. The ID to use for the service, which will become the final component of the service's resource name. This value should be 4-63 characters, and valid characters are `/a-z-/`. + */ + serviceId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Service; + } + export interface Params$Resource$Projects$Locations$Services$Delete extends StandardParameters { + /** + * Required. The name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Get extends StandardParameters { + /** + * Required. The name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$List extends StandardParameters { + /** + * Optional. A query string used to filter the list of services returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, and `labels` fields. Some examples: * `name = "projects/p1/locations/l1/services/s1"` * `display_name = "my-service"` * `description : "myservice description"` * `labels.env = "prod"` + */ + filter?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location to list services in. Expected format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Services$Patch extends StandardParameters { + /** + * Identifier. The resource name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields present in the request will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Service; + } + + export class Resource$Projects$Locations$Skills { + context: APIRequestContext; + revisions: Resource$Projects$Locations$Skills$Revisions; + constructor(context: APIRequestContext) { + this.context = context; + this.revisions = new Resource$Projects$Locations$Skills$Revisions( + this.context + ); + } + + /** + * ========================================================================= # Skills Collection APIs Creates a Skill resource container, optionally publishing the initial SkillRevision inline in a single, atomic CRUD roundtrip. * @example * ```js * // Before running the sample: @@ -5217,22 +6257,44 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.services.list({ - * // Optional. A query string used to filter the list of services returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, and `labels` fields. Some examples: * `name = "projects/p1/locations/l1/services/s1"` * `display_name = "my-service"` * `description : "myservice description"` * `labels.env = "prod"` - * filter: 'placeholder-value', - * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. - * pageSize: 'placeholder-value', - * // Optional. A token identifying a page of results the server should return. - * pageToken: 'placeholder-value', - * // Required. The project and location to list services in. Expected format: `projects/{project\}/locations/{location\}`. + * const res = await agentregistry.projects.locations.skills.create({ + * // Required. The project and location location to bootstrap. * parent: 'projects/my-project/locations/my-location', + * // Optional. Signed UUID request idempotency token. + * requestId: 'placeholder-value', + * // Required. Custom, user-defined unique container identifier. Must be unique within the parent project and location. This value should be 4-64 characters, and valid characters are `/a-z-/`. + * skillId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "defaultRevision": "my_defaultRevision", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "frontmatter": {}, + * // "initialRevision": {}, + * // "name": "my_name", + * // "publisher": "my_publisher", + * // "skillId": "my_skillId", + * // "state": "my_state", + * // "targetState": "my_targetState", + * // "type": "my_type", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "services": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -5248,54 +6310,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Services$List, + create( + params: Params$Resource$Projects$Locations$Skills$Create, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Services$List, + create( + params?: Params$Resource$Projects$Locations$Skills$Create, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Services$List, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Skills$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Services$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Skills$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Services$List, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Skills$Create, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Services$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Skills$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Services$List; + {}) as Params$Resource$Projects$Locations$Skills$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Services$List; + params = {} as Params$Resource$Projects$Locations$Skills$Create; options = {}; } @@ -5309,11 +6369,11 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/services').replace( + url: (rootUrl + '/v1alpha/{+parent}/skills').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -5324,17 +6384,17 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single Service. + * Deletes a Skill container along with all its revisions. * @example * ```js * // Before running the sample: @@ -5368,30 +6428,13 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.services.patch({ - * // Identifier. The resource name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. - * name: 'projects/my-project/locations/my-location/services/my-service', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * const res = await agentregistry.projects.locations.skills.delete({ + * // Optional. If set to true, any child SkillRevisions under this Skill will also be deleted. Otherwise, the request will only succeed if the Skill has no child SkillRevisions. + * force: 'placeholder-value', + * // Required. Target Skill container name to remove. + * name: 'projects/my-project/locations/my-location/skills/my-skill', + * // Optional. Signed UUID request idempotency token. * requestId: 'placeholder-value', - * // Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields present in the request will be overwritten. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "agentSpec": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "endpointSpec": {}, - * // "interfaces": [], - * // "mcpServerSpec": {}, - * // "name": "my_name", - * // "registryResource": "my_registryResource", - * // "updateTime": "my_updateTime" - * // } - * }, * }); * console.log(res.data); * @@ -5417,32 +6460,32 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Services$Patch, + delete( + params: Params$Resource$Projects$Locations$Skills$Delete, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Services$Patch, + delete( + params?: Params$Resource$Projects$Locations$Skills$Delete, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Services$Patch, + delete( + params: Params$Resource$Projects$Locations$Skills$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Services$Patch, + delete( + params: Params$Resource$Projects$Locations$Skills$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Services$Patch, + delete( + params: Params$Resource$Projects$Locations$Skills$Delete, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Services$Patch + | Params$Resource$Projects$Locations$Skills$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -5457,12 +6500,12 @@ export namespace agentregistry_v1alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Services$Patch; + {}) as Params$Resource$Projects$Locations$Skills$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Services$Patch; + params = {} as Params$Resource$Projects$Locations$Skills$Delete; options = {}; } @@ -5477,7 +6520,7 @@ export namespace agentregistry_v1alpha { options: Object.assign( { url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'DELETE', apiVersion: '', }, options @@ -5496,93 +6539,161 @@ export namespace agentregistry_v1alpha { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Services$Create extends StandardParameters { - /** - * Required. The project and location to create the Service in. Expected format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Required. The ID to use for the service, which will become the final component of the service's resource name. This value should be 4-63 characters, and valid characters are `/a-z-/`. - */ - serviceId?: string; /** - * Request body metadata - */ - requestBody?: Schema$Service; - } - export interface Params$Resource$Projects$Locations$Services$Delete extends StandardParameters { - /** - * Required. The name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Projects$Locations$Services$Get extends StandardParameters { - /** - * Required. The name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Services$List extends StandardParameters { - /** - * Optional. A query string used to filter the list of services returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, and `labels` fields. Some examples: * `name = "projects/p1/locations/l1/services/s1"` * `display_name = "my-service"` * `description : "myservice description"` * `labels.env = "prod"` - */ - filter?: string; - /** - * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. - */ - pageSize?: number; - /** - * Optional. A token identifying a page of results the server should return. - */ - pageToken?: string; - /** - * Required. The project and location to list services in. Expected format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Services$Patch extends StandardParameters { - /** - * Identifier. The resource name of the Service. Format: `projects/{project\}/locations/{location\}/services/{service\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields present in the request will be overwritten. + * Fetches the active configuration and metadata of a Skill. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/agentregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const agentregistry = google.agentregistry('v1alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/agentregistry.read-only', + * 'https://www.googleapis.com/auth/agentregistry.read-write', + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await agentregistry.projects.locations.skills.get({ + * // Required. Target resource container name. + * name: 'projects/my-project/locations/my-location/skills/my-skill', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "defaultRevision": "my_defaultRevision", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "frontmatter": {}, + * // "initialRevision": {}, + * // "name": "my_name", + * // "publisher": "my_publisher", + * // "skillId": "my_skillId", + * // "state": "my_state", + * // "targetState": "my_targetState", + * // "type": "my_type", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - updateMask?: string; + get( + params: Params$Resource$Projects$Locations$Skills$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Skills$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Skills$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Skills$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Skills$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Skills$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Skills$Get; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$Service; - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Skills$Get; + options = {}; + } - export class Resource$Projects$Locations$Skills { - context: APIRequestContext; - revisions: Resource$Projects$Locations$Skills$Revisions; - constructor(context: APIRequestContext) { - this.context = context; - this.revisions = new Resource$Projects$Locations$Skills$Revisions( - this.context - ); + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://agentregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * ========================================================================= # Skills Collection APIs Creates a Skill resource container, optionally publishing the initial SkillRevision inline in a single, atomic CRUD roundtrip. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * @example * ```js * // Before running the sample: @@ -5616,44 +6727,20 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.skills.create({ - * // Required. The project and location location to bootstrap. - * parent: 'projects/my-project/locations/my-location', - * // Optional. Signed UUID request idempotency token. - * requestId: 'placeholder-value', - * // Required. Custom, user-defined unique container identifier. Must be unique within the parent project and location. This value should be 4-64 characters, and valid characters are `/a-z-/`. - * skillId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "defaultRevision": "my_defaultRevision", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "frontmatter": {}, - * // "initialRevision": {}, - * // "name": "my_name", - * // "publisher": "my_publisher", - * // "skillId": "my_skillId", - * // "state": "my_state", - * // "targetState": "my_targetState", - * // "type": "my_type", - * // "uid": "my_uid", - * // "updateTime": "my_updateTime" - * // } - * }, + * const res = await agentregistry.projects.locations.skills.getIamPolicy({ + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: 'projects/my-project/locations/my-location/skills/my-skill', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -5669,52 +6756,55 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Skills$Create, + getIamPolicy( + params: Params$Resource$Projects$Locations$Skills$Getiampolicy, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Skills$Create, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Skills$Getiampolicy, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Skills$Create, + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Skills$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Skills$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Skills$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Skills$Create, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Skills$Getiampolicy, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Skills$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Skills$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Skills$Create; + {}) as Params$Resource$Projects$Locations$Skills$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Skills$Create; + params = {} as Params$Resource$Projects$Locations$Skills$Getiampolicy; options = {}; } @@ -5728,32 +6818,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/skills').replace( + url: (rootUrl + '/v1alpha/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a Skill container along with all its revisions. + * Lists logical Skills available in a project. * @example * ```js * // Before running the sample: @@ -5787,23 +6877,25 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.skills.delete({ - * // Optional. If set to true, any child SkillRevisions under this Skill will also be deleted. Otherwise, the request will only succeed if the Skill has no child SkillRevisions. - * force: 'placeholder-value', - * // Required. Target Skill container name to remove. - * name: 'projects/my-project/locations/my-location/skills/my-skill', - * // Optional. Signed UUID request idempotency token. - * requestId: 'placeholder-value', + * const res = await agentregistry.projects.locations.skills.list({ + * // Optional. Use this field to specify filter criteria on list results. Filter expressions can be used to restrict results based upon filterable fields, where equality operators can be used. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `<`, `\>`, `NOT`, `AND`, `OR`, and `()`. | Field | `=` | `<`, `\>` | |--------------|-----|----------| | state | Yes | No | | targetState | Yes | No | | createTime | Yes | Yes | | updateTime | Yes | Yes | Examples: * `state=ACTIVE` to restrict results to skills in the `ACTIVE` state. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListSkillsRequest + * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "nextPageToken": "my_nextPageToken", + * // "skills": [], + * // "unreachable": [] * // } * } * @@ -5819,52 +6911,53 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Skills$Delete, + list( + params: Params$Resource$Projects$Locations$Skills$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Skills$Delete, + list( + params?: Params$Resource$Projects$Locations$Skills$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Skills$Delete, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Skills$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Skills$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Skills$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Skills$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Skills$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Skills$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Skills$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Skills$Delete; + {}) as Params$Resource$Projects$Locations$Skills$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Skills$Delete; + params = {} as Params$Resource$Projects$Locations$Skills$List; options = {}; } @@ -5878,29 +6971,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1alpha/{+parent}/skills').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Fetches the active configuration and metadata of a Skill. + * Updates Skill metadata or overrides active pointers/state using REST standard PATCH. * @example * ```js * // Before running the sample: @@ -5934,28 +7030,44 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.skills.get({ - * // Required. Target resource container name. + * const res = await agentregistry.projects.locations.skills.patch({ + * // Identifier. Resource name of the Skill. Format: `projects/{project\}/locations/{location\}/skills/{skill\}` The `{skill\}` segment acts as the resource ID. If the skill is associated with a Publisher, this segment typically uses a hyphenated namespace prefix corresponding to the publisher (e.g., `google-workspace-create-docs`). * name: 'projects/my-project/locations/my-location/skills/my-skill', + * // Optional. Signed UUID request idempotency token. + * requestId: 'placeholder-value', + * // Optional. Standard update target mask mapping relative fields. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "defaultRevision": "my_defaultRevision", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "frontmatter": {}, + * // "initialRevision": {}, + * // "name": "my_name", + * // "publisher": "my_publisher", + * // "skillId": "my_skillId", + * // "state": "my_state", + * // "targetState": "my_targetState", + * // "type": "my_type", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "createTime": "my_createTime", - * // "defaultRevision": "my_defaultRevision", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "frontmatter": {}, - * // "initialRevision": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "publisher": "my_publisher", - * // "skillId": "my_skillId", - * // "state": "my_state", - * // "targetState": "my_targetState", - * // "type": "my_type", - * // "uid": "my_uid", - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -5971,52 +7083,52 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Skills$Get, + patch( + params: Params$Resource$Projects$Locations$Skills$Patch, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Skills$Get, + patch( + params?: Params$Resource$Projects$Locations$Skills$Patch, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Skills$Get, + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Skills$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Skills$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Skills$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Skills$Get, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Skills$Patch, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Skills$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Skills$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Skills$Get; + {}) as Params$Resource$Projects$Locations$Skills$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Skills$Get; + params = {} as Params$Resource$Projects$Locations$Skills$Patch; options = {}; } @@ -6031,7 +7143,7 @@ export namespace agentregistry_v1alpha { options: Object.assign( { url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -6042,17 +7154,17 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists logical Skills available in a project. + * Custom deep-search method to filter by frontmatter or query SKILL.md text blobs. * @example * ```js * // Before running the sample: @@ -6086,25 +7198,26 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.skills.list({ - * // Optional. Use this field to specify filter criteria on list results. Filter expressions can be used to restrict results based upon filterable fields, where equality operators can be used. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `<`, `\>`, `NOT`, `AND`, `OR`, and `()`. | Field | `=` | `<`, `\>` | |--------------|-----|----------| | state | Yes | No | | targetState | Yes | No | | createTime | Yes | Yes | | updateTime | Yes | Yes | Examples: * `state=ACTIVE` to restrict results to skills in the `ACTIVE` state. + * const res = await agentregistry.projects.locations.skills.search({ + * // Optional. Use this field to specify additional filter criteria on search results. Filter expressions can be used to restrict results based upon filterable fields, where equality operators can be used. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `<`, `\>`, `NOT`, `AND`, `OR`, and `()`. | Field | `=` | `<`, `\>` | |--------------|-----|----------| | state | Yes | No | | targetState | Yes | No | | createTime | Yes | Yes | | updateTime | Yes | Yes | Examples: * `state=ACTIVE` to restrict results to skills in the `ACTIVE` state. * filter: 'placeholder-value', - * // Optional. Hint for how to order the results - * orderBy: 'placeholder-value', - * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * // Optional. The maximum number of search results to return per page. The page size is capped at `100`, even if a larger value is specified. A negative value will result in an `INVALID_ARGUMENT` error. If unspecified or set to `0`, a default value of `20` will be used. The server may return fewer results than requested. * pageSize: 'placeholder-value', - * // Optional. A token identifying a page of results the server should return. + * // Optional. If present, 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 all other method parameters, must be identical to those in the previous call. * pageToken: 'placeholder-value', - * // Required. Parent value for ListSkillsRequest + * // Required. Parent value for SearchSkillsRequest. Format: `projects/{project\}/locations/{location\}`. * parent: 'projects/my-project/locations/my-location', + * // Optional. Search criteria used to select the Skills to return. If no search criteria is specified then all accessible Skills will be returned. Search expressions can be used to restrict results based upon searchable fields, where the operators can be used along with the suffix wildcard symbol `*`. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`. Searchable fields: | Field | `=` | `:` | `*` | Keyword Search | |---------------------------|-----|-----|-----|----------------| | skillId | Yes | Yes | Yes | Included | | name | No | Yes | Yes | Included | | displayName | No | Yes | Yes | Included | | description | No | Yes | No | Included | | frontmatter.name | No | Yes | No | Included | | frontmatter.description | No | Yes | No | Included | | frontmatter.compatibility | No | Yes | No | Included | | frontmatter.license | No | Yes | No | Included | Examples: * `skillId="urn:skill:projects-1234:locations:global:private-important-skill"` to find the skill with the specified skill ID. * `name:important` to find skills whose name contains `important` as a word. * `displayName:works*` to find skills whose display name contains words that start with `works`. + * searchString: 'placeholder-value', + * // Optional. The type of search. + * searchType: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "skills": [], - * // "unreachable": [] + * // "skills": [] * // } * } * @@ -6120,53 +7233,54 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Skills$List, + search( + params: Params$Resource$Projects$Locations$Skills$Search, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Skills$List, + search( + params?: Params$Resource$Projects$Locations$Skills$Search, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Skills$List, + ): Promise>; + search( + params: Params$Resource$Projects$Locations$Skills$Search, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Skills$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + search( + params: Params$Resource$Projects$Locations$Skills$Search, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Skills$List, - callback: BodyResponseCallback + search( + params: Params$Resource$Projects$Locations$Skills$Search, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + search(callback: BodyResponseCallback): void; + search( paramsOrCallback?: - | Params$Resource$Projects$Locations$Skills$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Skills$Search + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Skills$List; + {}) as Params$Resource$Projects$Locations$Skills$Search; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Skills$List; + params = {} as Params$Resource$Projects$Locations$Skills$Search; options = {}; } @@ -6180,7 +7294,7 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/skills').replace( + url: (rootUrl + '/v1alpha/{+parent}/skills:search').replace( /([^:]\/)\/+/g, '$1' ), @@ -6195,17 +7309,17 @@ export namespace agentregistry_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates Skill metadata or overrides active pointers/state using REST standard PATCH. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * @example * ```js * // Before running the sample: @@ -6227,10 +7341,8 @@ export namespace agentregistry_v1alpha { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/agentregistry.read-only', * 'https://www.googleapis.com/auth/agentregistry.read-write', * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/cloud-platform.read-only', * ], * }); * @@ -6239,32 +7351,16 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.skills.patch({ - * // Identifier. Resource name of the Skill. Format: `projects/{project\}/locations/{location\}/skills/{skill\}` The `{skill\}` segment acts as the resource ID. If the skill is associated with a Publisher, this segment typically uses a hyphenated namespace prefix corresponding to the publisher (e.g., `google-workspace-create-docs`). - * name: 'projects/my-project/locations/my-location/skills/my-skill', - * // Optional. Signed UUID request idempotency token. - * requestId: 'placeholder-value', - * // Optional. Standard update target mask mapping relative fields. - * updateMask: 'placeholder-value', + * const res = await agentregistry.projects.locations.skills.setIamPolicy({ + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: 'projects/my-project/locations/my-location/skills/my-skill', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "createTime": "my_createTime", - * // "defaultRevision": "my_defaultRevision", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "frontmatter": {}, - * // "initialRevision": {}, - * // "name": "my_name", - * // "publisher": "my_publisher", - * // "skillId": "my_skillId", - * // "state": "my_state", - * // "targetState": "my_targetState", - * // "type": "my_type", - * // "uid": "my_uid", - * // "updateTime": "my_updateTime" + * // "policy": {}, + * // "updateMask": "my_updateMask" * // } * }, * }); @@ -6272,11 +7368,10 @@ export namespace agentregistry_v1alpha { * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -6292,52 +7387,55 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Skills$Patch, + setIamPolicy( + params: Params$Resource$Projects$Locations$Skills$Setiampolicy, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Skills$Patch, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Skills$Setiampolicy, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Skills$Patch, + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Skills$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Skills$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Skills$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Skills$Patch, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Skills$Setiampolicy, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Skills$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Skills$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Skills$Patch; + {}) as Params$Resource$Projects$Locations$Skills$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Skills$Patch; + params = {} as Params$Resource$Projects$Locations$Skills$Setiampolicy; options = {}; } @@ -6351,29 +7449,32 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: (rootUrl + '/v1alpha/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Custom deep-search method to filter by frontmatter or query SKILL.md text blobs. + * 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. * @example * ```js * // Before running the sample: @@ -6407,26 +7508,23 @@ export namespace agentregistry_v1alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await agentregistry.projects.locations.skills.search({ - * // Optional. Use this field to specify additional filter criteria on search results. Filter expressions can be used to restrict results based upon filterable fields, where equality operators can be used. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `<`, `\>`, `NOT`, `AND`, `OR`, and `()`. | Field | `=` | `<`, `\>` | |--------------|-----|----------| | state | Yes | No | | targetState | Yes | No | | createTime | Yes | Yes | | updateTime | Yes | Yes | Examples: * `state=ACTIVE` to restrict results to skills in the `ACTIVE` state. - * filter: 'placeholder-value', - * // Optional. The maximum number of search results to return per page. The page size is capped at `100`, even if a larger value is specified. A negative value will result in an `INVALID_ARGUMENT` error. If unspecified or set to `0`, a default value of `20` will be used. The server may return fewer results than requested. - * pageSize: 'placeholder-value', - * // Optional. If present, 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 all other method parameters, must be identical to those in the previous call. - * pageToken: 'placeholder-value', - * // Required. Parent value for SearchSkillsRequest. Format: `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * // Optional. Search criteria used to select the Skills to return. If no search criteria is specified then all accessible Skills will be returned. Search expressions can be used to restrict results based upon searchable fields, where the operators can be used along with the suffix wildcard symbol `*`. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`. Searchable fields: | Field | `=` | `:` | `*` | Keyword Search | |---------------------------|-----|-----|-----|----------------| | skillId | Yes | Yes | Yes | Included | | name | No | Yes | Yes | Included | | displayName | No | Yes | Yes | Included | | description | No | Yes | No | Included | | frontmatter.name | No | Yes | No | Included | | frontmatter.description | No | Yes | No | Included | | frontmatter.compatibility | No | Yes | No | Included | | frontmatter.license | No | Yes | No | Included | Examples: * `skillId="urn:skill:projects-1234:locations:global:private-important-skill"` to find the skill with the specified skill ID. * `name:important` to find skills whose name contains `important` as a word. * `displayName:works*` to find skills whose display name contains words that start with `works`. - * searchString: 'placeholder-value', - * // Optional. The type of search. - * searchType: 'placeholder-value', + * const res = await agentregistry.projects.locations.skills.testIamPermissions({ + * // REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: 'projects/my-project/locations/my-location/skills/my-skill', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "skills": [] + * // "permissions": [] * // } * } * @@ -6442,54 +7540,62 @@ export namespace agentregistry_v1alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - search( - params: Params$Resource$Projects$Locations$Skills$Search, + testIamPermissions( + params: Params$Resource$Projects$Locations$Skills$Testiampermissions, options: StreamMethodOptions ): Promise>; - search( - params?: Params$Resource$Projects$Locations$Skills$Search, + testIamPermissions( + params?: Params$Resource$Projects$Locations$Skills$Testiampermissions, options?: MethodOptions - ): Promise>; - search( - params: Params$Resource$Projects$Locations$Skills$Search, + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Skills$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - search( - params: Params$Resource$Projects$Locations$Skills$Search, + testIamPermissions( + params: Params$Resource$Projects$Locations$Skills$Testiampermissions, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - search( - params: Params$Resource$Projects$Locations$Skills$Search, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Skills$Testiampermissions, + callback: BodyResponseCallback ): void; - search(callback: BodyResponseCallback): void; - search( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Skills$Search - | BodyResponseCallback + | Params$Resource$Projects$Locations$Skills$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Skills$Search; + {}) as Params$Resource$Projects$Locations$Skills$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Skills$Search; + params = + {} as Params$Resource$Projects$Locations$Skills$Testiampermissions; options = {}; } @@ -6503,27 +7609,29 @@ export namespace agentregistry_v1alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1alpha/{+parent}/skills:search').replace( + url: (rootUrl + '/v1alpha/{+resource}:testIamPermissions').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } @@ -6567,6 +7675,16 @@ export namespace agentregistry_v1alpha { */ name?: string; } + export interface Params$Resource$Projects$Locations$Skills$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Skills$List extends StandardParameters { /** * Optional. Use this field to specify filter criteria on list results. Filter expressions can be used to restrict results based upon filterable fields, where equality operators can be used. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `<`, `\>`, `NOT`, `AND`, `OR`, and `()`. | Field | `=` | `<`, `\>` | |--------------|-----|----------| | state | Yes | No | | targetState | Yes | No | | createTime | Yes | Yes | | updateTime | Yes | Yes | Examples: * `state=ACTIVE` to restrict results to skills in the `ACTIVE` state. @@ -6634,6 +7752,28 @@ export namespace agentregistry_v1alpha { */ searchType?: string; } + export interface Params$Resource$Projects$Locations$Skills$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Skills$Testiampermissions extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; + } export class Resource$Projects$Locations$Skills$Revisions { context: APIRequestContext; diff --git a/src/apis/aiplatform/package.json b/src/apis/aiplatform/package.json index c75084e1b40..d506c152783 100644 --- a/src/apis/aiplatform/package.json +++ b/src/apis/aiplatform/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/airquality/package.json b/src/apis/airquality/package.json index da39815ef8c..6404aec3dd4 100644 --- a/src/apis/airquality/package.json +++ b/src/apis/airquality/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/alertcenter/package.json b/src/apis/alertcenter/package.json index c3a78eddef4..74fe46a4ae7 100644 --- a/src/apis/alertcenter/package.json +++ b/src/apis/alertcenter/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/alloydb/package.json b/src/apis/alloydb/package.json index 829a7905e10..85f5dff9fd3 100644 --- a/src/apis/alloydb/package.json +++ b/src/apis/alloydb/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/alloydb/v1.ts b/src/apis/alloydb/v1.ts index 89b2ac8f3d9..ebfdfb3939d 100644 --- a/src/apis/alloydb/v1.ts +++ b/src/apis/alloydb/v1.ts @@ -124,15 +124,6 @@ export namespace alloydb_v1 { } } - /** - * AlloyDbInternalDebugInfo contains internal debugging information for AlloyDB errors. It is explicitly kept out of the allowlist (errors.yaml) to ensure it is sanitized (stripped) by OnePlatform for all external requests. Used only to carry internal error details to across UPC/FlowLib boundary for ObservabilityInfo. - */ - export interface Schema$AlloydbClhErrorsAlloyDbInternalDebugInfo { - /** - * The original error message or details before sanitization, used internally for debugging and logging. - */ - originalError?: string | null; - } /** * AuthorizedNetwork contains metadata for an authorized network. */ @@ -775,6 +766,19 @@ export namespace alloydb_v1 { */ time?: Schema$GoogleTypeTimeOfDay; } + /** + * DnsAutomationInfo contains information about the DNS automation for the instance. + */ + export interface Schema$DnsAutomationInfo { + /** + * Output only. The fully qualified domain name of the instance for DNS automation. Example: "...alloydb.goog.". Note: The AUDIT directive is intentionally omitted because this field contains sensitive network topology information. + */ + fullyQualifiedDomainName?: string | null; + /** + * Output only. The state of the DNS automation. + */ + state?: string | null; + } /** * 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); \} */ @@ -1076,6 +1080,10 @@ export namespace alloydb_v1 { * Optional. The configuration for Private Service Connect (PSC) for the instance. */ pscInstanceConfig?: Schema$PscInstanceConfig; + /** + * Output only. Information about the Private Service Connect (PSC) for the instance. + */ + pscInstanceInfo?: Schema$PscInstanceInfo; /** * Output only. The public IP addresses for the Instance. This is available ONLY when enable_public_ip is set. This is the connection endpoint for an end-user application. */ @@ -1510,10 +1518,22 @@ export namespace alloydb_v1 { * The consumer project to which the PSC service automation endpoint will be created. */ consumerProject?: string | null; + /** + * Output only. List of DNS automation info for the PSC auto connection. + */ + dnsAutomationInfos?: Schema$DnsAutomationInfo[]; /** * Output only. The IP address of the PSC service automation endpoint. */ ipAddress?: string | null; + /** + * Output only. The PSC service connection policy name. The format is "projects//regions//serviceConnectionPolicies/" + */ + serviceConnectionPolicy?: string | null; + /** + * Output only. The creation state or result of the connection policy. Possible values include: - `ACTIVE`: The policy was created successfully. - `PERMISSION_DENIED`: Sufficient permissions were not provided. Note that this field is an unstructured output and customers should not rely on the specific string value or error message directly. + */ + serviceConnectionPolicyCreationState?: string | null; /** * Output only. The status of the PSC service automation connection. Possible values: "STATE_UNSPECIFIED" - An invalid state as the default case. "ACTIVE" - The connection has been created successfully. "FAILED" - The connection is not functional since some resources on the connection fail to be created. "CREATING" - The connection is being created. "DELETING" - The connection is being deleted. "CREATE_REPAIRING" - The connection is being repaired to complete creation. "DELETE_REPAIRING" - The connection is being repaired to complete deletion. */ @@ -1540,10 +1560,18 @@ export namespace alloydb_v1 { * Optional. List of consumer projects that are allowed to create PSC endpoints to service-attachments to this instance. */ allowedConsumerProjects?: string[] | null; + /** + * Optional. Configuration for setting up PSC auto connection for the instance. + */ + pscAutoConnectionPolicyState?: string | null; /** * Optional. Configurations for setting up PSC service automation. */ pscAutoConnections?: Schema$PscAutoConnectionConfig[]; + /** + * Optional. Configuration for setting up PSC auto DNS for the instance. + */ + pscAutoDnsState?: string | null; /** * Output only. The DNS name of the instance for PSC connectivity. Name convention: ...alloydb-psc.goog */ @@ -1557,6 +1585,27 @@ export namespace alloydb_v1 { */ serviceAttachmentLink?: string | null; } + /** + * Information about the Private Service Connect (PSC) for the instance. + */ + export interface Schema$PscInstanceInfo { + /** + * Output only. Indicates if the PSC auto connection policy is enabled for the instance. For older instances, this will be off by default, but for newer instances, this will be auto-enabled. + */ + effectivePscAutoConnectionPolicy?: boolean | null; + /** + * Output only. The effective state of the PSC auto DNS for the instance. + */ + effectivePscAutoDnsEnabled?: boolean | null; + /** + * Output only. Specifies the auto DNS names for the instance. + */ + pscAutoDnsNames?: string[] | null; + /** + * Output only. The PSC service connection policy name. The format is "projects//regions//serviceConnectionPolicies/" + */ + serviceConnectionPolicy?: string | null; + } /** * Configuration for setting up a PSC interface to enable outbound connectivity. */ @@ -6505,6 +6554,7 @@ export namespace alloydb_v1 { * // "observabilityConfig": {}, * // "outboundPublicIpAddresses": [], * // "pscInstanceConfig": {}, + * // "pscInstanceInfo": {}, * // "publicIpAddress": "my_publicIpAddress", * // "queryInsightsConfig": {}, * // "readPoolConfig": {}, @@ -6692,6 +6742,7 @@ export namespace alloydb_v1 { * // "observabilityConfig": {}, * // "outboundPublicIpAddresses": [], * // "pscInstanceConfig": {}, + * // "pscInstanceInfo": {}, * // "publicIpAddress": "my_publicIpAddress", * // "queryInsightsConfig": {}, * // "readPoolConfig": {}, @@ -7168,6 +7219,7 @@ export namespace alloydb_v1 { * // "observabilityConfig": {}, * // "outboundPublicIpAddresses": [], * // "pscInstanceConfig": {}, + * // "pscInstanceInfo": {}, * // "publicIpAddress": "my_publicIpAddress", * // "queryInsightsConfig": {}, * // "readPoolConfig": {}, @@ -7788,6 +7840,7 @@ export namespace alloydb_v1 { * // "observabilityConfig": {}, * // "outboundPublicIpAddresses": [], * // "pscInstanceConfig": {}, + * // "pscInstanceInfo": {}, * // "publicIpAddress": "my_publicIpAddress", * // "queryInsightsConfig": {}, * // "readPoolConfig": {}, diff --git a/src/apis/alloydb/v1alpha.ts b/src/apis/alloydb/v1alpha.ts index 0a6372b0efc..6b681dfaa13 100644 --- a/src/apis/alloydb/v1alpha.ts +++ b/src/apis/alloydb/v1alpha.ts @@ -124,15 +124,6 @@ export namespace alloydb_v1alpha { } } - /** - * AlloyDbInternalDebugInfo contains internal debugging information for AlloyDB errors. It is explicitly kept out of the allowlist (errors.yaml) to ensure it is sanitized (stripped) by OnePlatform for all external requests. Used only to carry internal error details to across UPC/FlowLib boundary for ObservabilityInfo. - */ - export interface Schema$AlloydbClhErrorsAlloyDbInternalDebugInfo { - /** - * The original error message or details before sanitization, used internally for debugging and logging. - */ - originalError?: string | null; - } /** * AuthorizedNetwork contains metadata for an authorized network. */ @@ -829,6 +820,19 @@ export namespace alloydb_v1alpha { */ time?: Schema$GoogleTypeTimeOfDay; } + /** + * DnsAutomationInfo contains information about the DNS automation for the instance. + */ + export interface Schema$DnsAutomationInfo { + /** + * Output only. The fully qualified domain name of the instance for DNS automation. Example: "...alloydb.goog.". Note: The AUDIT directive is intentionally omitted because this field contains sensitive network topology information. + */ + fullyQualifiedDomainName?: string | null; + /** + * Output only. The state of the DNS automation. + */ + state?: string | null; + } /** * The DNS config for the endpoint, containing the DNS record name, type and targets. */ @@ -1721,10 +1725,22 @@ export namespace alloydb_v1alpha { * The consumer project to which the PSC service automation endpoint will be created. */ consumerProject?: string | null; + /** + * Output only. List of DNS automation info for the PSC auto connection. + */ + dnsAutomationInfos?: Schema$DnsAutomationInfo[]; /** * Output only. The IP address of the PSC service automation endpoint. */ ipAddress?: string | null; + /** + * Output only. The PSC service connection policy name. The format is "projects//regions//serviceConnectionPolicies/" + */ + serviceConnectionPolicy?: string | null; + /** + * Output only. The creation state or result of the connection policy. Possible values include: - `ACTIVE`: The policy was created successfully. - `PERMISSION_DENIED`: Sufficient permissions were not provided. Note that this field is an unstructured output and customers should not rely on the specific string value or error message directly. + */ + serviceConnectionPolicyCreationState?: string | null; /** * Output only. The status of the PSC service automation connection. Possible values: "STATE_UNSPECIFIED" - An invalid state as the default case. "ACTIVE" - The connection has been created successfully. "FAILED" - The connection is not functional since some resources on the connection fail to be created. "CREATING" - The connection is being created. "DELETING" - The connection is being deleted. "CREATE_REPAIRING" - The connection is being repaired to complete creation. "DELETE_REPAIRING" - The connection is being repaired to complete deletion. */ diff --git a/src/apis/alloydb/v1beta.ts b/src/apis/alloydb/v1beta.ts index ea882ffd015..122bc15edf4 100644 --- a/src/apis/alloydb/v1beta.ts +++ b/src/apis/alloydb/v1beta.ts @@ -124,15 +124,6 @@ export namespace alloydb_v1beta { } } - /** - * AlloyDbInternalDebugInfo contains internal debugging information for AlloyDB errors. It is explicitly kept out of the allowlist (errors.yaml) to ensure it is sanitized (stripped) by OnePlatform for all external requests. Used only to carry internal error details to across UPC/FlowLib boundary for ObservabilityInfo. - */ - export interface Schema$AlloydbClhErrorsAlloyDbInternalDebugInfo { - /** - * The original error message or details before sanitization, used internally for debugging and logging. - */ - originalError?: string | null; - } /** * AuthorizedNetwork contains metadata for an authorized network. */ @@ -817,6 +808,19 @@ export namespace alloydb_v1beta { */ time?: Schema$GoogleTypeTimeOfDay; } + /** + * DnsAutomationInfo contains information about the DNS automation for the instance. + */ + export interface Schema$DnsAutomationInfo { + /** + * Output only. The fully qualified domain name of the instance for DNS automation. Example: "...alloydb.goog.". Note: The AUDIT directive is intentionally omitted because this field contains sensitive network topology information. + */ + fullyQualifiedDomainName?: string | null; + /** + * Output only. The state of the DNS automation. + */ + state?: string | null; + } /** * The DNS config for the endpoint, containing the DNS record name, type and targets. */ @@ -1705,10 +1709,22 @@ export namespace alloydb_v1beta { * The consumer project to which the PSC service automation endpoint will be created. */ consumerProject?: string | null; + /** + * Output only. List of DNS automation info for the PSC auto connection. + */ + dnsAutomationInfos?: Schema$DnsAutomationInfo[]; /** * Output only. The IP address of the PSC service automation endpoint. */ ipAddress?: string | null; + /** + * Output only. The PSC service connection policy name. The format is "projects//regions//serviceConnectionPolicies/" + */ + serviceConnectionPolicy?: string | null; + /** + * Output only. The creation state or result of the connection policy. Possible values include: - `ACTIVE`: The policy was created successfully. - `PERMISSION_DENIED`: Sufficient permissions were not provided. Note that this field is an unstructured output and customers should not rely on the specific string value or error message directly. + */ + serviceConnectionPolicyCreationState?: string | null; /** * Output only. The status of the PSC service automation connection. Possible values: "STATE_UNSPECIFIED" - An invalid state as the default case. "ACTIVE" - The connection has been created successfully. "FAILED" - The connection is not functional since some resources on the connection fail to be created. "CREATING" - The connection is being created. "DELETING" - The connection is being deleted. "CREATE_REPAIRING" - The connection is being repaired to complete creation. "DELETE_REPAIRING" - The connection is being repaired to complete deletion. */ diff --git a/src/apis/analytics/package.json b/src/apis/analytics/package.json index 5fd54b478fa..cefe87fbcf9 100644 --- a/src/apis/analytics/package.json +++ b/src/apis/analytics/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/analyticsadmin/package.json b/src/apis/analyticsadmin/package.json index 68c4d5aac57..630c4638937 100644 --- a/src/apis/analyticsadmin/package.json +++ b/src/apis/analyticsadmin/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/analyticsdata/package.json b/src/apis/analyticsdata/package.json index 417e5c7d971..9ebc17188af 100644 --- a/src/apis/analyticsdata/package.json +++ b/src/apis/analyticsdata/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/analyticshub/README.md b/src/apis/analyticshub/README.md index 8a2f951b5c4..221184e3546 100644 --- a/src/apis/analyticshub/README.md +++ b/src/apis/analyticshub/README.md @@ -8,8 +8,8 @@ **Note**: Google provides multiple libraries for this service. This library is in maintenance mode, and will continue to be made available for users who have existing applications. If you're building a new application, or modernizing a -legacy application, please use [@google-cloud/clientgateways](https://www.npmjs.com/package/@google-cloud/clientgateways) instead. -The [@google-cloud/clientgateways](https://www.npmjs.com/package/@google-cloud/clientgateways) library is faster, easier to use, and better maintained. +legacy application, please use [@google-cloud/bigquery-analyticshub](https://www.npmjs.com/package/@google-cloud/bigquery-analyticshub) instead. +The [@google-cloud/bigquery-analyticshub](https://www.npmjs.com/package/@google-cloud/bigquery-analyticshub) library is faster, easier to use, and better maintained. To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). diff --git a/src/apis/analyticshub/package.json b/src/apis/analyticshub/package.json index 61361645984..2e8b17911de 100644 --- a/src/apis/analyticshub/package.json +++ b/src/apis/analyticshub/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/analyticsreporting/package.json b/src/apis/analyticsreporting/package.json index 2739cd9f403..12e093391ad 100644 --- a/src/apis/analyticsreporting/package.json +++ b/src/apis/analyticsreporting/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/androiddeveloperidstatus/package.json b/src/apis/androiddeveloperidstatus/package.json index 50445e2b89c..4579745d0d2 100644 --- a/src/apis/androiddeveloperidstatus/package.json +++ b/src/apis/androiddeveloperidstatus/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/androiddeviceprovisioning/package.json b/src/apis/androiddeviceprovisioning/package.json index fad3fa9cd82..310a9337442 100644 --- a/src/apis/androiddeviceprovisioning/package.json +++ b/src/apis/androiddeviceprovisioning/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/androidenterprise/package.json b/src/apis/androidenterprise/package.json index 9531ad08d47..c6771b63ba5 100644 --- a/src/apis/androidenterprise/package.json +++ b/src/apis/androidenterprise/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/androidmanagement/package.json b/src/apis/androidmanagement/package.json index 8a03a7f670a..7a0d1093db3 100644 --- a/src/apis/androidmanagement/package.json +++ b/src/apis/androidmanagement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/androidpublisher/package.json b/src/apis/androidpublisher/package.json index 28aa3e16b6a..8c273e76855 100644 --- a/src/apis/androidpublisher/package.json +++ b/src/apis/androidpublisher/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/androidpublisher/v3.ts b/src/apis/androidpublisher/v3.ts index 1bb8dfa7aa4..bfeb31c43f4 100644 --- a/src/apis/androidpublisher/v3.ts +++ b/src/apis/androidpublisher/v3.ts @@ -539,7 +539,7 @@ export namespace androidpublisher_v3 { activeApkSets?: Schema$AppStoreAppActiveApkSet[]; } /** - * An installable set of active APKs. A set of APKs might only contain 1 APK if the app in question publishes using APKs. If the app uses app bundles (or a similar technology), this set should contain all APKs (even optional ones) that might be installed for this app. A set of APKs should be installable together. If certain APKs are exclusive to one another and cannot be installed together, then a separate AppStoreAppActiveApkSet should be created. + * An installable set of active APKs. All APKs in this set should belong to the same version of the app. A set of APKs might only contain 1 APK if the app in question publishes using APKs. If the app uses app bundles (or a similar technology), this set should contain all APKs (even optional ones) that might be installed for this app. A set of APKs should be installable together. If certain APKs are exclusive to one another and cannot be installed together, then a separate AppStoreAppActiveApkSet should be created. */ export interface Schema$AppStoreAppActiveApkSet { /** @@ -2183,6 +2183,23 @@ export namespace androidpublisher_v3 { */ obfuscatedProfileId?: string | null; } + /** + * Reporting details unique to the external content link program. + */ + export interface Schema$ExternalContentLinkDetails { + /** + * Optional. The category of the downlaoded app. This must match the category provided in Play Console during the external app verification process. Only required for app installs. + */ + externalAppCategory?: string | null; + /** + * Optional. The package name of the app downloaded through this transaction. Only required for app installs. + */ + installedAppPackage?: string | null; + /** + * Required. The type content being reported by this transaction. + */ + linkType?: string | null; + } /** * Defines an APK available for this application that is hosted externally and not uploaded to Google Play. This function is only available to organizations using Managed Play whose application is configured to restrict distribution to the organizations. */ @@ -2294,6 +2311,10 @@ export namespace androidpublisher_v3 { * Output only. The current tax amount. This represents the current tax amount including any refunds that may have been applied to this transaction. */ currentTaxAmount?: Schema$Price; + /** + * Optional. Details necessary to accurately report external content link transactions. + */ + externalContentLinkDetails?: Schema$ExternalContentLinkDetails; /** * Optional. Details necessary to accurately report external offers transactions. */ @@ -3531,6 +3552,15 @@ export namespace androidpublisher_v3 { */ startTime?: string | null; } + /** + * Configuration specific to game reward offers. + */ + export interface Schema$OneTimeProductGameRewardOffer { + /** + * Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive. + */ + redemptionLimit?: string | null; + } /** * Regional store listing for a one-time product. */ @@ -3556,6 +3586,10 @@ export namespace androidpublisher_v3 { * A discounted offer. */ discountedOffer?: Schema$OneTimeProductDiscountedOffer; + /** + * A game reward offer. + */ + gameRewardOffer?: Schema$OneTimeProductGameRewardOffer; /** * Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters. */ @@ -16073,6 +16107,7 @@ export namespace androidpublisher_v3 { * // "createTime": "my_createTime", * // "currentPreTaxAmount": {}, * // "currentTaxAmount": {}, + * // "externalContentLinkDetails": {}, * // "externalOfferDetails": {}, * // "externalTransactionId": "my_externalTransactionId", * // "oneTimeTransaction": {}, @@ -16095,6 +16130,7 @@ export namespace androidpublisher_v3 { * // "createTime": "my_createTime", * // "currentPreTaxAmount": {}, * // "currentTaxAmount": {}, + * // "externalContentLinkDetails": {}, * // "externalOfferDetails": {}, * // "externalTransactionId": "my_externalTransactionId", * // "oneTimeTransaction": {}, @@ -16250,6 +16286,7 @@ export namespace androidpublisher_v3 { * // "createTime": "my_createTime", * // "currentPreTaxAmount": {}, * // "currentTaxAmount": {}, + * // "externalContentLinkDetails": {}, * // "externalOfferDetails": {}, * // "externalTransactionId": "my_externalTransactionId", * // "oneTimeTransaction": {}, @@ -16416,6 +16453,7 @@ export namespace androidpublisher_v3 { * // "createTime": "my_createTime", * // "currentPreTaxAmount": {}, * // "currentTaxAmount": {}, + * // "externalContentLinkDetails": {}, * // "externalOfferDetails": {}, * // "externalTransactionId": "my_externalTransactionId", * // "oneTimeTransaction": {}, @@ -21011,6 +21049,7 @@ export namespace androidpublisher_v3 { * // Example response * // { * // "discountedOffer": {}, + * // "gameRewardOffer": {}, * // "offerId": "my_offerId", * // "offerTags": [], * // "packageName": "my_packageName", @@ -21824,6 +21863,7 @@ export namespace androidpublisher_v3 { * // Example response * // { * // "discountedOffer": {}, + * // "gameRewardOffer": {}, * // "offerId": "my_offerId", * // "offerTags": [], * // "packageName": "my_packageName", @@ -21998,6 +22038,7 @@ export namespace androidpublisher_v3 { * // Example response * // { * // "discountedOffer": {}, + * // "gameRewardOffer": {}, * // "offerId": "my_offerId", * // "offerTags": [], * // "packageName": "my_packageName", diff --git a/src/apis/apigateway/package.json b/src/apis/apigateway/package.json index 5055a54a942..6358158e3ef 100644 --- a/src/apis/apigateway/package.json +++ b/src/apis/apigateway/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/apigateway/v1.ts b/src/apis/apigateway/v1.ts index 0cfaabcfef5..24ae4ac07f1 100644 --- a/src/apis/apigateway/v1.ts +++ b/src/apis/apigateway/v1.ts @@ -329,6 +329,10 @@ export namespace apigateway_v1 { * Optional. Display name. */ displayName?: string | null; + /** + * Output only. The streaming mode this gateway is actually served with, which the service resolves at creation from `streaming_mode`, the referenced API Config, and the platform default at the time. Read this rather than `streaming_mode` to determine whether a gateway supports response streaming. + */ + effectiveStreamingMode?: string | null; /** * 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 */ @@ -341,6 +345,10 @@ export namespace apigateway_v1 { * Output only. The current state of the Gateway. */ state?: string | null; + /** + * Optional. Immutable. Requests response streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. + */ + streamingMode?: string | null; /** * Output only. Updated time. */ @@ -3601,9 +3609,11 @@ export namespace apigateway_v1 { * // "createTime": "my_createTime", * // "defaultHostname": "my_defaultHostname", * // "displayName": "my_displayName", + * // "effectiveStreamingMode": "my_effectiveStreamingMode", * // "labels": {}, * // "name": "my_name", * // "state": "my_state", + * // "streamingMode": "my_streamingMode", * // "updateTime": "my_updateTime" * // } * }, @@ -3895,9 +3905,11 @@ export namespace apigateway_v1 { * // "createTime": "my_createTime", * // "defaultHostname": "my_defaultHostname", * // "displayName": "my_displayName", + * // "effectiveStreamingMode": "my_effectiveStreamingMode", * // "labels": {}, * // "name": "my_name", * // "state": "my_state", + * // "streamingMode": "my_streamingMode", * // "updateTime": "my_updateTime" * // } * } @@ -4333,9 +4345,11 @@ export namespace apigateway_v1 { * // "createTime": "my_createTime", * // "defaultHostname": "my_defaultHostname", * // "displayName": "my_displayName", + * // "effectiveStreamingMode": "my_effectiveStreamingMode", * // "labels": {}, * // "name": "my_name", * // "state": "my_state", + * // "streamingMode": "my_streamingMode", * // "updateTime": "my_updateTime" * // } * }, diff --git a/src/apis/apigateway/v1beta.ts b/src/apis/apigateway/v1beta.ts index c9de5eeb2f8..8a586875dd5 100644 --- a/src/apis/apigateway/v1beta.ts +++ b/src/apis/apigateway/v1beta.ts @@ -342,6 +342,10 @@ export namespace apigateway_v1beta { * Optional. Display name. */ displayName?: string | null; + /** + * Output only. The streaming mode this gateway is actually served with, which the service resolves at creation from `streaming_mode`, the referenced API Config, and the platform default at the time. Read this rather than `streaming_mode` to determine whether a gateway supports response streaming. + */ + effectiveStreamingMode?: string | null; /** * 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 */ @@ -354,6 +358,10 @@ export namespace apigateway_v1beta { * Output only. The current state of the Gateway. */ state?: string | null; + /** + * Optional. Immutable. Requests response streaming for a new gateway. An attempt to change it on update is rejected. If unset, the service selects the mode. This field records only what was requested and is never modified by the service; read `effective_streaming_mode` for the mode the gateway is served with. + */ + streamingMode?: string | null; /** * Output only. Updated time. */ @@ -3632,9 +3640,11 @@ export namespace apigateway_v1beta { * // "createTime": "my_createTime", * // "defaultHostname": "my_defaultHostname", * // "displayName": "my_displayName", + * // "effectiveStreamingMode": "my_effectiveStreamingMode", * // "labels": {}, * // "name": "my_name", * // "state": "my_state", + * // "streamingMode": "my_streamingMode", * // "updateTime": "my_updateTime" * // } * }, @@ -3926,9 +3936,11 @@ export namespace apigateway_v1beta { * // "createTime": "my_createTime", * // "defaultHostname": "my_defaultHostname", * // "displayName": "my_displayName", + * // "effectiveStreamingMode": "my_effectiveStreamingMode", * // "labels": {}, * // "name": "my_name", * // "state": "my_state", + * // "streamingMode": "my_streamingMode", * // "updateTime": "my_updateTime" * // } * } @@ -4364,9 +4376,11 @@ export namespace apigateway_v1beta { * // "createTime": "my_createTime", * // "defaultHostname": "my_defaultHostname", * // "displayName": "my_displayName", + * // "effectiveStreamingMode": "my_effectiveStreamingMode", * // "labels": {}, * // "name": "my_name", * // "state": "my_state", + * // "streamingMode": "my_streamingMode", * // "updateTime": "my_updateTime" * // } * }, diff --git a/src/apis/apigeeregistry/package.json b/src/apis/apigeeregistry/package.json index 2b1e5b9415a..c6daeb7e392 100644 --- a/src/apis/apigeeregistry/package.json +++ b/src/apis/apigeeregistry/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/apihub/package.json b/src/apis/apihub/package.json index 0b4ec9bb73a..4ca267b3779 100644 --- a/src/apis/apihub/package.json +++ b/src/apis/apihub/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/apihub/v1.ts b/src/apis/apihub/v1.ts index bfdf0758352..a67f1a9e1aa 100644 --- a/src/apis/apihub/v1.ts +++ b/src/apis/apihub/v1.ts @@ -166,6 +166,10 @@ export namespace apihub_v1 { * Addon resource. */ export interface Schema$GoogleCloudApihubV1Addon { + /** + * Output only. The Vertex AI region where the BoostSpec Gemini model calls run for this API Hub instance. Populated only for the SpecGen addon (`system-spec-generation`); other addons leave this field empty. `gemini-2.5-flash` is not available in every API Hub region, so the effective region may differ from the API Hub instance's own region. The value follows these semantics: - `""`: BoostSpec is disabled in this region (the addon is not SpecGen, or the API Hub instance region has no configured Gemini endpoint or fallback). - Equal to the API Hub instance region: BoostSpec calls run in-region. - Differs from the API Hub instance region: BoostSpec calls run in the specified fallback region. Callers rendering this field can derive the three display states from this single field combined with the API Hub instance region. + */ + boostSpecGeminiRegionId?: string | null; /** * Required. The configuration of the addon. */ @@ -4128,6 +4132,7 @@ export namespace apihub_v1 { * * // Example response * // { + * // "boostSpecGeminiRegionId": "my_boostSpecGeminiRegionId", * // "config": {}, * // "createTime": "my_createTime", * // "dataSource": "my_dataSource", diff --git a/src/apis/apikeys/package.json b/src/apis/apikeys/package.json index 1c01385f49f..002e3604fa1 100644 --- a/src/apis/apikeys/package.json +++ b/src/apis/apikeys/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/apim/package.json b/src/apis/apim/package.json index 76d78caf92b..ff61ec60dc7 100644 --- a/src/apis/apim/package.json +++ b/src/apis/apim/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/appengine/package.json b/src/apis/appengine/package.json index f0fb907be7d..b46cbb53779 100644 --- a/src/apis/appengine/package.json +++ b/src/apis/appengine/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/apphub/package.json b/src/apis/apphub/package.json index 5319725721a..efba7ddc159 100644 --- a/src/apis/apphub/package.json +++ b/src/apis/apphub/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/appsactivity/package.json b/src/apis/appsactivity/package.json index 8613ebffbf4..4fdbfacf29c 100644 --- a/src/apis/appsactivity/package.json +++ b/src/apis/appsactivity/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/appsmarket/package.json b/src/apis/appsmarket/package.json index e846b95d589..36a8bce80dc 100644 --- a/src/apis/appsmarket/package.json +++ b/src/apis/appsmarket/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/area120tables/package.json b/src/apis/area120tables/package.json index 0559b194a0e..614e357cbf4 100644 --- a/src/apis/area120tables/package.json +++ b/src/apis/area120tables/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/areainsights/package.json b/src/apis/areainsights/package.json index 81d9d215a20..9d5b28e6316 100644 --- a/src/apis/areainsights/package.json +++ b/src/apis/areainsights/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/artifactregistry/package.json b/src/apis/artifactregistry/package.json index 908f8f9e7d3..0b60008f46f 100644 --- a/src/apis/artifactregistry/package.json +++ b/src/apis/artifactregistry/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/artifactregistry/v1.ts b/src/apis/artifactregistry/v1.ts index aca49567919..51572ebafc3 100644 --- a/src/apis/artifactregistry/v1.ts +++ b/src/apis/artifactregistry/v1.ts @@ -1696,6 +1696,10 @@ export namespace artifactregistry_v1 { * Optional. The ID of the file. If left empty will default to sha256 digest of the content uploaded. */ fileId?: string | null; + /** + * Optional. The type of the file to upload. Defaulting to ATTACHMENT if not specified. + */ + fileType?: string | null; } /** * The response to upload a generic artifact. @@ -1722,6 +1726,10 @@ export namespace artifactregistry_v1 { * The ID of the package of the generic artifact. If the package does not exist, a new package will be created. The `package_id` should start and end with a letter or number, only contain letters, numbers, hyphens, underscores, and periods, and not exceed 256 characters. */ packageId?: string | null; + /** + * Optional. Client specified annotations to attach to the version upon creation. This field is only applied if the Version is created during this upload. If the Version already exists and this field is set, the request will fail. + */ + versionAnnotations?: {[key: string]: string} | null; /** * The ID of the version of the generic artifact. If the version does not exist, a new version will be created. The version_id must start and end with a letter or number, can only contain lowercase letters, numbers, the following characters [-.+~:], i.e.[a-z0-9-.+~:] and cannot exceed a total of 128 characters. Creating a version called `latest` is not allowed. */ @@ -1925,7 +1933,7 @@ export namespace artifactregistry_v1 { */ export interface Schema$VulnerabilityScanningConfig { /** - * Optional. Config for whether this repository has vulnerability scanning disabled. + * Optional. Config for whether this repository has vulnerability scanning disabled. When unset (ENABLEMENT_CONFIG_UNSPECIFIED), this is treated as INHERITED for Docker repositories and DISABLED for non-Docker repositories. */ enablementConfig?: string | null; /** @@ -7808,7 +7816,8 @@ export namespace artifactregistry_v1 { * requestBody: { * // request body parameters * // { - * // "fileId": "my_fileId" + * // "fileId": "my_fileId", + * // "fileType": "my_fileType" * // } * }, * media: { @@ -8060,6 +8069,7 @@ export namespace artifactregistry_v1 { * // { * // "filename": "my_filename", * // "packageId": "my_packageId", + * // "versionAnnotations": {}, * // "versionId": "my_versionId" * // } * }, diff --git a/src/apis/assuredworkloads/package.json b/src/apis/assuredworkloads/package.json index 43ff5c102c7..221f27ac2fb 100644 --- a/src/apis/assuredworkloads/package.json +++ b/src/apis/assuredworkloads/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/auditmanager/README.md b/src/apis/auditmanager/README.md new file mode 100644 index 00000000000..25a88ff26e4 --- /dev/null +++ b/src/apis/auditmanager/README.md @@ -0,0 +1,37 @@ +Google Inc. logo + +# auditmanager + +> The Audit Manager API allows customers to manage compliance audits. + +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/auditmanager](https://www.npmjs.com/package/@google-cloud/auditmanager) instead. +The [@google-cloud/auditmanager](https://www.npmjs.com/package/@google-cloud/auditmanager) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + +## Installation + +```sh +$ npm install @googleapis/auditmanager +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/auditmanager/classes/Auditmanager.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/auditmanager/index.ts b/src/apis/auditmanager/index.ts new file mode 100644 index 00000000000..6ba5152f01d --- /dev/null +++ b/src/apis/auditmanager/index.ts @@ -0,0 +1,45 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {auditmanager_v1} from './v1'; + +export const VERSIONS = { + v1: auditmanager_v1.Auditmanager, +}; + +export function auditmanager(version: 'v1'): auditmanager_v1.Auditmanager; +export function auditmanager( + options: auditmanager_v1.Options +): auditmanager_v1.Auditmanager; +export function auditmanager( + this: GoogleConfigurable, + versionOrOptions: 'v1' | auditmanager_v1.Options +) { + return getAPI('auditmanager', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {auditmanager_v1}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/auditmanager/package.json b/src/apis/auditmanager/package.json new file mode 100644 index 00000000000..002c4aeeec8 --- /dev/null +++ b/src/apis/auditmanager/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/auditmanager", + "version": "0.1.0", + "description": "auditmanager", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=22.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^9.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^6.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "5.7.3", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/auditmanager/tsconfig.json b/src/apis/auditmanager/tsconfig.json new file mode 100644 index 00000000000..e0810904968 --- /dev/null +++ b/src/apis/auditmanager/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/auditmanager/v1.ts b/src/apis/auditmanager/v1.ts new file mode 100644 index 00000000000..08b2c4ae772 --- /dev/null +++ b/src/apis/auditmanager/v1.ts @@ -0,0 +1,7035 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosResponseWithHTTP2, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace auditmanager_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * 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. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * 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. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Audit Manager API + * + * The Audit Manager API allows customers to manage compliance audits. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * ``` + */ + export class Auditmanager { + context: APIRequestContext; + folders: Resource$Folders; + organizations: Resource$Organizations; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.folders = new Resource$Folders(this.context); + this.organizations = new Resource$Organizations(this.context); + this.projects = new Resource$Projects(this.context); + } + } + + /** + * An audit report. + */ + export interface Schema$AuditReport { + /** + * Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`. + */ + complianceFramework?: string | null; + /** + * Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead. + */ + complianceStandard?: string | null; + /** + * Output only. Overall status of the controls. + */ + controlDetails?: Schema$ControlDetails[]; + /** + * Output only. Creation time of the audit report. + */ + createTime?: string | null; + /** + * Output only. Cloud Storage bucket where the audit report is uploaded to. + */ + destinationDetails?: Schema$DestinationDetails; + /** + * Identifier. Name of the audit report, in one of the following formats: * `projects/{project\}/locations/{location\}/auditReports/{audit_report\}` * `folders/{folder\}/locations/{location\}/auditReports/{audit_report\}` * `organizations/{organization\}/locations/{location\}/auditReports/{audit_report\}` + */ + name?: string | null; + /** + * Output only. Client operation ID for the audit report. + */ + operationId?: string | null; + /** + * Output only. State of audit report generation. + */ + reportGenerationState?: string | null; + /** + * Output only. Report summary that includes information about compliance and violation counts. + */ + reportSummary?: Schema$ReportSummary; + /** + * Output only. Organization, folder, or project that the report is generated for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string | null; + /** + * Output only. Project number, folder ID, or organization ID that the audit report was generated for. + */ + scopeId?: string | null; + } + /** + * Audit scope report. + */ + export interface Schema$AuditScopeReport { + /** + * Identifier. Name for the audit scope report, in one of the following formats: * `projects/{project\}/locations/{location\}/auditScopeReports/{audit_scope_report\}` * `folders/{folder\}/locations/{location\}/auditScopeReports/{audit_scope_report\}` * `organizations/{organization\}/locations/{location\}/auditScopeReports/{audit_scope_report\}` + */ + name?: string | null; + /** + * Audit scope report content in byte format. + */ + scopeReportContents?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * A control. + */ + export interface Schema$Control { + /** + * Output only. Regulatory family of the control. + */ + controlFamily?: Schema$ControlFamily; + /** + * Output only. A description of your responsibility for this control. + */ + customerResponsibilityDescription?: string | null; + /** + * Output only. A description of how you can implement your responsibility for this control. + */ + customerResponsibilityImplementation?: string | null; + /** + * Output only. Description of the control. + */ + description?: string | null; + /** + * Output only. Display name of the control. + */ + displayName?: string | null; + /** + * Output only. Category that the control belongs to. + */ + family?: string | null; + /** + * Output only. A description of Google's responsibility for this control. + */ + googleResponsibilityDescription?: string | null; + /** + * Output only. A description of how Google implements its responsibility for this control. + */ + googleResponsibilityImplementation?: string | null; + /** + * Output only. Control identifier that's used to fetch the findings. The identifier is the same as the control report name. + */ + id?: string | null; + /** + * Output only. Who is responsible for implementing this control. Set to one of the following values: `GOOGLE`, `CUSTOMER`, or `SHARED`. + */ + responsibilityType?: string | null; + } + /** + * Evaluation details for a control. + */ + export interface Schema$ControlDetails { + /** + * Output only. Overall status of the findings for the control. + */ + complianceState?: string | null; + /** + * Control that the findings are being reported for. + */ + control?: Schema$Control; + /** + * A control report summary that provides a high-level overview of the compliance controls and the assessment status. + */ + controlReportSummary?: Schema$ReportSummary; + } + /** + * Regulatory family of the control. + */ + export interface Schema$ControlFamily { + /** + * Display name of the regulatory control family. + */ + displayName?: string | null; + /** + * ID of the regulatory control family. To find the list of supported control families, use the ListControls method and review the `control_family` field in the response. + */ + familyId?: string | null; + } + /** + * Cloud Storage bucket where the audit report is uploaded to. + */ + export interface Schema$DestinationDetails { + /** + * URI for the Cloud Storage bucket, in the format `gs://{bucket_name\}`. + */ + gcsBucketUri?: string | null; + } + /** + * Details about the bucket where you want to upload the audit report. + */ + export interface Schema$EligibleDestination { + /** + * The location of the Cloud Storage bucket where you want to upload the audit report and evidence during the GenerateAuditReport API call. + */ + eligibleGcsBucket?: string | null; + } + /** + * 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); \} + */ + export interface Schema$Empty {} + /** + * Organization, folder, or project to enroll for audit reports. + */ + export interface Schema$Enrollment { + /** + * Output only. Cloud Storage buckets where you want to upload the audit reports. + */ + destinationDetails?: Schema$DestinationDetails[]; + /** + * Identifier. Name of the enrollment, in one of the following formats: * `projects/{project\}/locations/{location\}/enrollments/{enrollment\}` * `folders/{folder\}/locations/{location\}/enrollments/{enrollment\}` * `organizations/{organization\}/locations/{location\}/enrollments/{enrollment\}` + */ + name?: string | null; + } + /** + * Request message for EnrollResource. + */ + export interface Schema$EnrollResourceRequest { + /** + * Required. Cloud Storage buckets that you can upload your audit reports to during the audit process. When you enroll an organization or folder, you can choose a Cloud Storage bucket from any project in the organization or folder. If you run an audit at the project level using the service agent at the organization or folder level, all the buckets that are associated with the service agent are available. + */ + destinations?: Schema$EligibleDestination[]; + } + /** + * Request message for GenerateAuditReport. + */ + export interface Schema$GenerateAuditReportRequest { + /** + * Required. The framework that's used for the audit report. For example, `NIST_800_53`. + */ + complianceFramework?: string | null; + /** + * Optional. Deprecated. Compliance standard for the audit report. Use the `compliance_framework` field instead. + */ + complianceStandard?: string | null; + /** + * URL for the Cloud Storage bucket where the report and evidence is uploaded. You must select a bucket that was provided during the enrollment process. + */ + gcsUri?: string | null; + /** + * Required. Format for the audit report. + */ + reportFormat?: string | null; + /** + * Optional. If `true`, only validates the request and does not generate the audit report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without triggering expensive Long-Running Operations (LROs) or consuming resource quotas. + */ + validateOnly?: boolean | null; + } + /** + * Request message for GenerateAuditScopeReport. + */ + export interface Schema$GenerateAuditScopeReportRequest { + /** + * Required. Framework (set of controls) that the audit scope report is generated against. For example, `NIST_800_53`. + */ + complianceFramework?: string | null; + /** + * Optional. Deprecated. The standard (industry or regulatory requirements) that the audit scope report is run against. Use the `compliance_framework` field instead. + */ + complianceStandard?: string | null; + /** + * Required. Format for the audit scope report. + */ + reportFormat?: string | null; + /** + * Optional. If `true`, only validates the request and does not generate the audit scope report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas. + */ + validateOnly?: boolean | null; + } + /** + * Response message for ListAuditReports. + */ + export interface Schema$ListAuditReportsResponse { + /** + * Output only. Audit reports. + */ + auditReports?: Schema$AuditReport[]; + /** + * Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for ListControls. + */ + export interface Schema$ListControlsResponse { + /** + * Output only. Controls for a given regulatory standard. + */ + controls?: Schema$Control[]; + /** + * Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + /** + * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. + */ + unreachable?: string[] | null; + } + /** + * Response message for ListResourceEnrollmentStatuses. + */ + export interface Schema$ListResourceEnrollmentStatusesResponse { + /** + * Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Resources with their enrollment status. + */ + resourceEnrollmentStatuses?: Schema$ResourceEnrollmentStatus[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * 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. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * 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. + */ + metadata?: {[key: string]: any} | null; + /** + * 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\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Metadata for the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. The API version used to start the operation. For example, `v1`. + */ + apiVersion?: string | null; + /** + * Output only. Time that the operation was created. + */ + createTime?: string | null; + /** + * Output only. Time that the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Whether you requested that the operation be cancelled. Operations that were cancelled successfully have an Operation.error value with a status code Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. A human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. A server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. The name of the verb that was executed by the operation. + */ + verb?: string | null; + } + /** + * Details about the current status of the report-generation process. + */ + export interface Schema$ReportGenerationProgress { + /** + * Output only. Name of the audit report. + */ + auditReport?: string | null; + /** + * Output only. Cloud Storage bucket where the audit report is uploaded to after the evaluation process is completed. + */ + destinationGcsBucket?: string | null; + /** + * Progress of the evaluation process. The progress is defined in terms of percentage complete. + */ + evaluationPercentComplete?: number | null; + /** + * Output only. Reason for failure during the audit report generation process. This field is set only if the `OperationState` attribute is `OPERATION_STATE_FAILED`. + */ + failureReason?: string | null; + /** + * Report generation progress, defined in terms of percentage complete. Until evaluation is complete, this value is always `0`. + */ + reportGenerationPercentComplete?: number | null; + /** + * Report uploading progress, defined in terms of percentage complete. Until evaluation and report generation are complete, this value is always `0`. + */ + reportUploadingPercentComplete?: number | null; + /** + * Output only. Current state of execution for report generation. + */ + state?: string | null; + } + /** + * Additional information about the number of checks that were made during an audit operation. + */ + export interface Schema$ReportSummary { + /** + * Number of compliant checks. + */ + compliantCount?: number | null; + /** + * Number of checks that can't be performed due to errors. + */ + errorCount?: number | null; + /** + * Number of checks that require a manual review. + */ + manualReviewNeededCount?: number | null; + /** + * Total number of evaluated checks. + */ + totalCount?: number | null; + /** + * Number of checks with violations. + */ + violationCount?: number | null; + } + /** + * An organization, folder, or project with its enrollment status. + */ + export interface Schema$ResourceEnrollmentStatus { + /** + * Output only. Display name for the organization, folder, or project. + */ + displayName?: string | null; + /** + * Output only. Deprecated. Whether the organization, folder, or project is enrolled. Use `enrollment_state` instead. + */ + enrolled?: boolean | null; + /** + * Output only. Enrolled destination details for the organization, folder, or project. + */ + enrollment?: Schema$Enrollment; + /** + * Output only. Enrollment state of the organization, folder, or project. + */ + enrollmentState?: string | null; + /** + * Identifier. Name of the resource enrollment status, in one of the following formats: * `folders/{folder\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `projects/{project\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `organizations/{organization\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` + */ + name?: string | null; + } + /** + * 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). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * 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. + */ + message?: string | null; + } + + export class Resource$Folders { + context: APIRequestContext; + locations: Resource$Folders$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Folders$Locations(this.context); + } + } + + export class Resource$Folders$Locations { + context: APIRequestContext; + auditReports: Resource$Folders$Locations$Auditreports; + auditScopeReports: Resource$Folders$Locations$Auditscopereports; + operationDetails: Resource$Folders$Locations$Operationdetails; + operationIds: Resource$Folders$Locations$Operationids; + resourceEnrollmentStatuses: Resource$Folders$Locations$Resourceenrollmentstatuses; + standards: Resource$Folders$Locations$Standards; + constructor(context: APIRequestContext) { + this.context = context; + this.auditReports = new Resource$Folders$Locations$Auditreports( + this.context + ); + this.auditScopeReports = new Resource$Folders$Locations$Auditscopereports( + this.context + ); + this.operationDetails = new Resource$Folders$Locations$Operationdetails( + this.context + ); + this.operationIds = new Resource$Folders$Locations$Operationids( + this.context + ); + this.resourceEnrollmentStatuses = + new Resource$Folders$Locations$Resourceenrollmentstatuses(this.context); + this.standards = new Resource$Folders$Locations$Standards(this.context); + } + + /** + * Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.folders.locations.enrollResource({ + * // Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'folders/my-folder/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "destinations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "destinationDetails": [], + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + enrollResource( + params: Params$Resource$Folders$Locations$Enrollresource, + options: StreamMethodOptions + ): Promise>; + enrollResource( + params?: Params$Resource$Folders$Locations$Enrollresource, + options?: MethodOptions + ): Promise>; + enrollResource( + params: Params$Resource$Folders$Locations$Enrollresource, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enrollResource( + params: Params$Resource$Folders$Locations$Enrollresource, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enrollResource( + params: Params$Resource$Folders$Locations$Enrollresource, + callback: BodyResponseCallback + ): void; + enrollResource(callback: BodyResponseCallback): void; + enrollResource( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Enrollresource + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Enrollresource; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Enrollresource; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}:enrollResource').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Folders$Locations$Enrollresource extends StandardParameters { + /** + * Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EnrollResourceRequest; + } + + export class Resource$Folders$Locations$Auditreports { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.folders.locations.auditReports.generate({ + * // Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'folders/my-folder/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "gcsUri": "my_gcsUri", + * // "reportFormat": "my_reportFormat", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Folders$Locations$Auditreports$Generate, + options: StreamMethodOptions + ): Promise>; + generate( + params?: Params$Resource$Folders$Locations$Auditreports$Generate, + options?: MethodOptions + ): Promise>; + generate( + params: Params$Resource$Folders$Locations$Auditreports$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Folders$Locations$Auditreports$Generate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Folders$Locations$Auditreports$Generate, + callback: BodyResponseCallback + ): void; + generate(callback: BodyResponseCallback): void; + generate( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Auditreports$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Auditreports$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Auditreports$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}/auditReports:generate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the full metadata and findings for an audit report. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.folders.locations.auditReports.get({ + * // Required. Name of the audit report, in one of the following formats: * `projects/{project\}/locations/{location\}/auditReports/{audit_report\}` * `folders/{folder\}/locations/{location\}/auditReports/{audit_report\}` * `organizations/{organization\}/locations/{location\}/auditReports/{audit_report\}` + * name: 'folders/my-folder/locations/my-location/auditReports/my-auditReport', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "controlDetails": [], + * // "createTime": "my_createTime", + * // "destinationDetails": {}, + * // "name": "my_name", + * // "operationId": "my_operationId", + * // "reportGenerationState": "my_reportGenerationState", + * // "reportSummary": {}, + * // "scope": "my_scope", + * // "scopeId": "my_scopeId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Folders$Locations$Auditreports$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Folders$Locations$Auditreports$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Folders$Locations$Auditreports$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Auditreports$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Auditreports$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Auditreports$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Auditreports$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Auditreports$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the audit reports for the organization, folder, or project that you specify as the parent scope. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.folders.locations.auditReports.list({ + * // Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call, to retrieve the next page of results. + * pageToken: 'placeholder-value', + * // Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * parent: 'folders/my-folder/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditReports": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Folders$Locations$Auditreports$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Folders$Locations$Auditreports$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Folders$Locations$Auditreports$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Auditreports$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Auditreports$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Auditreports$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Auditreports$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Auditreports$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/auditReports').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Folders$Locations$Auditreports$Generate extends StandardParameters { + /** + * Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateAuditReportRequest; + } + export interface Params$Resource$Folders$Locations$Auditreports$Get extends StandardParameters { + /** + * Required. Name of the audit report, in one of the following formats: * `projects/{project\}/locations/{location\}/auditReports/{audit_report\}` * `folders/{folder\}/locations/{location\}/auditReports/{audit_report\}` * `organizations/{organization\}/locations/{location\}/auditReports/{audit_report\}` + */ + name?: string; + } + export interface Params$Resource$Folders$Locations$Auditreports$List extends StandardParameters { + /** + * Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call, to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + parent?: string; + } + + export class Resource$Folders$Locations$Auditscopereports { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.folders.locations.auditScopeReports.generate({ + * // Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'folders/my-folder/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "reportFormat": "my_reportFormat", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "scopeReportContents": "my_scopeReportContents" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Folders$Locations$Auditscopereports$Generate, + options: StreamMethodOptions + ): Promise>; + generate( + params?: Params$Resource$Folders$Locations$Auditscopereports$Generate, + options?: MethodOptions + ): Promise>; + generate( + params: Params$Resource$Folders$Locations$Auditscopereports$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Folders$Locations$Auditscopereports$Generate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Folders$Locations$Auditscopereports$Generate, + callback: BodyResponseCallback + ): void; + generate(callback: BodyResponseCallback): void; + generate( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Auditscopereports$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Auditscopereports$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Auditscopereports$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}/auditScopeReports:generate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Folders$Locations$Auditscopereports$Generate extends StandardParameters { + /** + * Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateAuditScopeReportRequest; + } + + export class Resource$Folders$Locations$Operationdetails { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details about the long-running operation to generate audit reports. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.folders.locations.operationDetails.get({ + * // The name of the operation resource. + * name: 'folders/my-folder/locations/my-location/operationDetails/my-operationDetail', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Folders$Locations$Operationdetails$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Folders$Locations$Operationdetails$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Folders$Locations$Operationdetails$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Operationdetails$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Operationdetails$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Operationdetails$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Operationdetails$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Operationdetails$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Folders$Locations$Operationdetails$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + + export class Resource$Folders$Locations$Operationids { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details about the long-running operation to generate audit reports. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.folders.locations.operationIds.get({ + * // The name of the operation resource. + * name: 'folders/my-folder/locations/my-location/operationIds/my-operationId', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Folders$Locations$Operationids$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Folders$Locations$Operationids$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Folders$Locations$Operationids$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Operationids$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Operationids$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Operationids$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Operationids$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Operationids$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Folders$Locations$Operationids$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + + export class Resource$Folders$Locations$Resourceenrollmentstatuses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a resource and its enrollment status. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await auditmanager.folders.locations.resourceEnrollmentStatuses.get({ + * // Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `projects/{project\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `organizations/{organization\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` + * name: 'folders/my-folder/locations/my-location/resourceEnrollmentStatuses/my-resourceEnrollmentStatuse', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "enrolled": false, + * // "enrollment": {}, + * // "enrollmentState": "my_enrollmentState", + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all the folders and projects in an organization or folder, along with their enrollments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await auditmanager.folders.locations.resourceEnrollmentStatuses.list({ + * // Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call, to retrieve the next page of results. + * pageToken: 'placeholder-value', + * // Required. Parent organization or folder to list enrollment statuses for, in one of the following formats: * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * parent: 'folders/my-folder/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "resourceEnrollmentStatuses": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/resourceEnrollmentStatuses').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Folders$Locations$Resourceenrollmentstatuses$Get extends StandardParameters { + /** + * Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `projects/{project\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `organizations/{organization\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` + */ + name?: string; + } + export interface Params$Resource$Folders$Locations$Resourceenrollmentstatuses$List extends StandardParameters { + /** + * Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call, to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. Parent organization or folder to list enrollment statuses for, in one of the following formats: * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + parent?: string; + } + + export class Resource$Folders$Locations$Standards { + context: APIRequestContext; + controls: Resource$Folders$Locations$Standards$Controls; + constructor(context: APIRequestContext) { + this.context = context; + this.controls = new Resource$Folders$Locations$Standards$Controls( + this.context + ); + } + } + + export class Resource$Folders$Locations$Standards$Controls { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists the controls that you must implement to become compliant to a regulatory standard. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.folders.locations.standards.controls.list({ + * // Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call, to retrieve the next page of results. + * pageToken: 'placeholder-value', + * // Required. Standard to list controls for, in one of the following formats: * `projects/{project\}/locations/{location\}/standards/{standard\}` * `folders/{folder\}/locations/{location\}/standards/{standard\}` * `organizations/{organization\}/locations/{location\}/standards/{standard\}` + * parent: 'folders/my-folder/locations/my-location/standards/my-standard', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "controls": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Folders$Locations$Standards$Controls$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Folders$Locations$Standards$Controls$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Folders$Locations$Standards$Controls$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Standards$Controls$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Standards$Controls$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Standards$Controls$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Standards$Controls$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Standards$Controls$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/controls').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Folders$Locations$Standards$Controls$List extends StandardParameters { + /** + * Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call, to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. Standard to list controls for, in one of the following formats: * `projects/{project\}/locations/{location\}/standards/{standard\}` * `folders/{folder\}/locations/{location\}/standards/{standard\}` * `organizations/{organization\}/locations/{location\}/standards/{standard\}` + */ + parent?: string; + } + + export class Resource$Organizations { + context: APIRequestContext; + locations: Resource$Organizations$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Organizations$Locations(this.context); + } + } + + export class Resource$Organizations$Locations { + context: APIRequestContext; + auditReports: Resource$Organizations$Locations$Auditreports; + auditScopeReports: Resource$Organizations$Locations$Auditscopereports; + operationDetails: Resource$Organizations$Locations$Operationdetails; + operationIds: Resource$Organizations$Locations$Operationids; + operations: Resource$Organizations$Locations$Operations; + resourceEnrollmentStatuses: Resource$Organizations$Locations$Resourceenrollmentstatuses; + standards: Resource$Organizations$Locations$Standards; + constructor(context: APIRequestContext) { + this.context = context; + this.auditReports = new Resource$Organizations$Locations$Auditreports( + this.context + ); + this.auditScopeReports = + new Resource$Organizations$Locations$Auditscopereports(this.context); + this.operationDetails = + new Resource$Organizations$Locations$Operationdetails(this.context); + this.operationIds = new Resource$Organizations$Locations$Operationids( + this.context + ); + this.operations = new Resource$Organizations$Locations$Operations( + this.context + ); + this.resourceEnrollmentStatuses = + new Resource$Organizations$Locations$Resourceenrollmentstatuses( + this.context + ); + this.standards = new Resource$Organizations$Locations$Standards( + this.context + ); + } + + /** + * Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.enrollResource({ + * // Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'organizations/my-organization/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "destinations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "destinationDetails": [], + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + enrollResource( + params: Params$Resource$Organizations$Locations$Enrollresource, + options: StreamMethodOptions + ): Promise>; + enrollResource( + params?: Params$Resource$Organizations$Locations$Enrollresource, + options?: MethodOptions + ): Promise>; + enrollResource( + params: Params$Resource$Organizations$Locations$Enrollresource, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enrollResource( + params: Params$Resource$Organizations$Locations$Enrollresource, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enrollResource( + params: Params$Resource$Organizations$Locations$Enrollresource, + callback: BodyResponseCallback + ): void; + enrollResource(callback: BodyResponseCallback): void; + enrollResource( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Enrollresource + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Enrollresource; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Enrollresource; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}:enrollResource').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Enrollresource extends StandardParameters { + /** + * Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EnrollResourceRequest; + } + + export class Resource$Organizations$Locations$Auditreports { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.auditReports.generate({ + * // Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'organizations/my-organization/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "gcsUri": "my_gcsUri", + * // "reportFormat": "my_reportFormat", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Organizations$Locations$Auditreports$Generate, + options: StreamMethodOptions + ): Promise>; + generate( + params?: Params$Resource$Organizations$Locations$Auditreports$Generate, + options?: MethodOptions + ): Promise>; + generate( + params: Params$Resource$Organizations$Locations$Auditreports$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Organizations$Locations$Auditreports$Generate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Organizations$Locations$Auditreports$Generate, + callback: BodyResponseCallback + ): void; + generate(callback: BodyResponseCallback): void; + generate( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Auditreports$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Auditreports$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Auditreports$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}/auditReports:generate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the full metadata and findings for an audit report. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.auditReports.get({ + * // Required. Name of the audit report, in one of the following formats: * `projects/{project\}/locations/{location\}/auditReports/{audit_report\}` * `folders/{folder\}/locations/{location\}/auditReports/{audit_report\}` * `organizations/{organization\}/locations/{location\}/auditReports/{audit_report\}` + * name: 'organizations/my-organization/locations/my-location/auditReports/my-auditReport', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "controlDetails": [], + * // "createTime": "my_createTime", + * // "destinationDetails": {}, + * // "name": "my_name", + * // "operationId": "my_operationId", + * // "reportGenerationState": "my_reportGenerationState", + * // "reportSummary": {}, + * // "scope": "my_scope", + * // "scopeId": "my_scopeId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Auditreports$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizations$Locations$Auditreports$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizations$Locations$Auditreports$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Auditreports$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Auditreports$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Auditreports$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Auditreports$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Auditreports$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the audit reports for the organization, folder, or project that you specify as the parent scope. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.auditReports.list({ + * // Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call, to retrieve the next page of results. + * pageToken: 'placeholder-value', + * // Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * parent: 'organizations/my-organization/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditReports": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Auditreports$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Organizations$Locations$Auditreports$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Organizations$Locations$Auditreports$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Auditreports$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Auditreports$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Auditreports$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Auditreports$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Auditreports$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/auditReports').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Auditreports$Generate extends StandardParameters { + /** + * Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateAuditReportRequest; + } + export interface Params$Resource$Organizations$Locations$Auditreports$Get extends StandardParameters { + /** + * Required. Name of the audit report, in one of the following formats: * `projects/{project\}/locations/{location\}/auditReports/{audit_report\}` * `folders/{folder\}/locations/{location\}/auditReports/{audit_report\}` * `organizations/{organization\}/locations/{location\}/auditReports/{audit_report\}` + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Auditreports$List extends StandardParameters { + /** + * Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call, to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + parent?: string; + } + + export class Resource$Organizations$Locations$Auditscopereports { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await auditmanager.organizations.locations.auditScopeReports.generate({ + * // Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'organizations/my-organization/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "reportFormat": "my_reportFormat", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "scopeReportContents": "my_scopeReportContents" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Organizations$Locations$Auditscopereports$Generate, + options: StreamMethodOptions + ): Promise>; + generate( + params?: Params$Resource$Organizations$Locations$Auditscopereports$Generate, + options?: MethodOptions + ): Promise>; + generate( + params: Params$Resource$Organizations$Locations$Auditscopereports$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Organizations$Locations$Auditscopereports$Generate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Organizations$Locations$Auditscopereports$Generate, + callback: BodyResponseCallback + ): void; + generate(callback: BodyResponseCallback): void; + generate( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Auditscopereports$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Auditscopereports$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Auditscopereports$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}/auditScopeReports:generate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Auditscopereports$Generate extends StandardParameters { + /** + * Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateAuditScopeReportRequest; + } + + export class Resource$Organizations$Locations$Operationdetails { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details about the long-running operation to generate audit reports. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.operationDetails.get({ + * // The name of the operation resource. + * name: 'organizations/my-organization/locations/my-location/operationDetails/my-operationDetail', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Operationdetails$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizations$Locations$Operationdetails$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizations$Locations$Operationdetails$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operationdetails$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operationdetails$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operationdetails$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operationdetails$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Operationdetails$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Operationdetails$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + + export class Resource$Organizations$Locations$Operationids { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details about the long-running operation to generate audit reports. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.operationIds.get({ + * // The name of the operation resource. + * name: 'organizations/my-organization/locations/my-location/operationIds/my-operationId', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Operationids$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizations$Locations$Operationids$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizations$Locations$Operationids$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operationids$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operationids$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operationids$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operationids$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Operationids$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Operationids$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + + export class Resource$Organizations$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'organizations/my-organization/locations/my-location/operations/my-operation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Organizations$Locations$Operations$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'organizations/my-organization/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Organizations$Locations$Operations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.operations.get({ + * // The name of the operation resource. + * name: 'organizations/my-organization/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizations$Locations$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.organizations.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'organizations/my-organization/locations/my-location', + * // The standard list page size. + * pageSize: 'placeholder-value', + * // The standard list page token. + * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Organizations$Locations$Operations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Operations$Cancel extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Organizations$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Operations$List extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Organizations$Locations$Resourceenrollmentstatuses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a resource and its enrollment status. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await auditmanager.organizations.locations.resourceEnrollmentStatuses.get({ + * // Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `projects/{project\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `organizations/{organization\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` + * name: 'organizations/my-organization/locations/my-location/resourceEnrollmentStatuses/my-resourceEnrollmentStatuse', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "enrolled": false, + * // "enrollment": {}, + * // "enrollmentState": "my_enrollmentState", + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all the folders and projects in an organization or folder, along with their enrollments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await auditmanager.organizations.locations.resourceEnrollmentStatuses.list({ + * // Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call, to retrieve the next page of results. + * pageToken: 'placeholder-value', + * // Required. Parent organization or folder to list enrollment statuses for, in one of the following formats: * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * parent: 'organizations/my-organization/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "resourceEnrollmentStatuses": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/resourceEnrollmentStatuses').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$Get extends StandardParameters { + /** + * Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `projects/{project\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `organizations/{organization\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Resourceenrollmentstatuses$List extends StandardParameters { + /** + * Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call, to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. Parent organization or folder to list enrollment statuses for, in one of the following formats: * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + parent?: string; + } + + export class Resource$Organizations$Locations$Standards { + context: APIRequestContext; + controls: Resource$Organizations$Locations$Standards$Controls; + constructor(context: APIRequestContext) { + this.context = context; + this.controls = new Resource$Organizations$Locations$Standards$Controls( + this.context + ); + } + } + + export class Resource$Organizations$Locations$Standards$Controls { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists the controls that you must implement to become compliant to a regulatory standard. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await auditmanager.organizations.locations.standards.controls.list({ + * // Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call, to retrieve the next page of results. + * pageToken: 'placeholder-value', + * // Required. Standard to list controls for, in one of the following formats: * `projects/{project\}/locations/{location\}/standards/{standard\}` * `folders/{folder\}/locations/{location\}/standards/{standard\}` * `organizations/{organization\}/locations/{location\}/standards/{standard\}` + * parent: + * 'organizations/my-organization/locations/my-location/standards/my-standard', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "controls": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Standards$Controls$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Organizations$Locations$Standards$Controls$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Organizations$Locations$Standards$Controls$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Standards$Controls$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Standards$Controls$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Standards$Controls$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Standards$Controls$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Standards$Controls$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/controls').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Standards$Controls$List extends StandardParameters { + /** + * Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call, to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. Standard to list controls for, in one of the following formats: * `projects/{project\}/locations/{location\}/standards/{standard\}` * `folders/{folder\}/locations/{location\}/standards/{standard\}` * `organizations/{organization\}/locations/{location\}/standards/{standard\}` + */ + parent?: string; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + auditReports: Resource$Projects$Locations$Auditreports; + auditScopeReports: Resource$Projects$Locations$Auditscopereports; + operationDetails: Resource$Projects$Locations$Operationdetails; + operationIds: Resource$Projects$Locations$Operationids; + operations: Resource$Projects$Locations$Operations; + resourceEnrollmentStatuses: Resource$Projects$Locations$Resourceenrollmentstatuses; + standards: Resource$Projects$Locations$Standards; + constructor(context: APIRequestContext) { + this.context = context; + this.auditReports = new Resource$Projects$Locations$Auditreports( + this.context + ); + this.auditScopeReports = + new Resource$Projects$Locations$Auditscopereports(this.context); + this.operationDetails = new Resource$Projects$Locations$Operationdetails( + this.context + ); + this.operationIds = new Resource$Projects$Locations$Operationids( + this.context + ); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + this.resourceEnrollmentStatuses = + new Resource$Projects$Locations$Resourceenrollmentstatuses( + this.context + ); + this.standards = new Resource$Projects$Locations$Standards(this.context); + } + + /** + * Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.enrollResource({ + * // Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "destinations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "destinationDetails": [], + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + enrollResource( + params: Params$Resource$Projects$Locations$Enrollresource, + options: StreamMethodOptions + ): Promise>; + enrollResource( + params?: Params$Resource$Projects$Locations$Enrollresource, + options?: MethodOptions + ): Promise>; + enrollResource( + params: Params$Resource$Projects$Locations$Enrollresource, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enrollResource( + params: Params$Resource$Projects$Locations$Enrollresource, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enrollResource( + params: Params$Resource$Projects$Locations$Enrollresource, + callback: BodyResponseCallback + ): void; + enrollResource(callback: BodyResponseCallback): void; + enrollResource( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Enrollresource + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Enrollresource; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Enrollresource; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}:enrollResource').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets information about a location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.get({ + * // Resource name for the location. + * name: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "labels": {}, + * // "locationId": "my_locationId", + * // "metadata": {}, + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.list({ + * // Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. + * extraLocationTypes: 'placeholder-value', + * // 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). + * filter: 'placeholder-value', + * // The resource that owns the locations collection, if applicable. + * name: 'projects/my-project', + * // The maximum number of results to return. If not set, the service selects a default. + * pageSize: 'placeholder-value', + * // A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "locations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Enrollresource extends StandardParameters { + /** + * Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EnrollResourceRequest; + } + export interface Params$Resource$Projects$Locations$Get extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List extends StandardParameters { + /** + * Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. + */ + extraLocationTypes?: string[]; + /** + * 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). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Auditreports { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.auditReports.generate({ + * // Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "gcsUri": "my_gcsUri", + * // "reportFormat": "my_reportFormat", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Projects$Locations$Auditreports$Generate, + options: StreamMethodOptions + ): Promise>; + generate( + params?: Params$Resource$Projects$Locations$Auditreports$Generate, + options?: MethodOptions + ): Promise>; + generate( + params: Params$Resource$Projects$Locations$Auditreports$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Projects$Locations$Auditreports$Generate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Projects$Locations$Auditreports$Generate, + callback: BodyResponseCallback + ): void; + generate(callback: BodyResponseCallback): void; + generate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Auditreports$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Auditreports$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Auditreports$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}/auditReports:generate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the full metadata and findings for an audit report. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.auditReports.get({ + * // Required. Name of the audit report, in one of the following formats: * `projects/{project\}/locations/{location\}/auditReports/{audit_report\}` * `folders/{folder\}/locations/{location\}/auditReports/{audit_report\}` * `organizations/{organization\}/locations/{location\}/auditReports/{audit_report\}` + * name: 'projects/my-project/locations/my-location/auditReports/my-auditReport', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "controlDetails": [], + * // "createTime": "my_createTime", + * // "destinationDetails": {}, + * // "name": "my_name", + * // "operationId": "my_operationId", + * // "reportGenerationState": "my_reportGenerationState", + * // "reportSummary": {}, + * // "scope": "my_scope", + * // "scopeId": "my_scopeId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Auditreports$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Auditreports$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Auditreports$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Auditreports$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Auditreports$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Auditreports$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Auditreports$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Auditreports$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the audit reports for the organization, folder, or project that you specify as the parent scope. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.auditReports.list({ + * // Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call, to retrieve the next page of results. + * pageToken: 'placeholder-value', + * // Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditReports": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Auditreports$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Auditreports$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Auditreports$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Auditreports$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Auditreports$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Auditreports$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Auditreports$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Auditreports$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/auditReports').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Auditreports$Generate extends StandardParameters { + /** + * Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateAuditReportRequest; + } + export interface Params$Resource$Projects$Locations$Auditreports$Get extends StandardParameters { + /** + * Required. Name of the audit report, in one of the following formats: * `projects/{project\}/locations/{location\}/auditReports/{audit_report\}` * `folders/{folder\}/locations/{location\}/auditReports/{audit_report\}` * `organizations/{organization\}/locations/{location\}/auditReports/{audit_report\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Auditreports$List extends StandardParameters { + /** + * Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call, to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + parent?: string; + } + + export class Resource$Projects$Locations$Auditscopereports { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.auditScopeReports.generate({ + * // Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + * scope: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "complianceFramework": "my_complianceFramework", + * // "complianceStandard": "my_complianceStandard", + * // "reportFormat": "my_reportFormat", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "scopeReportContents": "my_scopeReportContents" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Projects$Locations$Auditscopereports$Generate, + options: StreamMethodOptions + ): Promise>; + generate( + params?: Params$Resource$Projects$Locations$Auditscopereports$Generate, + options?: MethodOptions + ): Promise>; + generate( + params: Params$Resource$Projects$Locations$Auditscopereports$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Projects$Locations$Auditscopereports$Generate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Projects$Locations$Auditscopereports$Generate, + callback: BodyResponseCallback + ): void; + generate(callback: BodyResponseCallback): void; + generate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Auditscopereports$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Auditscopereports$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Auditscopereports$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+scope}/auditScopeReports:generate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['scope'], + pathParams: ['scope'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Auditscopereports$Generate extends StandardParameters { + /** + * Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project\}/locations/{location\}` * `folders/{folder\}/locations/{location\}` * `organizations/{organization\}/locations/{location\}` + */ + scope?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateAuditScopeReportRequest; + } + + export class Resource$Projects$Locations$Operationdetails { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details about the long-running operation to generate audit reports. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.operationDetails.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operationDetails/my-operationDetail', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operationdetails$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operationdetails$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operationdetails$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operationdetails$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operationdetails$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operationdetails$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operationdetails$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operationdetails$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operationdetails$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + + export class Resource$Projects$Locations$Operationids { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details about the long-running operation to generate audit reports. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.operationIds.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operationIds/my-operationId', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operationids$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operationids$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operationids$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operationids$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operationids$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operationids$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operationids$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operationids$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operationids$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.operations.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'projects/my-project/locations/my-location', + * // The standard list page size. + * pageSize: 'placeholder-value', + * // The standard list page token. + * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Projects$Locations$Resourceenrollmentstatuses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a resource and its enrollment status. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await auditmanager.projects.locations.resourceEnrollmentStatuses.get({ + * // Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `projects/{project\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `organizations/{organization\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` + * name: 'projects/my-project/locations/my-location/resourceEnrollmentStatuses/my-resourceEnrollmentStatuse', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "enrolled": false, + * // "enrollment": {}, + * // "enrollmentState": "my_enrollmentState", + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Resourceenrollmentstatuses$Get extends StandardParameters { + /** + * Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `projects/{project\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` * `organizations/{organization\}/locations/{location\}/resourceEnrollmentStatuses/{resource_enrollment_status\}` + */ + name?: string; + } + + export class Resource$Projects$Locations$Standards { + context: APIRequestContext; + controls: Resource$Projects$Locations$Standards$Controls; + constructor(context: APIRequestContext) { + this.context = context; + this.controls = new Resource$Projects$Locations$Standards$Controls( + this.context + ); + } + } + + export class Resource$Projects$Locations$Standards$Controls { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists the controls that you must implement to become compliant to a regulatory standard. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/auditmanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const auditmanager = google.auditmanager('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-auditmanager', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await auditmanager.projects.locations.standards.controls.list({ + * // Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call, to retrieve the next page of results. + * pageToken: 'placeholder-value', + * // Required. Standard to list controls for, in one of the following formats: * `projects/{project\}/locations/{location\}/standards/{standard\}` * `folders/{folder\}/locations/{location\}/standards/{standard\}` * `organizations/{organization\}/locations/{location\}/standards/{standard\}` + * parent: 'projects/my-project/locations/my-location/standards/my-standard', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "controls": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Standards$Controls$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Standards$Controls$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Standards$Controls$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Standards$Controls$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Standards$Controls$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Standards$Controls$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Standards$Controls$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Standards$Controls$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://auditmanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/controls').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Standards$Controls$List extends StandardParameters { + /** + * Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call, to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. Standard to list controls for, in one of the following formats: * `projects/{project\}/locations/{location\}/standards/{standard\}` * `folders/{folder\}/locations/{location\}/standards/{standard\}` * `organizations/{organization\}/locations/{location\}/standards/{standard\}` + */ + parent?: string; + } +} diff --git a/src/apis/auditmanager/webpack.config.js b/src/apis/auditmanager/webpack.config.js new file mode 100644 index 00000000000..9303afc5aa9 --- /dev/null +++ b/src/apis/auditmanager/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Auditmanager', + filename: 'auditmanager.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; diff --git a/src/apis/authorizedbuyersmarketplace/package.json b/src/apis/authorizedbuyersmarketplace/package.json index e0c8af44846..f2525585a0e 100644 --- a/src/apis/authorizedbuyersmarketplace/package.json +++ b/src/apis/authorizedbuyersmarketplace/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/authorizedbuyersmarketplace/v1alpha.ts b/src/apis/authorizedbuyersmarketplace/v1alpha.ts index b428fe9a18a..fdd48b1def4 100644 --- a/src/apis/authorizedbuyersmarketplace/v1alpha.ts +++ b/src/apis/authorizedbuyersmarketplace/v1alpha.ts @@ -456,6 +456,10 @@ export namespace authorizedbuyersmarketplace_v1alpha { * Output only. Time the data segment was last updated. */ updateTime?: string | null; + /** + * Optional. Immutable. The ID of the User List wrapped by this Data Segment. Curators with a linked Data Partner account can create a data segment that wraps a user list owned by the linked Data Partner account. User lists can be uploaded and managed using the [Data Manager API](https://developers.google.com/data-manager/api/data-partners/audiences). Linking a user list to a data segment lets you define a segment of inventory that is based on an audience you create. + */ + userListId?: string | null; } /** * Defines targeting for a period of time on a specific week day. @@ -5209,7 +5213,8 @@ export namespace authorizedbuyersmarketplace_v1alpha { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * @@ -5354,7 +5359,8 @@ export namespace authorizedbuyersmarketplace_v1alpha { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * }, * }); @@ -5367,7 +5373,8 @@ export namespace authorizedbuyersmarketplace_v1alpha { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * @@ -5518,7 +5525,8 @@ export namespace authorizedbuyersmarketplace_v1alpha { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * @@ -5663,7 +5671,8 @@ export namespace authorizedbuyersmarketplace_v1alpha { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * @@ -5953,7 +5962,8 @@ export namespace authorizedbuyersmarketplace_v1alpha { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * }, * }); @@ -5966,7 +5976,8 @@ export namespace authorizedbuyersmarketplace_v1alpha { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * diff --git a/src/apis/authorizedbuyersmarketplace/v1beta.ts b/src/apis/authorizedbuyersmarketplace/v1beta.ts index 84b5a45e905..16e1f684333 100644 --- a/src/apis/authorizedbuyersmarketplace/v1beta.ts +++ b/src/apis/authorizedbuyersmarketplace/v1beta.ts @@ -254,6 +254,10 @@ export namespace authorizedbuyersmarketplace_v1beta { * Output only. Time the data segment was last updated. */ updateTime?: string | null; + /** + * Optional. Immutable. The ID of the User List wrapped by this Data Segment. Curators with a linked Data Partner account can create a data segment that wraps a user list owned by the linked Data Partner account. User lists can be uploaded and managed using the [Data Manager API](https://developers.google.com/data-manager/api/data-partners/audiences). Linking a user list to a data segment lets you define a segment of inventory that is based on an audience you create. + */ + userListId?: string | null; } /** * Request message for DeactivateCuratedPackage. @@ -1654,7 +1658,8 @@ export namespace authorizedbuyersmarketplace_v1beta { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * @@ -1799,7 +1804,8 @@ export namespace authorizedbuyersmarketplace_v1beta { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * }, * }); @@ -1812,7 +1818,8 @@ export namespace authorizedbuyersmarketplace_v1beta { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * @@ -1964,7 +1971,8 @@ export namespace authorizedbuyersmarketplace_v1beta { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * @@ -2109,7 +2117,8 @@ export namespace authorizedbuyersmarketplace_v1beta { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * @@ -2399,7 +2408,8 @@ export namespace authorizedbuyersmarketplace_v1beta { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * }, * }); @@ -2412,7 +2422,8 @@ export namespace authorizedbuyersmarketplace_v1beta { * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", * // "name": "my_name", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" * // } * } * diff --git a/src/apis/backupdr/index.ts b/src/apis/backupdr/index.ts index 883206ee8eb..ec723a6b0a2 100644 --- a/src/apis/backupdr/index.ts +++ b/src/apis/backupdr/index.ts @@ -15,16 +15,23 @@ import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; import {backupdr_v1} from './v1'; +import {backupdr_v1beta} from './v1beta'; export const VERSIONS = { v1: backupdr_v1.Backupdr, + v1beta: backupdr_v1beta.Backupdr, }; export function backupdr(version: 'v1'): backupdr_v1.Backupdr; export function backupdr(options: backupdr_v1.Options): backupdr_v1.Backupdr; -export function backupdr( +export function backupdr(version: 'v1beta'): backupdr_v1beta.Backupdr; +export function backupdr( + options: backupdr_v1beta.Options +): backupdr_v1beta.Backupdr; +export function backupdr( this: GoogleConfigurable, - versionOrOptions: 'v1' | backupdr_v1.Options + versionOrOptions: + 'v1' | backupdr_v1.Options | 'v1beta' | backupdr_v1beta.Options ) { return getAPI('backupdr', versionOrOptions, VERSIONS, this); } @@ -32,6 +39,7 @@ export function backupdr( const auth = new AuthPlus(); export {auth}; export {backupdr_v1}; +export {backupdr_v1beta}; export { AuthPlus, GlobalOptions, diff --git a/src/apis/backupdr/package.json b/src/apis/backupdr/package.json index 9947ca75f0d..1428c3a70b1 100644 --- a/src/apis/backupdr/package.json +++ b/src/apis/backupdr/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/backupdr/v1beta.ts b/src/apis/backupdr/v1beta.ts new file mode 100644 index 00000000000..ae3d66dcfaf --- /dev/null +++ b/src/apis/backupdr/v1beta.ts @@ -0,0 +1,16214 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosResponseWithHTTP2, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace backupdr_v1beta { + export interface Options extends GlobalOptions { + version: 'v1beta'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * 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. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * 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. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Backup and DR Service API + * + * + * + * @example + * ```js + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * ``` + */ + export class Backupdr { + context: APIRequestContext; + folders: Resource$Folders; + organizations: Resource$Organizations; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.folders = new Resource$Folders(this.context); + this.organizations = new Resource$Organizations(this.context); + this.projects = new Resource$Projects(this.context); + } + } + + /** + * request message for AbandonBackup. + */ + export interface Schema$AbandonBackupRequest { + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + } + /** + * A specification of the type and number of accelerator cards attached to the instance. + */ + export interface Schema$AcceleratorConfig { + /** + * Optional. The number of the guest accelerator cards exposed to this instance. + */ + acceleratorCount?: number | null; + /** + * Optional. Full or partial URL of the accelerator type resource to attach to this instance. + */ + acceleratorType?: string | null; + } + /** + * An access configuration attached to an instance's network interface. Only one access config per instance is supported. + */ + export interface Schema$AccessConfig { + /** + * Optional. The external IPv6 address of this access configuration. + */ + externalIpv6?: string | null; + /** + * Optional. The prefix length of the external IPv6 range. + */ + externalIpv6PrefixLength?: number | null; + /** + * Optional. The name of this access configuration. + */ + name?: string | null; + /** + * Optional. The external IP address of this access configuration. + */ + natIP?: string | null; + /** + * Optional. This signifies the networking tier used for configuring this access + */ + networkTier?: string | null; + /** + * Optional. The DNS domain name for the public PTR record. + */ + publicPtrDomainName?: string | null; + /** + * Optional. Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. + */ + setPublicPtr?: boolean | null; + /** + * Optional. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6. + */ + type?: string | null; + } + /** + * Specifies options for controlling advanced machine features. + */ + export interface Schema$AdvancedMachineFeatures { + /** + * Optional. Whether to enable nested virtualization or not (default is false). + */ + enableNestedVirtualization?: boolean | null; + /** + * Optional. Whether to enable UEFI networking for instance creation. + */ + enableUefiNetworking?: boolean | null; + /** + * Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed. + */ + threadsPerCore?: number | null; + /** + * Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width. + */ + visibleCoreCount?: number | null; + } + /** + * An alias IP range attached to an instance's network interface. + */ + export interface Schema$AliasIpRange { + /** + * Optional. The IP alias ranges to allocate for this interface. + */ + ipCidrRange?: string | null; + /** + * Optional. The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used. + */ + subnetworkRangeName?: string | null; + } + /** + * Specifies the reservations that this instance can consume from. + */ + export interface Schema$AllocationAffinity { + /** + * Optional. Specifies the type of reservation from which this instance can consume + */ + consumeReservationType?: string | null; + /** + * Optional. Corresponds to the label key of a reservation resource. + */ + key?: string | null; + /** + * Optional. Corresponds to the label values of a reservation resource. + */ + values?: string[] | null; + } + /** + * Properties for an AlloyDB cluster backup plan association. + */ + export interface Schema$AlloyDBClusterBackupPlanAssociationProperties { + /** + * Output only. The cluster UID of the AlloyDB cluster. + */ + clusterUid?: string | null; + } + /** + * AlloyDbClusterBackupProperties represents AlloyDB cluster backup properties. . + */ + export interface Schema$AlloyDbClusterBackupProperties { + /** + * Output only. The chain id of this backup. Backups belonging to the same chain are sharing the same chain id. This property is calculated and maintained by BackupDR. + */ + chainId?: string | null; + /** + * Output only. The PostgreSQL major version of the AlloyDB cluster when the backup was taken. + */ + databaseVersion?: string | null; + /** + * An optional text description for the backup. + */ + description?: string | null; + /** + * Output only. Storage usage of this particular backup + */ + storedBytes?: string | null; + } + /** + * AlloyDBClusterDataSourceProperties represents the properties of a AlloyDB cluster resource that are stored in the DataSource. . + */ + export interface Schema$AlloyDBClusterDataSourceProperties { + /** + * Output only. The cluster UID of the AlloyDB cluster backed up by the datasource. + */ + clusterUid?: string | null; + /** + * Output only. Name of the AlloyDB cluster backed up by the datasource. + */ + name?: string | null; + /** + * Output only. Point in time recovery windows. The order is guaranteed to be ascending by start time. + */ + pitrWindows?: Schema$AlloyDbPitrWindow[]; + } + /** + * AlloyDBClusterDataSourceReferenceProperties represents the properties of an AlloyDB cluster that are stored in the DataSourceReference. + */ + export interface Schema$AlloyDBClusterDataSourceReferenceProperties { + /** + * Output only. Name of the AlloyDB cluster backed up by the datasource. Format: projects/{project\}/locations/{location\}/clusters/{cluster\} + */ + name?: string | null; + } + /** + * Point in time recovery window for an AlloyDB cluster. + */ + export interface Schema$AlloyDbPitrWindow { + /** + * Output only. The end time of the PITR window. It is not set if the corresponding Backup Plan Association is active. + */ + endTime?: string | null; + /** + * Output only. Log retention days for the PITR window. + */ + logRetentionDays?: string | null; + /** + * Output only. The start time of the PITR window. + */ + startTime?: string | null; + } + /** + * AppliedAutoProtectionPolicy is a read-only view of AutoProtectionPolicy and AutoProtectionPolicyBinding resources that apply to a given workload project. + */ + export interface Schema$AppliedAutoProtectionPolicy { + /** + * Output only. The set of backup plan configurations, mirroring the backup_plan_details from the source AutoProtectionPolicy. Each element specifies a backup plan for a given resource type. + */ + backupPlanDetails?: Schema$BackupPlanDetail[]; + /** + * Output only. The summary of the last policy application when the job has run. + */ + bindingEvaluationSummary?: Schema$BindingEvaluationSummary; + /** + * Output only. Timestamp indicating when the binding was last created. + */ + createTime?: string | null; + /** + * Output only. The criteria resources must meet for this rule to apply. From AutoProtectionPolicy.criteria. + */ + criteria?: Schema$Criteria; + /** + * Identifier. Canonical resource name. Format: projects/{workload-project-number\}/locations/{location\}/appliedAutoProtectionPolicies/{id\}. + */ + name?: string | null; + /** + * Output only. The full resource name of the AutoProtectionPolicyBinding that applies the source policy to a scope including this workload project. e.g., projects/{admin-project\}/locations/{location\}/autoProtectionPolicies/{policy_id\}/autoProtectionPolicyBindings/{binding_id\}. + */ + sourceBinding?: string | null; + /** + * Output only. The status of the applied auto protection policy. + */ + status?: string | null; + /** + * Output only. Timestamp indicating when the binding was last modified. + */ + updateTime?: string | null; + } + /** + * An instance-attached disk resource. + */ + export interface Schema$AttachedDisk { + /** + * Optional. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance). + */ + autoDelete?: boolean | null; + /** + * Optional. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem. + */ + boot?: boolean | null; + /** + * Optional. This is used as an identifier for the disks. This is the unique name has to provided to modify disk parameters like disk_name and replica_zones (in case of RePDs) + */ + deviceName?: string | null; + /** + * Optional. Encrypts or decrypts a disk using a customer-supplied encryption key. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * Optional. Specifies the disk interface to use for attaching this disk. + */ + diskInterface?: string | null; + /** + * Optional. The size of the disk in GB. + */ + diskSizeGb?: string | null; + /** + * Optional. Output only. The URI of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd + */ + diskType?: string | null; + /** + * Specifies the type of the disk. + */ + diskTypeDeprecated?: string | null; + /** + * Optional. A list of features to enable on the guest operating system. Applicable only for bootable images. + */ + guestOsFeature?: Schema$GuestOsFeature[]; + /** + * Optional. A zero-based index to this disk, where 0 is reserved for the boot disk. + */ + index?: string | null; + /** + * Optional. Specifies the parameters to initialize this disk. + */ + initializeParams?: Schema$InitializeParams; + /** + * Optional. Type of the resource. + */ + kind?: string | null; + /** + * Optional. Any valid publicly visible licenses. + */ + license?: string[] | null; + /** + * Optional. The mode in which to attach this disk. + */ + mode?: string | null; + /** + * Optional. Output only. The state of the disk. + */ + savedState?: string | null; + /** + * Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource. + */ + source?: string | null; + /** + * Optional. Specifies the type of the disk. + */ + type?: string | null; + } + /** + * 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. + */ + export interface Schema$AuditConfig { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: Schema$AuditLogConfig[]; + /** + * 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. + */ + service?: string | null; + } + /** + * 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. + */ + export interface Schema$AuditLogConfig { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers?: string[] | null; + /** + * The log type that this config enables. + */ + logType?: string | null; + } + /** + * AutoProtectionDetails contains the protection details of a resource from the current binding's perspective. + */ + export interface Schema$AutoProtectionDetails { + /** + * Output only. Resource name of backup plan association linked to the resource, if any. Format: projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\} + */ + backupPlanAssociation?: string | null; + /** + * Output only. Resource name of the datasource linked to the resource, if any. Format: projects/{project\}/locations/{location\}/backupVaults/{backupVaultId\}/dataSources/{dataSourceId\} + */ + dataSource?: string | null; + /** + * Output only. Error during last sync for protection/unprotection, if any. + */ + error?: Schema$Status; + /** + * Output only. Protection state of the resource from the current binding's perspective. Output only. + */ + state?: string | null; + } + /** + * An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria. + */ + export interface Schema$AutoProtectionPolicy { + /** + * Required. The backup plan details for matching resources. + */ + backupPlanDetails?: Schema$BackupPlanDetail[]; + /** + * Output only. Summary of total count of different containers covered through this policy. + */ + bindingSummary?: Schema$BindingSummary; + /** + * Output only. The timestamp when the policy was created. + */ + createTime?: string | null; + /** + * Required. The criteria for matching resources. + */ + criteria?: Schema$Criteria; + /** + * Optional. A description of the policy. + */ + description?: string | null; + /** + * Output only. The etag for the policy. If this is provided on update, it must match the server's etag, otherwise the request will be rejected with an ABORTED error. + */ + etag?: string | null; + /** + * Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}` + */ + name?: string | null; + /** + * Output only. Summary of last policy application when job was run per workload type. + */ + policyEvaluationSummary?: Schema$PolicyEvaluationSummary; + /** + * Output only. The current state of the AutoprotectionPolicy. + */ + state?: string | null; + /** + * Output only. The timestamp when the policy was last updated. + */ + updateTime?: string | null; + } + /** + * An AutoprotectionPolicyBinding (APPA) acts as the bridge between an AutoprotectionPolicy and the scope (Project, Folder, or Organization) where the policy should be applied. + */ + export interface Schema$AutoProtectionPolicyBinding { + /** + * Output only. Summaries of the last policy application when the job has run, with one entry per resource type specified in the AutoProtectionPolicy. + */ + bindingEvaluationSummary?: Schema$BindingEvaluationSummary; + /** + * Output only. The timestamp when the binding was created. + */ + createTime?: string | null; + /** + * Optional. A description of the binding. + */ + description?: string | null; + /** + * Optional. Output only. The etag for the binding. If this is provided on update, it must match the server's etag. + */ + etag?: string | null; + /** + * Identifier. The resource name of the AutoProtectionPolicyBinding. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\}` + */ + name?: string | null; + /** + * Required. Immutable. Resource Id of target container on which policy will be applied. Format: projects/{project_id\} + */ + scope?: string | null; + /** + * Output only. The current state of the AutoProtectionPolicyBinding. + */ + state?: string | null; + /** + * Output only. The timestamp when the binding was last updated. + */ + updateTime?: string | null; + } + /** + * Message describing a Backup object. + */ + export interface Schema$Backup { + /** + * Output only. AlloyDB specific backup properties. + */ + alloyDbBackupProperties?: Schema$AlloyDbClusterBackupProperties; + /** + * Output only. Backup Appliance specific backup properties. + */ + backupApplianceBackupProperties?: Schema$BackupApplianceBackupProperties; + /** + * Optional. The list of BackupLocks taken by the accessor Backup Appliance. + */ + backupApplianceLocks?: Schema$BackupLock[]; + /** + * Output only. Setting for how the enforced retention end time is inherited. This value is copied from this backup's BackupVault. + */ + backupRetentionInheritance?: string | null; + /** + * Output only. Type of the backup, unspecified, scheduled or ondemand. + */ + backupType?: string | null; + /** + * Output only. Cloud SQL specific backup properties. + */ + cloudSqlInstanceBackupProperties?: Schema$CloudSqlInstanceBackupProperties; + /** + * Output only. Compute Engine specific backup properties. + */ + computeInstanceBackupProperties?: Schema$ComputeInstanceBackupProperties; + /** + * Output only. The point in time when this backup was captured from the source. + */ + consistencyTime?: string | null; + /** + * Output only. The time when the instance was created. + */ + createTime?: string | null; + /** + * Output only. The description of the Backup instance (2048 characters or less). + */ + description?: string | null; + /** + * Output only. Disk specific backup properties. + */ + diskBackupProperties?: Schema$DiskBackupProperties; + /** + * Optional. The backup can not be deleted before this time. + */ + enforcedRetentionEndTime?: string | null; + /** + * Optional. Server specified ETag to prevent updates from overwriting each other. + */ + etag?: string | null; + /** + * Optional. When this backup is automatically expired. + */ + expireTime?: string | null; + /** + * Output only. Filestore specific backup properties. + */ + filestoreInstanceBackupProperties?: Schema$FilestoreInstanceBackupProperties; + /** + * Output only. Configuration for a Google Cloud resource. + */ + gcpBackupPlanInfo?: Schema$GCPBackupPlanInfo; + /** + * Output only. Unique identifier of the GCP resource that is being backed up. + */ + gcpResource?: Schema$BackupGcpResource; + /** + * Optional. Output only. The list of KMS key versions used to encrypt the backup. + */ + kmsKeyVersions?: string[] | null; + /** + * Optional. Resource labels to represent user provided metadata. No labels currently defined. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Identifier. Name of the backup to create. It must have the format`"projects//locations//backupVaults//dataSources/{datasource\}/backups/{backup\}"`. `{backup\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource. + */ + name?: string | null; + /** + * Output only. source resource size in bytes at the time of the backup. + */ + resourceSizeBytes?: string | null; + /** + * Optional. Output only. Reserved for future use. + */ + satisfiesPzi?: boolean | null; + /** + * Optional. Output only. Reserved for future use. + */ + satisfiesPzs?: boolean | null; + /** + * Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup. + */ + serviceLocks?: Schema$BackupLock[]; + /** + * Output only. The Backup resource instance state. + */ + state?: string | null; + /** + * Output only. The time when the instance was updated. + */ + updateTime?: string | null; + } + /** + * BackupApplianceBackupConfig captures the backup configuration for applications that are protected by Backup Appliances. + */ + export interface Schema$BackupApplianceBackupConfig { + /** + * The name of the application. + */ + applicationName?: string | null; + /** + * The ID of the backup appliance. + */ + backupApplianceId?: string | null; + /** + * The name of the backup appliance. + */ + backupApplianceName?: string | null; + /** + * The name of the host where the application is running. + */ + hostName?: string | null; + /** + * The ID of the SLA of this application. + */ + slaId?: string | null; + /** + * The name of the SLP associated with the application. + */ + slpName?: string | null; + /** + * The name of the SLT associated with the application. + */ + sltName?: string | null; + } + /** + * BackupApplianceBackupProperties represents BackupDR backup appliance's properties. + */ + export interface Schema$BackupApplianceBackupProperties { + /** + * Output only. The time when this backup object was finalized (if none, backup is not finalized). + */ + finalizeTime?: string | null; + /** + * Output only. The numeric generation ID of the backup (monotonically increasing). + */ + generationId?: number | null; + /** + * Optional. The latest timestamp of data available in this Backup. + */ + recoveryRangeEndTime?: string | null; + /** + * Optional. The earliest timestamp of data available in this Backup. + */ + recoveryRangeStartTime?: string | null; + } + /** + * BackupApplianceLockInfo contains metadata about the backupappliance that created the lock. + */ + export interface Schema$BackupApplianceLockInfo { + /** + * Required. The ID of the backup/recovery appliance that created this lock. + */ + backupApplianceId?: string | null; + /** + * Required. The name of the backup/recovery appliance that created this lock. + */ + backupApplianceName?: string | null; + /** + * The image name that depends on this Backup. + */ + backupImage?: string | null; + /** + * The job name on the backup/recovery appliance that created this lock. + */ + jobName?: string | null; + /** + * Required. The reason for the lock: e.g. MOUNT/RESTORE/BACKUP/etc. The value of this string is only meaningful to the client and it is not interpreted by the BackupVault service. + */ + lockReason?: string | null; + /** + * The SLA on the backup/recovery appliance that owns the lock. + */ + slaId?: string | null; + } + /** + * BackupConfigDetails has information about how the resource is configured for backups and about the most recent backup taken for this configuration. + */ + export interface Schema$BackupConfigDetails { + /** + * Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource that is applicable for the backup configuration. Example: "//compute.googleapis.com/projects/{project\}/zones/{zone\}/instances/{instance\}" + */ + applicableResource?: string | null; + /** + * Output only. The full resource name of the backup config source resource. For example, "//backupdr.googleapis.com/v1/projects/{project\}/locations/{region\}/backupPlans/{backupplanId\}" or "//compute.googleapis.com/projects/{project\}/locations/{region\}/resourcePolicies/{resourcePolicyId\}". + */ + backupConfigSource?: string | null; + /** + * Output only. The display name of the backup config source resource. + */ + backupConfigSourceDisplayName?: string | null; + /** + * Google Cloud Backup and DR's Backup Plan specific data. + */ + backupDrPlanConfig?: Schema$BackupDrPlanConfig; + /** + * Google Cloud Backup and DR's Template specific data. + */ + backupDrTemplateConfig?: Schema$BackupDrTemplateConfig; + /** + * The locations where the backups are to be stored. + */ + backupLocations?: Schema$BackupLocation[]; + /** + * Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the backup vault that will store the backups generated through this backup configuration. Example: "//backupdr.googleapis.com/v1/projects/{project\}/locations/{region\}/backupVaults/{backupvaultId\}" + */ + backupVault?: string | null; + /** + * Output only. Timestamp of the latest successful backup created via this backup configuration. + */ + latestSuccessfulBackupTime?: string | null; + /** + * Output only. Point in time recovery settings of the backup configuration resource. + */ + pitrSettings?: Schema$PitrSettings; + /** + * Output only. The state of the backup config resource. + */ + state?: string | null; + /** + * Output only. The type of the backup config resource. + */ + type?: string | null; + } + /** + * BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault. + */ + export interface Schema$BackupConfigInfo { + /** + * Configuration for an application backed up by a Backup Appliance. + */ + backupApplianceBackupConfig?: Schema$BackupApplianceBackupConfig; + /** + * Configuration for a Google Cloud resource. + */ + gcpBackupConfig?: Schema$GcpBackupConfig; + /** + * Output only. If the last backup failed, this field has the error message. + */ + lastBackupError?: Schema$Status; + /** + * Output only. The status of the last backup to this BackupVault + */ + lastBackupState?: string | null; + /** + * Output only. If the last backup were successful, this field has the consistency date. + */ + lastSuccessfulBackupConsistencyTime?: string | null; + } + /** + * BackupDrPlanConfig has additional information about Google Cloud Backup and DR's Plan backup configuration. + */ + export interface Schema$BackupDrPlanConfig { + /** + * Backup rules of the backup plan resource. + */ + backupDrPlanRules?: Schema$BackupDrPlanRule[]; + } + /** + * BackupDrPlanRule has rule specific information of the backup plan resource. + */ + export interface Schema$BackupDrPlanRule { + /** + * Output only. Timestamp of the latest successful backup created via this backup rule. + */ + lastSuccessfulBackupTime?: string | null; + /** + * Output only. Unique Id of the backup rule. + */ + ruleId?: string | null; + } + /** + * Provides additional information about Google Cloud Backup and DR's Template backup configuration. + */ + export interface Schema$BackupDrTemplateConfig { + /** + * Output only. The URI of the BackupDr template resource for the first party identity users. + */ + firstPartyManagementUri?: string | null; + /** + * Output only. The URI of the BackupDr template resource for the third party identity users. + */ + thirdPartyManagementUri?: string | null; + } + /** + * Minimum details to identify a Google Cloud resource for a backup. + */ + export interface Schema$BackupGcpResource { + /** + * Name of the Google Cloud resource. + */ + gcpResourcename?: string | null; + /** + * Location of the resource: //"global"/"unspecified". + */ + location?: string | null; + /** + * Type of the resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance. + */ + type?: string | null; + } + /** + * BackupLocation represents a cloud location where a backup can be stored. + */ + export interface Schema$BackupLocation { + /** + * Output only. The id of the cloud location. Example: "us-central1" + */ + locationId?: string | null; + /** + * Output only. The type of the location. + */ + type?: string | null; + } + /** + * BackupLock represents a single lock on a Backup resource. An unexpired lock on a Backup prevents the Backup from being deleted. + */ + export interface Schema$BackupLock { + /** + * If the client is a backup and recovery appliance, this contains metadata about why the lock exists. + */ + backupApplianceLockInfo?: Schema$BackupApplianceLockInfo; + /** + * Required. The time after which this lock is not considered valid and will no longer protect the Backup from deletion. + */ + lockUntilTime?: string | null; + /** + * Output only. Contains metadata about the lock exist for Google Cloud native backups. + */ + serviceLockInfo?: Schema$ServiceLockInfo; + } + /** + * A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads. + */ + export interface Schema$BackupPlan { + /** + * Optional. The backup rules for this `BackupPlan`. + */ + backupRules?: Schema$BackupRule[]; + /** + * Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project\}/locations/{location\}/backupVaults/{backupvault\} + */ + backupVault?: string | null; + /** + * Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account. + */ + backupVaultServiceAccount?: string | null; + /** + * Optional. Defines optional properties specific to backups of compute instance based resources, such as Compute Engine Instances. This includes settings like whether to perform a guest flush. + */ + computeInstanceBackupPlanProperties?: Schema$ComputeInstanceBackupPlanProperties; + /** + * Output only. When the `BackupPlan` was created. + */ + createTime?: string | null; + /** + * Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: "This is a backup plan that performs a daily backup at 6pm and retains data for 3 months". The description must be at most 2048 characters. + */ + description?: string | null; + /** + * Optional. Defines optional properties specific to backups of disk-based resources, such as Compute Engine Persistent Disks. This includes settings like whether to perform a guest flush. + */ + diskBackupPlanProperties?: Schema$DiskBackupPlanProperties; + /** + * Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources. + */ + etag?: string | null; + /** + * Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {"tag": "Weekly"\}. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault. + */ + logRetentionDays?: string | null; + /** + * Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value. + */ + maxCustomOnDemandRetentionDays?: number | null; + /** + * Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}` + */ + name?: string | null; + /** + * Required. The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance", "sqladmin.googleapis.com/Instance", "alloydb.googleapis.com/Cluster", "compute.googleapis.com/Disk". + */ + resourceType?: string | null; + /** + * Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc. + */ + revisionId?: string | null; + /** + * Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}/revisions/{revision_id\}` + */ + revisionName?: string | null; + /** + * Output only. The `State` for the `BackupPlan`. + */ + state?: string | null; + /** + * Output only. All resource types to which backupPlan can be applied. + */ + supportedResourceTypes?: string[] | null; + /** + * Output only. When the `BackupPlan` was last updated. + */ + updateTime?: string | null; + } + /** + * A BackupPlanAssociation represents a single BackupPlanAssociation which contains details like workload, backup plan etc + */ + export interface Schema$BackupPlanAssociation { + /** + * Output only. AlloyDB cluster's backup plan association properties. + */ + alloydbClusterBackupPlanAssociationProperties?: Schema$AlloyDBClusterBackupPlanAssociationProperties; + /** + * Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this association, if any. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{policy\}/bindings/{binding\}`. + */ + autoProtectionPolicyBinding?: string | null; + /** + * Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project\}/locations/{location\}/backupPlans/{backupPlanId\} + */ + backupPlan?: string | null; + /** + * Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc. + */ + backupPlanRevisionId?: string | null; + /** + * Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}/revisions/{revision_id\}` + */ + backupPlanRevisionName?: string | null; + /** + * Output only. Cloud SQL instance's backup plan association properties. + */ + cloudSqlInstanceBackupPlanAssociationProperties?: Schema$CloudSqlInstanceBackupPlanAssociationProperties; + /** + * Output only. The time when the instance was created. + */ + createTime?: string | null; + /** + * Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\} + */ + dataSource?: string | null; + /** + * Output only. Filestore instance's backup plan association properties. + */ + filestoreInstanceBackupPlanAssociationProperties?: Schema$FilestoreInstanceBackupPlanAssociationProperties; + /** + * Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\} + */ + name?: string | null; + /** + * Required. Immutable. Resource name of workload on which the backup plan is applied. The format can either be the resource name (e.g., "projects/my-project/zones/us-central1-a/instances/my-instance") or the full resource URI (e.g., "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance"). + */ + resource?: string | null; + /** + * Required. Immutable. Resource type of workload on which backupplan is applied + */ + resourceType?: string | null; + /** + * Output only. The config info related to backup rules. + */ + rulesConfigInfo?: Schema$RuleConfigInfo[]; + /** + * Output only. The BackupPlanAssociation resource state. + */ + state?: string | null; + /** + * Output only. The time when the instance was updated. + */ + updateTime?: string | null; + } + /** + * BackupPlanDetail defines configuration of protection. + */ + export interface Schema$BackupPlanDetail { + /** + * Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project\}/locations/{location\}/backupPlans/{backupPlanId\} + */ + backupPlan?: string | null; + /** + * Required. The type of resource that this policy will automatically protect. For MVP, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported. + */ + resourceType?: string | null; + } + /** + * `BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time. + */ + export interface Schema$BackupPlanRevision { + /** + * The Backup Plan being encompassed by this revision. + */ + backupPlanSnapshot?: Schema$BackupPlan; + /** + * Output only. The timestamp that the revision was created. + */ + createTime?: string | null; + /** + * Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}/revisions/{revision\}` + */ + name?: string | null; + /** + * Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc. + */ + revisionId?: string | null; + /** + * Output only. Resource State + */ + state?: string | null; + } + /** + * `BackupRule` binds the backup schedule to a retention policy. + */ + export interface Schema$BackupRule { + /** + * Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. + */ + backupRetentionDays?: number | null; + /** + * Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62\}/. + */ + ruleId?: string | null; + /** + * Optional. Defines a schedule that runs within the confines of a defined window of time. + */ + standardSchedule?: Schema$StandardSchedule; + } + /** + * Message describing a BackupVault object. + */ + export interface Schema$BackupVault { + /** + * Optional. Restricts access to certain sources and destinations for data being sent into, or restored from, the backup vault. Defaults to WITHIN_ORGANIZATION if not provided during creation. + */ + accessRestriction?: string | null; + /** + * Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data. + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The number of backups in this backup vault. + */ + backupCount?: string | null; + /** + * Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended. Note: Longer minimum enforced retention period impacts potential storage costs post introductory trial. We recommend starting with a short duration of 3 days or less. + */ + backupMinimumEnforcedRetentionDuration?: string | null; + /** + * Optional. Setting for how a backup's enforced retention end time is inherited. + */ + backupRetentionInheritance?: string | null; + /** + * Output only. The time when the instance was created. + */ + createTime?: string | null; + /** + * Output only. Set to true when there are no backups nested under this resource. + */ + deletable?: boolean | null; + /** + * Optional. The description of the BackupVault instance (2048 characters or less). + */ + description?: string | null; + /** + * Optional. Time after which the BackupVault resource is locked. + */ + effectiveTime?: string | null; + /** + * Optional. The encryption config of the backup vault. + */ + encryptionConfig?: Schema$EncryptionConfig; + /** + * Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other. + */ + etag?: string | null; + /** + * Optional. Resource labels to represent user provided metadata. No labels currently defined: + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Identifier. Name of the backup vault to create. It must have the format`"projects/{project\}/locations/{location\}/backupVaults/{backupvault\}"`. `{backupvault\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location. + */ + name?: string | null; + /** + * Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there. + */ + serviceAccount?: string | null; + /** + * Output only. The BackupVault resource instance state. + */ + state?: string | null; + /** + * Output only. Total size of the storage used by all backup resources. + */ + totalStoredBytes?: string | null; + /** + * Output only. Immutable after resource creation until resource deletion. + */ + uid?: string | null; + /** + * Output only. The time when the instance was updated. + */ + updateTime?: string | null; + } + /** + * `BackupWindow` defines a window of the day during which backup jobs will run. + */ + export interface Schema$BackupWindow { + /** + * Required. The hour of day (1-24) when the window end for e.g. if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00. + */ + endHourOfDay?: number | null; + /** + * Required. The hour of day (0-23) when the window starts for e.g. if value of start hour of day is 6 that mean backup window start at 6:00. + */ + startHourOfDay?: number | null; + } + /** + * Associates `members`, or principals, with a `role`. + */ + export interface Schema$Binding { + /** + * 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). + */ + condition?: Schema$Expr; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/group/{group_id\}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/x`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/group/{group_id\}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/x`: All identities in a workload identity pool. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + */ + members?: string[] | null; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). + */ + role?: string | null; + } + /** + * BindingEvaluationSummary contains the summary of the last run of job that applies policy to matching resources for a given binding. + */ + export interface Schema$BindingEvaluationSummary { + /** + * Output only. The number of matching resources whose protection failed during job run. + */ + failedResourceCount?: string | null; + /** + * Output only. The number of resources that currently match the policy's criteria. + */ + matchingResourceCount?: string | null; + /** + * Output only. The number of matching resources that are successfully protected. + */ + protectedResourceCount?: string | null; + } + /** + * BindingMatchingResource contains the details of a resource that matches the criteria of a binding. + */ + export interface Schema$BindingMatchingResource { + /** + * Output only. The auto protection details of the resource from the current binding's perspective. + */ + autoProtectionDetails?: Schema$AutoProtectionDetails; + /** + * Output only. The timestamp when the resource was last evaluated for protection. + */ + lastEvaluationTime?: string | null; + /** + * Identifier. The resource name of the `BindingMatchingResource`. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\}/matchingResources/{matching_resource\}` + */ + name?: string | null; + /** + * Required. Immutable. Resource name of the workload that matches the criteria of the binding. The format can be either a relative resource name (e.g., `projects/my-project/zones/us-central1-a/instances/my-instance`) or a schemeless full resource name (e.g., `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`). + */ + resource?: string | null; + } + /** + * BindingSummary contains count of different containers covered through this policy. + */ + export interface Schema$BindingSummary { + /** + * Output only. Total count of Projects protected with this policy. + */ + projectCount?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Cloud SQL instance's BPA properties. + */ + export interface Schema$CloudSqlInstanceBackupPlanAssociationProperties { + /** + * Output only. The time when the instance was created. + */ + instanceCreateTime?: string | null; + } + /** + * CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties. + */ + export interface Schema$CloudSqlInstanceBackupProperties { + /** + * Output only. The installed database version of the Cloud SQL instance when the backup was taken. + */ + databaseInstalledVersion?: string | null; + /** + * Output only. Whether the backup is a final backup. + */ + finalBackup?: boolean | null; + /** + * Output only. The instance creation timestamp. + */ + instanceCreateTime?: string | null; + /** + * Output only. The instance delete timestamp. + */ + instanceDeleteTime?: string | null; + /** + * Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840` + */ + instanceTier?: string | null; + /** + * Output only. The source instance of the backup. Format: projects/{project\}/instances/{instance\} + */ + sourceInstance?: string | null; + } + /** + * CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource. + */ + export interface Schema$CloudSqlInstanceDataSourceProperties { + /** + * Output only. The installed database version of the Cloud SQL instance. + */ + databaseInstalledVersion?: string | null; + /** + * Output only. The instance creation timestamp. + */ + instanceCreateTime?: string | null; + /** + * Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840` + */ + instanceTier?: string | null; + /** + * Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project\}/instances/{instance\} + */ + name?: string | null; + } + /** + * CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference. + */ + export interface Schema$CloudSqlInstanceDataSourceReferenceProperties { + /** + * Output only. The installed database version of the Cloud SQL instance. + */ + databaseInstalledVersion?: string | null; + /** + * Output only. The instance creation timestamp. + */ + instanceCreateTime?: string | null; + /** + * Output only. The tier (or machine type) for this instance. Example: `db-custom-1-3840` + */ + instanceTier?: string | null; + /** + * Output only. Name of the Cloud SQL instance backed up by the datasource. Format: projects/{project\}/instances/{instance\} + */ + name?: string | null; + } + /** + * CloudSqlInstanceInitializationConfig contains the configuration for initializing a Cloud SQL instance. + */ + export interface Schema$CloudSqlInstanceInitializationConfig { + /** + * Required. The edition of the Cloud SQL instance. + */ + edition?: string | null; + } + /** + * Properties for a compute instance backup plan. + */ + export interface Schema$ComputeInstanceBackupPlanProperties { + /** + * Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false. + */ + guestFlush?: boolean | null; + } + /** + * ComputeInstanceBackupProperties represents Compute Engine instance backup properties. + */ + export interface Schema$ComputeInstanceBackupProperties { + /** + * Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify `true`. If unsure, leave this set to `false`. See the https://cloud.google.com/vpc/docs/using-routes#canipforward documentation for more information. + */ + canIpForward?: boolean | null; + /** + * An optional text description for the instances that are created from these properties. + */ + description?: string | null; + /** + * An array of disks that are associated with the instances that are created from these properties. + */ + disk?: Schema$AttachedDisk[]; + /** + * A list of guest accelerator cards' type and count to use for instances created from these properties. + */ + guestAccelerator?: Schema$AcceleratorConfig[]; + /** + * Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false. + */ + guestFlush?: boolean | null; + /** + * KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified. + */ + keyRevocationActionType?: string | null; + /** + * Labels to apply to instances that are created from these properties. + */ + labels?: {[key: string]: string} | null; + /** + * The machine type to use for instances that are created from these properties. + */ + machineType?: string | null; + /** + * The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See https://cloud.google.com/compute/docs/metadata/overview for more information. + */ + metadata?: Schema$Metadata; + /** + * Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`. For more information, read https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform. + */ + minCpuPlatform?: string | null; + /** + * An array of network access configurations for this interface. + */ + networkInterface?: Schema$NetworkInterface[]; + /** + * Specifies the scheduling options for the instances that are created from these properties. + */ + scheduling?: Schema$Scheduling; + /** + * A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances. + */ + serviceAccount?: Schema$ServiceAccount[]; + /** + * The source instance used to create this backup. This can be a partial or full URL to the resource. For example, the following are valid values: -https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance -projects/project/zones/zone/instances/instance + */ + sourceInstance?: string | null; + /** + * A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt). + */ + tags?: Schema$Tags; + } + /** + * ComputeInstanceDataSourceProperties represents the properties of a ComputeEngine resource that are stored in the DataSource. + */ + export interface Schema$ComputeInstanceDataSourceProperties { + /** + * The description of the Compute Engine instance. + */ + description?: string | null; + /** + * The machine type of the instance. + */ + machineType?: string | null; + /** + * Name of the compute instance backed up by the datasource. + */ + name?: string | null; + /** + * The total number of disks attached to the Instance. + */ + totalDiskCount?: string | null; + /** + * The sum of all the disk sizes. + */ + totalDiskSizeGb?: string | null; + } + /** + * ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore. + */ + export interface Schema$ComputeInstanceRestoreProperties { + /** + * Optional. Controls for advanced machine-related behavior features. + */ + advancedMachineFeatures?: Schema$AdvancedMachineFeatures; + /** + * Optional. Allows this instance to send and receive packets with non-matching destination or source IPs. + */ + canIpForward?: boolean | null; + /** + * Optional. Controls Confidential compute options on the instance + */ + confidentialInstanceConfig?: Schema$ConfidentialInstanceConfig; + /** + * Optional. Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean | null; + /** + * Optional. An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + /** + * Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them. Source regional persistent disks will be restored with default replica zones if not specified. + */ + disks?: Schema$AttachedDisk[]; + /** + * Optional. Enables display device for the instance. + */ + displayDevice?: Schema$DisplayDevice; + /** + * Optional. A list of the type and count of accelerator cards attached to the instance. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS. + */ + hostname?: string | null; + /** + * Optional. Encrypts suspended data for an instance with a customer-managed encryption key. + */ + instanceEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * Optional. KeyRevocationActionType of the instance. + */ + keyRevocationActionType?: string | null; + /** + * Optional. Labels to apply to this instance. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Full or partial URL of the machine type resource to use for this instance. + */ + machineType?: string | null; + /** + * Optional. This includes custom metadata and predefined keys. + */ + metadata?: Schema$Metadata; + /** + * Optional. Minimum CPU platform to use for this instance. + */ + minCpuPlatform?: string | null; + /** + * Required. Name of the compute instance. + */ + name?: string | null; + /** + * Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. Required to restore in different project or region. + */ + networkInterfaces?: Schema$NetworkInterface[]; + /** + * Optional. Configure network performance such as egress bandwidth tier. + */ + networkPerformanceConfig?: Schema$NetworkPerformanceConfig; + /** + * Input only. Additional params passed with the request, but not persisted as part of resource payload. + */ + params?: Schema$InstanceParams; + /** + * Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default. + */ + privateIpv6GoogleAccess?: string | null; + /** + * Optional. Specifies the reservations that this instance can consume from. + */ + reservationAffinity?: Schema$AllocationAffinity; + /** + * Optional. Resource policies applied to this instance. By default, no resource policies will be applied. + */ + resourcePolicies?: string[] | null; + /** + * Optional. Sets the scheduling options for this instance. + */ + scheduling?: Schema$Scheduling; + /** + * Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. + */ + serviceAccounts?: Schema$ServiceAccount[]; + /** + * Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. + */ + tags?: Schema$Tags; + } + /** + * ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore. + */ + export interface Schema$ComputeInstanceTargetEnvironment { + /** + * Required. Target project for the Compute Engine instance. + */ + project?: string | null; + /** + * Optional. Whether to use the project service account for the Compute Engine instance restore. + */ + useProjectServiceAccount?: boolean | null; + /** + * Required. The zone of the Compute Engine instance. + */ + zone?: string | null; + } + /** + * A set of Confidential Instance options. + */ + export interface Schema$ConfidentialInstanceConfig { + /** + * Optional. Defines whether the instance should have confidential compute enabled. + */ + enableConfidentialCompute?: boolean | null; + } + /** + * Criteria specifies a set of criteria for matching resources. + */ + export interface Schema$Criteria { + /** + * Required. A list of matching conditions that a resource must meet to be protected by the policy. + */ + matchingConditions?: Schema$MatchingCondition[]; + } + /** + * A customer-supplied encryption key. + */ + export interface Schema$CustomerEncryptionKey { + /** + * Optional. The name of the encryption key that is stored in Google Cloud KMS. + */ + kmsKeyName?: string | null; + /** + * Optional. The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. + */ + kmsKeyServiceAccount?: string | null; + /** + * Optional. Specifies a 256-bit customer-supplied encryption key. + */ + rawKey?: string | null; + /** + * Optional. RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. + */ + rsaEncryptedKey?: string | null; + } + /** + * Message describing a DataSource object. Datasource object used to represent Datasource details for both admin and basic view. + */ + export interface Schema$DataSource { + /** + * Output only. This field is set to true if the backup is blocked by vault access restriction. + */ + backupBlockedByVaultAccessRestriction?: boolean | null; + /** + * Output only. Details of how the resource is configured for backup. + */ + backupConfigInfo?: Schema$BackupConfigInfo; + /** + * Number of backups in the data source. + */ + backupCount?: string | null; + /** + * Output only. The backup configuration state. + */ + configState?: string | null; + /** + * Output only. The time when the instance was created. + */ + createTime?: string | null; + /** + * The backed up resource is a backup appliance application. + */ + dataSourceBackupApplianceApplication?: Schema$DataSourceBackupApplianceApplication; + /** + * The backed up resource is a Google Cloud resource. The word 'DataSource' was included in the names to indicate that this is the representation of the Google Cloud resource used within the DataSource object. + */ + dataSourceGcpResource?: Schema$DataSourceGcpResource; + /** + * Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other. + */ + etag?: string | null; + /** + * Optional. Resource labels to represent user provided metadata. No labels currently defined: + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Identifier. Name of the datasource to create. It must have the format`"projects/{project\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\}"`. `{datasource\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault. + */ + name?: string | null; + /** + * Output only. The DataSource resource instance state. + */ + state?: string | null; + /** + * The number of bytes (metadata and data) stored in this datasource. + */ + totalStoredBytes?: string | null; + /** + * Output only. The time when the instance was updated. + */ + updateTime?: string | null; + } + /** + * BackupApplianceApplication describes a Source Resource when it is an application backed up by a BackupAppliance. + */ + export interface Schema$DataSourceBackupApplianceApplication { + /** + * Appliance Id of the Backup Appliance. + */ + applianceId?: string | null; + /** + * The appid field of the application within the Backup Appliance. + */ + applicationId?: string | null; + /** + * The name of the Application as known to the Backup Appliance. + */ + applicationName?: string | null; + /** + * Appliance name. + */ + backupAppliance?: string | null; + /** + * Hostid of the application host. + */ + hostId?: string | null; + /** + * Hostname of the host where the application is running. + */ + hostname?: string | null; + /** + * The type of the application. e.g. VMBackup + */ + type?: string | null; + } + /** + * Information of backup configuration on the DataSource. + */ + export interface Schema$DataSourceBackupConfigInfo { + /** + * Output only. The status of the last backup in this DataSource + */ + lastBackupState?: string | null; + /** + * Output only. Timestamp of the last successful backup to this DataSource. + */ + lastSuccessfulBackupConsistencyTime?: string | null; + } + /** + * DataSourceGcpResource is used for protected resources that are Google Cloud Resources. This name is easeier to understand than GcpResourceDataSource or GcpDataSourceResource + */ + export interface Schema$DataSourceGcpResource { + /** + * Output only. AlloyDBClusterDataSourceProperties has a subset of AlloyDB cluster properties that are useful at the Datasource level. Currently none of its child properties are auditable. If new auditable properties are added, the AUDIT annotation should be added. + */ + alloyDbClusterDatasourceProperties?: Schema$AlloyDBClusterDataSourceProperties; + /** + * Output only. CloudSqlInstanceDataSourceProperties has a subset of Cloud SQL Instance properties that are useful at the Datasource level. + */ + cloudSqlInstanceDatasourceProperties?: Schema$CloudSqlInstanceDataSourceProperties; + /** + * ComputeInstanceDataSourceProperties has a subset of Compute Instance properties that are useful at the Datasource level. + */ + computeInstanceDatasourceProperties?: Schema$ComputeInstanceDataSourceProperties; + /** + * DiskDataSourceProperties has a subset of Disk properties that are useful at the Datasource level. + */ + diskDatasourceProperties?: Schema$DiskDataSourceProperties; + /** + * Output only. FilestoreInstanceDataSourceProperties has a subset of FileStore instance properties that are useful at the Datasource level. + */ + filestoreInstanceDatasourceProperties?: Schema$FilestoreInstanceDataSourceProperties; + /** + * Output only. Full resource pathname URL of the source Google Cloud resource. + */ + gcpResourcename?: string | null; + /** + * Location of the resource: //"global"/"unspecified". + */ + location?: string | null; + /** + * The type of the Google Cloud resource. Use the Unified Resource Type, eg. compute.googleapis.com/Instance. + */ + type?: string | null; + } + /** + * The Google Cloud resource that the DataSource is associated with. + */ + export interface Schema$DataSourceGcpResourceInfo { + /** + * Output only. The properties of the AlloyDB cluster. + */ + alloyDbClusterProperties?: Schema$AlloyDBClusterDataSourceReferenceProperties; + /** + * Output only. The properties of the Cloud SQL instance. + */ + cloudSqlInstanceProperties?: Schema$CloudSqlInstanceDataSourceReferenceProperties; + /** + * Output only. The properties of the Filestore instance. + */ + filestoreInstanceProperties?: Schema$FilestoreInstanceDataSourceReferenceProperties; + /** + * Output only. The resource name of the Google Cloud resource. Ex: projects/{project\}/zones/{zone\}/instances/{instance\} + */ + gcpResourcename?: string | null; + /** + * Output only. The location of the Google Cloud resource. Ex: //"global"/"unspecified" + */ + location?: string | null; + /** + * Output only. The type of the Google Cloud resource. Ex: compute.googleapis.com/Instance + */ + type?: string | null; + } + /** + * DataSourceReference is a reference to a DataSource resource. + */ + export interface Schema$DataSourceReference { + /** + * Output only. The time when the DataSourceReference was created. + */ + createTime?: string | null; + /** + * Output only. The resource name of the DataSource. Format: projects/{project\}/locations/{location\}/backupVaults/{backupVault\}/dataSources/{dataSource\} + */ + dataSource?: string | null; + /** + * Output only. Information of backup configuration on the DataSource. + */ + dataSourceBackupConfigInfo?: Schema$DataSourceBackupConfigInfo; + /** + * Output only. The backup configuration state of the DataSource. + */ + dataSourceBackupConfigState?: string | null; + /** + * Output only. Number of backups in the DataSource. + */ + dataSourceBackupCount?: string | null; + /** + * Output only. The Google Cloud resource that the DataSource is associated with. + */ + dataSourceGcpResourceInfo?: Schema$DataSourceGcpResourceInfo; + /** + * Identifier. The resource name of the DataSourceReference. Format: projects/{project\}/locations/{location\}/dataSourceReferences/{data_source_reference\} + */ + name?: string | null; + /** + * Output only. Total size of the storage used by all backup resources for the referenced datasource. + */ + totalStoredBytes?: string | null; + } + /** + * Properties for a disk backup plan. + */ + export interface Schema$DiskBackupPlanProperties { + /** + * Optional. Indicates whether to perform a guest flush operation before taking a disk backup. When set to false, the system will create crash-consistent backups. Default value is false. + */ + guestFlush?: boolean | null; + } + /** + * DiskBackupProperties represents the properties of a Disk backup. + */ + export interface Schema$DiskBackupProperties { + /** + * The access mode of the source disk. + */ + accessMode?: string | null; + /** + * The architecture of the source disk. Valid values are ARM64 or X86_64. + */ + architecture?: string | null; + /** + * A description of the source disk. + */ + description?: string | null; + /** + * Indicates whether the source disk is using confidential compute mode. + */ + enableConfidentialCompute?: boolean | null; + /** + * Optional. Defines if the guest flush is enabled for the source disk. Default value is false. + */ + guestFlush?: boolean | null; + /** + * A list of guest OS features that are applicable to this backup. + */ + guestOsFeature?: Schema$GuestOsFeature[]; + /** + * The labels of the source disk. + */ + labels?: {[key: string]: string} | null; + /** + * A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image. + */ + licenses?: string[] | null; + /** + * The physical block size of the source disk. + */ + physicalBlockSizeBytes?: string | null; + /** + * The number of IOPS provisioned for the source disk. + */ + provisionedIops?: string | null; + /** + * The number of throughput provisioned for the source disk. + */ + provisionedThroughput?: string | null; + /** + * Region and zone are mutually exclusive fields. The URL of the region of the source disk. + */ + region?: string | null; + /** + * The URL of the Zones where the source disk should be replicated. + */ + replicaZones?: string[] | null; + /** + * Size(in GB) of the source disk. + */ + sizeGb?: string | null; + /** + * The source disk used to create this backup. + */ + sourceDisk?: string | null; + /** + * The storage pool of the source disk. + */ + storagePool?: string | null; + /** + * The URL of the type of the disk. + */ + type?: string | null; + /** + * The URL of the Zone where the source disk. + */ + zone?: string | null; + } + /** + * DiskDataSourceProperties represents the properties of a Disk resource that are stored in the DataSource. . + */ + export interface Schema$DiskDataSourceProperties { + /** + * The description of the disk. + */ + description?: string | null; + /** + * Name of the disk backed up by the datasource. + */ + name?: string | null; + /** + * The size of the disk in GB. + */ + sizeGb?: string | null; + /** + * The type of the disk. + */ + type?: string | null; + } + /** + * DiskRestoreProperties represents the properties of a Disk restore. + */ + export interface Schema$DiskRestoreProperties { + /** + * Optional. The access mode of the disk. + */ + accessMode?: string | null; + /** + * Optional. The architecture of the source disk. Valid values are ARM64 or X86_64. + */ + architecture?: string | null; + /** + * Optional. An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + /** + * Optional. Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key. + */ + diskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * Optional. Indicates whether this disk is using confidential compute mode. Encryption with a Cloud KMS key is required to enable this option. + */ + enableConfidentialCompute?: boolean | null; + /** + * Optional. A list of features to enable in the guest operating system. This is applicable only for bootable images. + */ + guestOsFeature?: Schema$GuestOsFeature[]; + /** + * Options for creating a disk from a source Compute Instance backup. + */ + instanceBackupSource?: Schema$RestoreDiskFromInstanceOptions; + /** + * Optional. Labels to apply to this disk. These can be modified later using setLabels method. Label values can be empty. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image + */ + licenses?: string[] | null; + /** + * Required. Name of the disk. + */ + name?: string | null; + /** + * Optional. Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently, the supported size is 4096. + */ + physicalBlockSizeBytes?: string | null; + /** + * Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. + */ + provisionedIops?: string | null; + /** + * Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput MB per second that the disk can handle. + */ + provisionedThroughput?: string | null; + /** + * Optional. Resource manager tags to be bound to the disk. + */ + resourceManagerTags?: {[key: string]: string} | null; + /** + * Optional. Resource policies applied to this disk. + */ + resourcePolicy?: string[] | null; + /** + * Required. The size of the disk in GB. + */ + sizeGb?: string | null; + /** + * Optional. The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. + */ + storagePool?: string | null; + /** + * Required. URL of the disk type resource describing which disk type to use to create the disk. + */ + type?: string | null; + } + /** + * DiskTargetEnvironment represents the target environment for the disk. + */ + export interface Schema$DiskTargetEnvironment { + /** + * Required. Target project for the disk. + */ + project?: string | null; + /** + * Optional. Whether to use the project service account for the disk restore. + */ + useProjectServiceAccount?: boolean | null; + /** + * Required. Target zone for the disk. + */ + zone?: string | null; + } + /** + * A set of Display Device options + */ + export interface Schema$DisplayDevice { + /** + * Optional. Enables display for the Compute Engine VM + */ + enableDisplay?: boolean | null; + } + /** + * 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); \} + */ + export interface Schema$Empty {} + /** + * Message describing the EncryptionConfig of backup vault. This determines how data within the vault is encrypted at rest. + */ + export interface Schema$EncryptionConfig { + /** + * Optional. The Cloud KMS key name to encrypt backups in this backup vault. Must be in the same region as the vault. Some workload backups like compute disk backups may use their inherited source key instead. Format: projects/{project\}/locations/{location\}/keyRings/{ring\}/cryptoKeys/{key\} + */ + kmsKeyName?: string | null; + } + /** + * Request message for ending a trial. + */ + export interface Schema$EndTrialRequest { + /** + * Required. The reason for ending the trial. + */ + endReason?: string | null; + } + /** + * A key/value pair to be used for storing metadata. + */ + export interface Schema$Entry { + /** + * Optional. Key for the metadata entry. + */ + key?: string | null; + /** + * Optional. Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB). + */ + value?: string | null; + } + /** + * 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. + */ + export interface Schema$Expr { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description?: string | null; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression?: string | null; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location?: string | null; + /** + * 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. + */ + title?: string | null; + } + /** + * Request message for FetchAccessToken. + */ + export interface Schema$FetchAccessTokenRequest { + /** + * Required. The generation of the backup to update. + */ + generationId?: number | null; + } + /** + * Response message for FetchAccessToken. + */ + export interface Schema$FetchAccessTokenResponse { + /** + * The token is valid until this time. + */ + expireTime?: string | null; + /** + * The location in bucket that can be used for reading. + */ + readLocation?: string | null; + /** + * Input only. The downscoped token that was created. + */ + token?: string | null; + /** + * The location in bucket that can be used for writing. + */ + writeLocation?: string | null; + } + /** + * Response for the FetchBackupPlanAssociationsForResourceType method. + */ + export interface Schema$FetchBackupPlanAssociationsForResourceTypeResponse { + /** + * Output only. The BackupPlanAssociations from the specified parent. + */ + backupPlanAssociations?: Schema$BackupPlanAssociation[]; + /** + * 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. + */ + nextPageToken?: string | null; + } + /** + * Response for the FetchBackupsForResourceType method. + */ + export interface Schema$FetchBackupsForResourceTypeResponse { + /** + * The Backups from the specified parent. + */ + backups?: Schema$Backup[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response for the FetchDataSourceReferencesForResourceType method. + */ + export interface Schema$FetchDataSourceReferencesForResourceTypeResponse { + /** + * The DataSourceReferences from the specified parent. + */ + dataSourceReferences?: Schema$DataSourceReference[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Request message for GetMsComplianceMetadata + */ + export interface Schema$FetchMsComplianceMetadataRequest { + /** + * Required. The project id of the target project + */ + projectId?: string | null; + } + /** + * Response message for GetMsComplianceMetadata + */ + export interface Schema$FetchMsComplianceMetadataResponse { + /** + * The ms compliance metadata of the target project, if the project is an Assured Workloads project, values will be true, otherwise false. + */ + isAssuredWorkload?: boolean | null; + } + /** + * Response for FetchResourceBackupConfigs. + */ + export interface Schema$FetchResourceBackupConfigsResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * The list of ResourceBackupConfigs for the specified scope. + */ + resourceBackupConfigs?: Schema$ResourceBackupConfig[]; + } + /** + * Response message for fetching usable BackupVaults. + */ + export interface Schema$FetchUsableBackupVaultsResponse { + /** + * The list of BackupVault instances in the project for the specified location. If the '{location\}' value in the request is "-", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. + */ + backupVaults?: Schema$BackupVault[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Filestore instance's BPA properties. + */ + export interface Schema$FilestoreInstanceBackupPlanAssociationProperties { + /** + * Output only. The time when the instance was created. + */ + instanceCreateTime?: string | null; + } + /** + * FilestoreInstanceBackupProperties represents the properties of a Filestore instance that are backed up by the datasource. . + */ + export interface Schema$FilestoreInstanceBackupProperties { + /** + * Output only. The source instance of the backup. + */ + sourceInstance?: string | null; + } + /** + * FilestoreInstanceDataSourceProperties represents the properties of a Filestore resource that are stored in the DataSource. . + */ + export interface Schema$FilestoreInstanceDataSourceProperties { + /** + * Output only. The instance creation timestamp. + */ + instanceCreateTime?: string | null; + /** + * Output only. Name of the Filestore instance backed up by the datasource. + */ + name?: string | null; + } + /** + * FilestoreInstanceDataSourceReferenceProperties represents the properties of a Filestore resource that are stored in the DataSourceReference. . + */ + export interface Schema$FilestoreInstanceDataSourceReferenceProperties { + /** + * Output only. The instance creation timestamp. + */ + instanceCreateTime?: string | null; + /** + * Output only. Name of the Filestore instance backed up by the datasource. Format: projects/{project\}/instances/{instance\} + */ + name?: string | null; + } + /** + * Message for finalizing a Backup. + */ + export interface Schema$FinalizeBackupRequest { + /** + * Required. Resource ID of the Backup resource to be finalized. This must be the same backup_id that was used in the InitiateBackupRequest. + */ + backupId?: string | null; + /** + * The point in time when this backup was captured from the source. This will be assigned to the consistency_time field of the newly created Backup. + */ + consistencyTime?: string | null; + /** + * This will be assigned to the description field of the newly created Backup. + */ + description?: string | null; + /** + * The latest timestamp of data available in this Backup. This will be set on the newly created Backup. + */ + recoveryRangeEndTime?: string | null; + /** + * The earliest timestamp of data available in this Backup. This will set on the newly created Backup. + */ + recoveryRangeStartTime?: string | null; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime. + */ + retentionDuration?: string | null; + } + /** + * GcpBackupConfig captures the Backup configuration details for Google Cloud resources. All Google Cloud resources regardless of type are protected with backup plan associations. + */ + export interface Schema$GcpBackupConfig { + /** + * Output only. The resource name of the `AutoProtectionPolicyBinding` that manages this datasource, if any. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{policy\}/bindings/{binding\}`. + */ + autoProtectionPolicyBinding?: string | null; + /** + * The name of the backup plan. + */ + backupPlan?: string | null; + /** + * The name of the backup plan association. + */ + backupPlanAssociation?: string | null; + /** + * The description of the backup plan. + */ + backupPlanDescription?: string | null; + /** + * The user friendly id of the backup plan revision. E.g. v0, v1 etc. + */ + backupPlanRevisionId?: string | null; + /** + * The name of the backup plan revision. + */ + backupPlanRevisionName?: string | null; + /** + * The names of the backup plan rules which point to this backupvault + */ + backupPlanRules?: string[] | null; + } + /** + * GCPBackupPlanInfo captures the plan configuration details of Google Cloud resources at the time of backup. + */ + export interface Schema$GCPBackupPlanInfo { + /** + * Resource name of backup plan by which workload is protected at the time of the backup. Format: projects/{project\}/locations/{location\}/backupPlans/{backupPlanId\} + */ + backupPlan?: string | null; + /** + * The user friendly id of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup. + */ + backupPlanRevisionId?: string | null; + /** + * Resource name of the backup plan revision which triggered this backup in case of scheduled backup or used for on demand backup. Format: projects/{project\}/locations/{location\}/backupPlans/{backupPlanId\}/revisions/{revisionId\} + */ + backupPlanRevisionName?: string | null; + /** + * The rule id of the backup plan which triggered this backup in case of scheduled backup or used for + */ + backupPlanRuleId?: string | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$GoogleCloudBackupdrV1betaOperationMetadata { + /** + * Output only. AdditionalInfo contains additional Info related to backup plan association resource. + */ + additionalInfo?: {[key: string]: string} | null; + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Feature type of the Guest OS. + */ + export interface Schema$GuestOsFeature { + /** + * The ID of a supported feature. + */ + type?: string | null; + } + /** + * Specifies the parameters to initialize this disk. + */ + export interface Schema$InitializeParams { + /** + * Optional. Specifies the disk name. If not specified, the default is to use the name of the instance. + */ + diskName?: string | null; + /** + * Optional. URL of the zone where the disk should be created. Required for each regional disk associated with the instance. + */ + replicaZones?: string[] | null; + } + /** + * Request message for initializing the service. + */ + export interface Schema$InitializeServiceRequest { + /** + * Optional. The location where the BackupPlan will be created. This field is required for multi-region BackupVaults and is optional for regional BackupVaults. It is useful when creating a Backup Vault in a multi-region, allowing the BackupPlan to reside in a specific region within that multi-region. If this field is not provided, the BackupPlan will be created in the same location as specified in the `name` field. + */ + backupPlanLocation?: string | null; + /** + * Optional. The configuration for initializing a Cloud SQL instance. + */ + cloudSqlInstanceInitializationConfig?: Schema$CloudSqlInstanceInitializationConfig; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * Required. The resource type to which the default service config will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket". + */ + resourceType?: string | null; + /** + * Optional. If set, validates the request and returns the result, but does not actually run it. + */ + validateOnly?: boolean | null; + } + /** + * request message for InitiateBackup. + */ + export interface Schema$InitiateBackupRequest { + /** + * Required. Resource ID of the Backup resource. + */ + backupId?: string | null; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + } + /** + * Response message for InitiateBackup. + */ + export interface Schema$InitiateBackupResponse { + /** + * The name of the backup that was created. + */ + backup?: string | null; + /** + * The generation id of the base backup. It is needed for the incremental backups. + */ + baseBackupGenerationId?: number | null; + /** + * The generation id of the new backup. + */ + newBackupGenerationId?: number | null; + } + /** + * Request message for initiating delete of an AutoProtectionPolicyBinding. + */ + export interface Schema$InitiateDeleteAutoProtectionPolicyBindingRequest {} + /** + * Additional instance params. + */ + export interface Schema$InstanceParams { + /** + * Optional. Resource manager tags to be bound to the instance. + */ + resourceManagerTags?: {[key: string]: string} | null; + } + /** + * KeyValuePair defines a key-value pair for matching resource labels. + */ + export interface Schema$KeyValuePair { + /** + * Required. The key of the label to match. This must be in the format `{label_key\}`. The key must match the regex Format:`\p{Ll\}\p{Lo\}{0,62\}`. + */ + key?: string | null; + /** + * Required. The values of the label to match. There will be explicit “OR” between values of array. Each value must be in the format `{label_value\}`. The value must match the regex Format: `[\\p{Ll\}\\p{Lo\}\\p{N\}_-]{1,63\}`. + */ + values?: string[] | null; + } + /** + * Response message for ListAppliedAutoProtectionPolicies. + */ + export interface Schema$ListAppliedAutoProtectionPoliciesResponse { + /** + * A list of the AppliedAutoProtectionPolicy resources found. + */ + appliedAutoProtectionPolicies?: Schema$AppliedAutoProtectionPolicy[]; + /** + * A token that can be sent as `page_token` to retrieve the next page. + */ + nextPageToken?: string | null; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for ListAutoProtectionPolicies. + */ + export interface Schema$ListAutoProtectionPoliciesResponse { + /** + * A list of the AutoProtectionPolicy resources found. + */ + autoProtectionPolicies?: Schema$AutoProtectionPolicy[]; + /** + * A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for ListAutoProtectionPolicyBindings. + */ + export interface Schema$ListAutoProtectionPolicyBindingsResponse { + /** + * A list of the AutoProtectionPolicyBindings resources found. + */ + autoProtectionPolicyBindings?: Schema$AutoProtectionPolicyBinding[]; + /** + * A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for List BackupPlanAssociation + */ + export interface Schema$ListBackupPlanAssociationsResponse { + /** + * The list of Backup Plan Associations in the project for the specified location. If the `{location\}` value in the request is "-", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup plan associations in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. + */ + backupPlanAssociations?: Schema$BackupPlanAssociation[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for getting a list of `BackupPlanRevision`. + */ + export interface Schema$ListBackupPlanRevisionsResponse { + /** + * The list of `BackupPlanRevisions` in the project for the specified location. If the `{location\}` value in the request is "-", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. + */ + backupPlanRevisions?: Schema$BackupPlanRevision[]; + /** + * A token which may be sent as page_token in a subsequent `ListBackupPlanRevisions` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for getting a list of `BackupPlan`. + */ + export interface Schema$ListBackupPlansResponse { + /** + * The list of `BackupPlans` in the project for the specified location. If the `{location\}` value in the request is "-", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. BackupPlan + */ + backupPlans?: Schema$BackupPlan[]; + /** + * A token which may be sent as page_token in a subsequent `ListBackupPlans` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for listing Backups. + */ + export interface Schema$ListBackupsResponse { + /** + * The list of Backup instances in the project for the specified location. If the '{location\}' value in the request is "-", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. + */ + backups?: Schema$Backup[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for listing BackupVaults. + */ + export interface Schema$ListBackupVaultsResponse { + /** + * The list of BackupVault instances in the project for the specified location. If the '{location\}' value in the request is "-", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. + */ + backupVaults?: Schema$BackupVault[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for getting a list of `BindingMatchingResources`. + */ + export interface Schema$ListBindingMatchingResourcesResponse { + /** + * The list of `BindingMatchingResources` in the project,location for the specified binding. + */ + matchingResources?: Schema$BindingMatchingResource[]; + /** + * A token which may be sent as page_token in a subsequent `ListBindingMatchingResources` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return. + */ + nextPageToken?: string | null; + } + /** + * Response for the ListDataSourceReferences method. + */ + export interface Schema$ListDataSourceReferencesResponse { + /** + * The DataSourceReferences from the specified parent. + */ + dataSourceReferences?: Schema$DataSourceReference[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for listing DataSources. + */ + export interface Schema$ListDataSourcesResponse { + /** + * The list of DataSource instances in the project for the specified location. If the '{location\}' value in the request is "-", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return data sources in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. + */ + dataSources?: Schema$DataSource[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * Response message for listing management servers. + */ + export interface Schema$ListManagementServersResponse { + /** + * The list of ManagementServer instances in the project for the specified location. If the '{location\}' value in the request is "-", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return management servers in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. + */ + managementServers?: Schema$ManagementServer[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + /** + * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. + */ + unreachable?: string[] | null; + } + /** + * Response for ListResourceBackupConfigs. + */ + export interface Schema$ListResourceBackupConfigsResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * The list of ResourceBackupConfigs for the specified scope. + */ + resourceBackupConfigs?: Schema$ResourceBackupConfig[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + export interface Schema$LocationMetadata { + /** + * List of features that are not supported in the location. + */ + unsupportedFeatures?: string[] | null; + } + /** + * ManagementServer describes a single BackupDR ManagementServer instance. + */ + export interface Schema$ManagementServer { + /** + * Output only. The hostname or ip address of the exposed AGM endpoints, used by BAs to connect to BA proxy. + */ + baProxyUri?: string[] | null; + /** + * Output only. The time when the instance was created. + */ + createTime?: string | null; + /** + * Optional. The description of the ManagementServer instance (2048 characters or less). + */ + description?: string | null; + /** + * Optional. Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other. + */ + etag?: string | null; + /** + * Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. The hostname or ip address of the exposed AGM endpoints, used by clients to connect to AGM/RD graphical user interface and APIs. + */ + managementUri?: Schema$ManagementURI; + /** + * Output only. Identifier. The resource name. + */ + name?: string | null; + /** + * Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA + */ + networks?: Schema$NetworkConfig[]; + /** + * Output only. The OAuth 2.0 client id is required to make API calls to the Backup and DR instance API of this ManagementServer. This is the value that should be provided in the 'aud' field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken). + */ + oauth2ClientId?: string | null; + /** + * Output only. Reserved for future use. + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Reserved for future use. + */ + satisfiesPzs?: boolean | null; + /** + * Output only. The ManagementServer state. + */ + state?: string | null; + /** + * Optional. The type of the ManagementServer resource. + */ + type?: string | null; + /** + * Output only. The time when the instance was updated. + */ + updateTime?: string | null; + /** + * Output only. The hostnames of the exposed AGM endpoints for both types of user i.e. 1p and 3p, used to connect AGM/RM UI. + */ + workforceIdentityBasedManagementUri?: Schema$WorkforceIdentityBasedManagementURI; + /** + * Output only. The OAuth client IDs for both types of user i.e. 1p and 3p. + */ + workforceIdentityBasedOauth2ClientId?: Schema$WorkforceIdentityBasedOAuth2ClientID; + } + /** + * ManagementURI for the Management Server resource. + */ + export interface Schema$ManagementURI { + /** + * Output only. The ManagementServer AGM/RD API URL. + */ + api?: string | null; + /** + * Output only. The ManagementServer AGM/RD WebUI URL. + */ + webUi?: string | null; + } + /** + * MatchingCondition specifies a set of conditions for matching resources. + */ + export interface Schema$MatchingCondition { + /** + * Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match. + */ + labelCondition?: Schema$KeyValuePair; + } + /** + * A metadata key/value entry. + */ + export interface Schema$Metadata { + /** + * Optional. Array of key/value pairs. The total size of all keys and values must be less than 512 KB. + */ + items?: Schema$Entry[]; + } + /** + * Network configuration for ManagementServer instance. + */ + export interface Schema$NetworkConfig { + /** + * Optional. The resource name of the Google Compute Engine VPC network to which the ManagementServer instance is connected. + */ + network?: string | null; + /** + * Optional. The network connect mode of the ManagementServer instance. For this version, only PRIVATE_SERVICE_ACCESS is supported. + */ + peeringMode?: string | null; + } + /** + * A network interface resource attached to an instance. s + */ + export interface Schema$NetworkInterface { + /** + * Optional. An array of configurations for this interface. Currently, only one access config,ONE_TO_ONE_NAT is supported. If there are no accessConfigs specified, then this instance will have no external internet access. + */ + accessConfigs?: Schema$AccessConfig[]; + /** + * Optional. An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks. + */ + aliasIpRanges?: Schema$AliasIpRange[]; + /** + * Optional. The prefix length of the primary internal IPv6 range. + */ + internalIpv6PrefixLength?: number | null; + /** + * Optional. An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. + */ + ipv6AccessConfigs?: Schema$AccessConfig[]; + /** + * Optional. [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. + */ + ipv6AccessType?: string | null; + /** + * Optional. An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork. + */ + ipv6Address?: string | null; + /** + * Output only. [Output Only] The name of the network interface, which is generated by the server. + */ + name?: string | null; + /** + * Optional. URL of the VPC network resource for this instance. + */ + network?: string | null; + /** + * Optional. The URL of the network attachment that this interface should connect to in the following format: projects/{project_number\}/regions/{region_name\}/networkAttachments/{network_attachment_name\}. + */ + networkAttachment?: string | null; + /** + * Optional. An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. + */ + networkIP?: string | null; + /** + * Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. + */ + nicType?: string | null; + /** + * Optional. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users. + */ + queueCount?: number | null; + /** + * The stack type for this network interface. + */ + stackType?: string | null; + /** + * Optional. The URL of the Subnetwork resource for this instance. + */ + subnetwork?: string | null; + } + /** + * Network performance configuration. + */ + export interface Schema$NetworkPerformanceConfig { + /** + * Optional. The tier of the total egress bandwidth. + */ + totalEgressBandwidthTier?: string | null; + } + /** + * Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. + */ + export interface Schema$NodeAffinity { + /** + * Optional. Corresponds to the label key of Node resource. + */ + key?: string | null; + /** + * Optional. Defines the operation of node selection. + */ + operator?: string | null; + /** + * Optional. Corresponds to the label values of Node resource. + */ + values?: string[] | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * 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. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * 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. + */ + metadata?: {[key: string]: any} | null; + /** + * 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\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. AdditionalInfo contains additional Info related to backup plan association resource. + */ + additionalInfo?: {[key: string]: string} | null; + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Point in time recovery settings of the backup configuration resource. + */ + export interface Schema$PitrSettings { + /** + * Output only. Number of days to retain the backup. + */ + retentionDays?: number | null; + } + /** + * 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/). + */ + export interface Schema$Policy { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: Schema$AuditConfig[]; + /** + * 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`. + */ + bindings?: Schema$Binding[]; + /** + * `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. + */ + etag?: string | null; + /** + * 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). + */ + version?: number | null; + } + /** + * PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources. + */ + export interface Schema$PolicyEvaluationSummary { + /** + * Output only. The number of matching resources whose protection failed during job run. + */ + failedResourceCount?: string | null; + /** + * Output only. The number of resources that currently match the policy's criteria. + */ + matchingResourceCount?: string | null; + /** + * Output only. The number of matching resources that are successfully protected. + */ + protectedResourceCount?: string | null; + } + /** + * Operation metadata returned by the CLH during resource state reconciliation. + */ + export interface Schema$ReconciliationOperationMetadata { + /** + * DEPRECATED. Use exclusive_action instead. + */ + deleteResource?: boolean | null; + /** + * Excluisive action returned by the CLH. + */ + exclusiveAction?: string | null; + } + /** + * RegionDiskTargetEnvironment represents the target environment for the disk. + */ + export interface Schema$RegionDiskTargetEnvironment { + /** + * Required. Target project for the disk. + */ + project?: string | null; + /** + * Required. Target region for the disk. + */ + region?: string | null; + /** + * Required. Target URLs of the replica zones for the disk. + */ + replicaZones?: string[] | null; + /** + * Optional. Whether to use the project service account for the disk restore. + */ + useProjectServiceAccount?: boolean | null; + } + /** + * Message for deleting a DataSource. + */ + export interface Schema$RemoveDataSourceRequest { + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + } + /** + * ResourceBackupConfig represents a resource along with its backup configurations. + */ + export interface Schema$ResourceBackupConfig { + /** + * Backup configurations applying to the target resource, including those targeting its related/child resources. For example, backup configuration applicable to Compute Engine disks will be populated in this field for a Compute Engine VM which has the disk associated. + */ + backupConfigsDetails?: Schema$BackupConfigDetails[]; + /** + * Output only. Whether the target resource is configured for backup. This is true if the backup_configs_details is not empty. + */ + backupConfigured?: boolean | null; + /** + * Identifier. The resource name of the ResourceBackupConfig. Format: projects/{project\}/locations/{location\}/resourceBackupConfigs/{uid\} + */ + name?: string | null; + /** + * Output only. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the cloud resource that this configuration applies to. Supported resource types are ResourceBackupConfig.ResourceType. + */ + targetResource?: string | null; + /** + * Output only. The human friendly name of the target resource. + */ + targetResourceDisplayName?: string | null; + /** + * Labels associated with the target resource. + */ + targetResourceLabels?: {[key: string]: string} | null; + /** + * Output only. The type of the target resource. + */ + targetResourceType?: string | null; + /** + * Output only. The unique identifier of the resource backup config. + */ + uid?: string | null; + /** + * Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set. + */ + vaulted?: boolean | null; + } + /** + * Request message for restoring from a Backup. + */ + export interface Schema$RestoreBackupRequest { + /** + * Optional. A field mask used to clear server-side default values for fields within the `instance_properties` oneof. When a field in this mask is cleared, the server will not apply its default logic (like inheriting a value from the source) for that field. The most common current use case is clearing default encryption keys. Examples of field mask paths: - Compute Instance Disks: `compute_instance_restore_properties.disks.*.disk_encryption_key` - Single Disk: `disk_restore_properties.disk_encryption_key` + */ + clearOverridesFieldMask?: string | null; + /** + * Compute Engine instance properties to be overridden during restore. + */ + computeInstanceRestoreProperties?: Schema$ComputeInstanceRestoreProperties; + /** + * Compute Engine target environment to be used during restore. + */ + computeInstanceTargetEnvironment?: Schema$ComputeInstanceTargetEnvironment; + /** + * Disk properties to be overridden during restore. + */ + diskRestoreProperties?: Schema$DiskRestoreProperties; + /** + * Disk target environment to be used during restore. + */ + diskTargetEnvironment?: Schema$DiskTargetEnvironment; + /** + * Region disk target environment to be used during restore. + */ + regionDiskTargetEnvironment?: Schema$RegionDiskTargetEnvironment; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + } + /** + * Options for creating a disk from a source Compute Instance backup. + */ + export interface Schema$RestoreDiskFromInstanceOptions { + /** + * Set to true to restore the boot disk from the instance backup. This field should only be set to true if selected. + */ + bootDisk?: boolean | null; + /** + * The device name of the disk to restore from the VM backup. + */ + sourceDeviceName?: string | null; + } + /** + * Message for rules config info. + */ + export interface Schema$RuleConfigInfo { + /** + * Output only. google.rpc.Status object to store the last backup error. + */ + lastBackupError?: Schema$Status; + /** + * Output only. The last backup state for rule. + */ + lastBackupState?: string | null; + /** + * Output only. The point in time when the last successful backup was captured from the source. + */ + lastSuccessfulBackupConsistencyTime?: string | null; + /** + * Output only. Backup Rule id fetched from backup plan. + */ + ruleId?: string | null; + } + /** + * Sets the scheduling options for an Instance. + */ + export interface Schema$Scheduling { + /** + * Optional. Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). + */ + automaticRestart?: boolean | null; + /** + * Optional. Specifies the termination action for the instance. + */ + instanceTerminationAction?: string | null; + /** + * Optional. Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour. + */ + localSsdRecoveryTimeout?: Schema$SchedulingDuration; + /** + * Optional. The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. + */ + minNodeCpus?: number | null; + /** + * Optional. A set of node affinity and anti-affinity configurations. Overrides reservationAffinity. + */ + nodeAffinities?: Schema$NodeAffinity[]; + /** + * Optional. Defines the maintenance behavior for this instance. + */ + onHostMaintenance?: string | null; + /** + * Optional. Defines whether the instance is preemptible. + */ + preemptible?: boolean | null; + /** + * Optional. Specifies the provisioning model of the instance. + */ + provisioningModel?: string | null; + } + /** + * A SchedulingDuration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. + */ + export interface Schema$SchedulingDuration { + /** + * Optional. Span of time that's a fraction of a second at nanosecond resolution. + */ + nanos?: number | null; + /** + * Optional. Span of time at a resolution of a second. + */ + seconds?: string | null; + } + /** + * A service account. + */ + export interface Schema$ServiceAccount { + /** + * Optional. Email address of the service account. + */ + email?: string | null; + /** + * Optional. The list of scopes to be made available for this service account. + */ + scopes?: string[] | null; + } + /** + * ServiceLockInfo represents the details of a lock taken by the service on a Backup resource. + */ + export interface Schema$ServiceLockInfo { + /** + * Output only. The name of the operation that created this lock. The lock will automatically be released when the operation completes. + */ + operation?: string | null; + } + /** + * Request message for `SetIamPolicy` method. + */ + export interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them. + */ + policy?: Schema$Policy; + /** + * 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"` + */ + updateMask?: string | null; + } + /** + * Request message for SetStatusInternal method. + */ + export interface Schema$SetInternalStatusRequest { + /** + * Required. Output only. The new BackupConfigState to set for the DataSource. + */ + backupConfigState?: string | null; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * Required. The value required for this method to work. This field must be the 32-byte SHA256 hash of the DataSourceID. The DataSourceID used here is only the final piece of the fully qualified resource path for this DataSource (i.e. the part after '.../dataSources/'). This field exists to make this method difficult to call since it is intended for use only by Backup Appliances. + */ + value?: string | null; + } + /** + * `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. + */ + export interface Schema$StandardSchedule { + /** + * Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window. + */ + backupWindow?: Schema$BackupWindow; + /** + * Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied. + */ + daysOfMonth?: number[] | null; + /** + * Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`. + */ + daysOfWeek?: string[] | null; + /** + * Optional. Specifies frequency for hourly backups. A hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. The supported values for each resource type are as follows: * `compute.googleapis.com/Instance`: 1-23 * `compute.googleapis.com/Disk`: 1-23 * `sqladmin.googleapis.com/Instance`: 6-23 * `alloydb.googleapis.com/Cluster`: 1-23 * `file.googleapis.com/Instance`: 1-23 Refer to link https://cloud.google.com/backup-disaster-recovery/docs/concepts/cloud_best_practices for more details. + */ + hourlyFrequency?: number | null; + /** + * Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied. + */ + months?: string[] | null; + /** + * Required. Specifies the `RecurrenceType` for the schedule. + */ + recurrenceType?: string | null; + /** + * Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For e.g., Europe/Paris. + */ + timeZone?: string | null; + /** + * Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied. + */ + weekDayOfMonth?: Schema$WeekDayOfMonth; + } + /** + * 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). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * 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. + */ + message?: string | null; + } + /** + * Request message for subscribing to a trial. + */ + export interface Schema$SubscribeTrialRequest {} + /** + * A set of instance tags. + */ + export interface Schema$Tags { + /** + * Optional. An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. + */ + items?: string[] | null; + } + /** + * Request message for `TestIamPermissions` method. + */ + export interface Schema$TestIamPermissionsRequest { + /** + * 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). + */ + permissions?: string[] | null; + } + /** + * Response message for `TestIamPermissions` method. + */ + export interface Schema$TestIamPermissionsResponse { + /** + * A subset of `TestPermissionsRequest.permissions` that the caller is allowed. + */ + permissions?: string[] | null; + } + /** + * Represents a Trial for a project. + */ + export interface Schema$Trial { + /** + * Output only. The reason for ending the trial. + */ + endReason?: string | null; + /** + * Output only. The time when the trial will expire. + */ + endTime?: string | null; + /** + * Identifier. The resource name of the trial. Format: projects/{project\}/locations/{location\}/trial + */ + name?: string | null; + /** + * Output only. The time when the trial was subscribed. + */ + startTime?: string | null; + /** + * Output only. The state of the trial. + */ + state?: string | null; + } + /** + * Request message for triggering a backup. + */ + export interface Schema$TriggerBackupRequest { + /** + * Optional. The duration for which backup data will be kept, while taking an on-demand backup with custom retention. It is defined in "days". It is mutually exclusive with rule_id. This field is required if rule_id is not provided. + */ + customRetentionDays?: number | null; + /** + * Optional. Labels to be applied on the backup. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * Optional. backup rule_id for which a backup needs to be triggered. If not specified, on-demand backup with custom retention will be triggered. + */ + ruleId?: string | null; + } + /** + * `WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`. + */ + export interface Schema$WeekDayOfMonth { + /** + * Required. Specifies the day of the week. + */ + dayOfWeek?: string | null; + /** + * Required. Specifies the week of the month. + */ + weekOfMonth?: string | null; + } + /** + * ManagementURI depending on the Workforce Identity i.e. either 1p or 3p. + */ + export interface Schema$WorkforceIdentityBasedManagementURI { + /** + * Output only. First party Management URI for Google Identities. + */ + firstPartyManagementUri?: string | null; + /** + * Output only. Third party Management URI for External Identity Providers. + */ + thirdPartyManagementUri?: string | null; + } + /** + * OAuth Client ID depending on the Workforce Identity i.e. either 1p or 3p, + */ + export interface Schema$WorkforceIdentityBasedOAuth2ClientID { + /** + * Output only. First party OAuth Client ID for Google Identities. + */ + firstPartyOauth2ClientId?: string | null; + /** + * Output only. Third party OAuth Client ID for External Identity Providers. + */ + thirdPartyOauth2ClientId?: string | null; + } + + export class Resource$Folders { + context: APIRequestContext; + locations: Resource$Folders$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Folders$Locations(this.context); + } + } + + export class Resource$Folders$Locations { + context: APIRequestContext; + resourceBackupConfigs: Resource$Folders$Locations$Resourcebackupconfigs; + constructor(context: APIRequestContext) { + this.context = context; + this.resourceBackupConfigs = + new Resource$Folders$Locations$Resourcebackupconfigs(this.context); + } + } + + export class Resource$Folders$Locations$Resourcebackupconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Fetches ResourceBackupConfigs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.folders.locations.resourceBackupConfigs.fetch({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id\}/locations/{location\}', 'folders/{folder_id\}/locations/{location\}', or 'organizations/{organization_id\}/locations/{location\}'. + * parent: 'folders/my-folder/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "resourceBackupConfigs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetch( + params: Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch, + options: StreamMethodOptions + ): Promise>; + fetch( + params?: Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + fetch( + params: Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch, + callback: BodyResponseCallback + ): void; + fetch( + callback: BodyResponseCallback + ): void; + fetch( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/resourceBackupConfigs:fetch' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Folders$Locations$Resourcebackupconfigs$Fetch extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id\}/locations/{location\}', 'folders/{folder_id\}/locations/{location\}', or 'organizations/{organization_id\}/locations/{location\}'. + */ + parent?: string; + } + + export class Resource$Organizations { + context: APIRequestContext; + locations: Resource$Organizations$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Organizations$Locations(this.context); + } + } + + export class Resource$Organizations$Locations { + context: APIRequestContext; + resourceBackupConfigs: Resource$Organizations$Locations$Resourcebackupconfigs; + constructor(context: APIRequestContext) { + this.context = context; + this.resourceBackupConfigs = + new Resource$Organizations$Locations$Resourcebackupconfigs( + this.context + ); + } + } + + export class Resource$Organizations$Locations$Resourcebackupconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Fetches ResourceBackupConfigs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.organizations.locations.resourceBackupConfigs.fetch({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id\}/locations/{location\}', 'folders/{folder_id\}/locations/{location\}', or 'organizations/{organization_id\}/locations/{location\}'. + * parent: 'organizations/my-organization/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "resourceBackupConfigs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetch( + params: Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch, + options: StreamMethodOptions + ): Promise>; + fetch( + params?: Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + fetch( + params: Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch, + callback: BodyResponseCallback + ): void; + fetch( + callback: BodyResponseCallback + ): void; + fetch( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/resourceBackupConfigs:fetch' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Organizations$Locations$Resourcebackupconfigs$Fetch extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id\}/locations/{location\}', 'folders/{folder_id\}/locations/{location\}', or 'organizations/{organization_id\}/locations/{location\}'. + */ + parent?: string; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + appliedAutoProtectionPolicies: Resource$Projects$Locations$Appliedautoprotectionpolicies; + autoProtectionPolicies: Resource$Projects$Locations$Autoprotectionpolicies; + backupPlanAssociations: Resource$Projects$Locations$Backupplanassociations; + backupPlans: Resource$Projects$Locations$Backupplans; + backupVaults: Resource$Projects$Locations$Backupvaults; + dataSourceReferences: Resource$Projects$Locations$Datasourcereferences; + managementServers: Resource$Projects$Locations$Managementservers; + operations: Resource$Projects$Locations$Operations; + resourceBackupConfigs: Resource$Projects$Locations$Resourcebackupconfigs; + serviceConfig: Resource$Projects$Locations$Serviceconfig; + trial: Resource$Projects$Locations$Trial; + constructor(context: APIRequestContext) { + this.context = context; + this.appliedAutoProtectionPolicies = + new Resource$Projects$Locations$Appliedautoprotectionpolicies( + this.context + ); + this.autoProtectionPolicies = + new Resource$Projects$Locations$Autoprotectionpolicies(this.context); + this.backupPlanAssociations = + new Resource$Projects$Locations$Backupplanassociations(this.context); + this.backupPlans = new Resource$Projects$Locations$Backupplans( + this.context + ); + this.backupVaults = new Resource$Projects$Locations$Backupvaults( + this.context + ); + this.dataSourceReferences = + new Resource$Projects$Locations$Datasourcereferences(this.context); + this.managementServers = + new Resource$Projects$Locations$Managementservers(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + this.resourceBackupConfigs = + new Resource$Projects$Locations$Resourcebackupconfigs(this.context); + this.serviceConfig = new Resource$Projects$Locations$Serviceconfig( + this.context + ); + this.trial = new Resource$Projects$Locations$Trial(this.context); + } + + /** + * Gets information about a location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.get({ + * // Resource name for the location. + * name: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "labels": {}, + * // "locationId": "my_locationId", + * // "metadata": {}, + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the Trial state for a given project + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.getTrial({ + * // Required. The project for which trial details need to be retrieved. Format: projects/{project\}/locations/{location\} Supported Locations are - us, eu and asia. + * name: 'projects/my-project/locations/my-location/trial', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "endReason": "my_endReason", + * // "endTime": "my_endTime", + * // "name": "my_name", + * // "startTime": "my_startTime", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getTrial( + params: Params$Resource$Projects$Locations$Gettrial, + options: StreamMethodOptions + ): Promise>; + getTrial( + params?: Params$Resource$Projects$Locations$Gettrial, + options?: MethodOptions + ): Promise>; + getTrial( + params: Params$Resource$Projects$Locations$Gettrial, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getTrial( + params: Params$Resource$Projects$Locations$Gettrial, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getTrial( + params: Params$Resource$Projects$Locations$Gettrial, + callback: BodyResponseCallback + ): void; + getTrial(callback: BodyResponseCallback): void; + getTrial( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Gettrial + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Gettrial; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Gettrial; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.list({ + * // Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. + * extraLocationTypes: 'placeholder-value', + * // 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). + * filter: 'placeholder-value', + * // The resource that owns the locations collection, if applicable. + * name: 'projects/my-project', + * // The maximum number of results to return. If not set, the service selects a default. + * pageSize: 'placeholder-value', + * // A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "locations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Gettrial extends StandardParameters { + /** + * Required. The project for which trial details need to be retrieved. Format: projects/{project\}/locations/{location\} Supported Locations are - us, eu and asia. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List extends StandardParameters { + /** + * Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. + */ + extraLocationTypes?: string[]; + /** + * 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). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Appliedautoprotectionpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists AppliedAutoProtectionPolicies in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.appliedAutoProtectionPolicies.list({ + * // Optional. A filter expression that filters resources listed in the response. + * filter: 'placeholder-value', + * // Optional. An expression that sorts the results in the response. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of applied policies to return in a single page. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListAppliedAutoProtectionPolicies` call. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve the list of applied policies. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appliedAutoProtectionPolicies": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/appliedAutoProtectionPolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Appliedautoprotectionpolicies$List extends StandardParameters { + /** + * Optional. A filter expression that filters resources listed in the response. + */ + filter?: string; + /** + * Optional. An expression that sorts the results in the response. + */ + orderBy?: string; + /** + * Optional. The maximum number of applied policies to return in a single page. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListAppliedAutoProtectionPolicies` call. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve the list of applied policies. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + } + + export class Resource$Projects$Locations$Autoprotectionpolicies { + context: APIRequestContext; + bindings: Resource$Projects$Locations$Autoprotectionpolicies$Bindings; + constructor(context: APIRequestContext) { + this.context = context; + this.bindings = + new Resource$Projects$Locations$Autoprotectionpolicies$Bindings( + this.context + ); + } + + /** + * Creates a new AutoProtectionPolicy in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.autoProtectionPolicies.create({ + * // Required. The ID to use for the policy. This will become the final component of the policy's resource name. + * autoProtectionPolicyId: 'placeholder-value', + * // Required. The parent resource where this policy will be created. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupPlanDetails": [], + * // "bindingSummary": {}, + * // "createTime": "my_createTime", + * // "criteria": {}, + * // "description": "my_description", + * // "etag": "my_etag", + * // "name": "my_name", + * // "policyEvaluationSummary": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/autoProtectionPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single AutoProtectionPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.autoProtectionPolicies.delete({ + * // The current etag of the AutoProtectionPolicy. If an etag is provided and does not match the current etag of the connection, the request will be rejected with an ABORTED error. + * etag: 'placeholder-value', + * // Required. The name of the policy to delete. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\} + * name: 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single AutoProtectionPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.autoProtectionPolicies.get({ + * // Required. The name of the policy to retrieve. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\} + * name: 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupPlanDetails": [], + * // "bindingSummary": {}, + * // "createTime": "my_createTime", + * // "criteria": {}, + * // "description": "my_description", + * // "etag": "my_etag", + * // "name": "my_name", + * // "policyEvaluationSummary": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists AutoProtectionPolicies for a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.autoProtectionPolicies.list({ + * // Optional. A filter expression that filters resources listed in the response. The following fields are filterable: + * filter: 'placeholder-value', + * // Optional. An expression that sorts the results in the response. The following fields are sortable: + * orderBy: 'placeholder-value', + * // Optional. The maximum number of policies to return in a single page. If unspecified, a server-default value will be used. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve the list of policies. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "autoProtectionPolicies": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/autoProtectionPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates the parameters of a single AutoProtectionPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.autoProtectionPolicies.patch({ + * // Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}` + * name: 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie', + * // Required. Field mask is used to specify the fields to be overwritten in the AutoProtectionPolicy 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupPlanDetails": [], + * // "bindingSummary": {}, + * // "createTime": "my_createTime", + * // "criteria": {}, + * // "description": "my_description", + * // "etag": "my_etag", + * // "name": "my_name", + * // "policyEvaluationSummary": {}, + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Create extends StandardParameters { + /** + * Required. The ID to use for the policy. This will become the final component of the policy's resource name. + */ + autoProtectionPolicyId?: string; + /** + * Required. The parent resource where this policy will be created. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AutoProtectionPolicy; + } + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Delete extends StandardParameters { + /** + * The current etag of the AutoProtectionPolicy. If an etag is provided and does not match the current etag of the connection, the request will be rejected with an ABORTED error. + */ + etag?: string; + /** + * Required. The name of the policy to delete. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Get extends StandardParameters { + /** + * Required. The name of the policy to retrieve. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$List extends StandardParameters { + /** + * Optional. A filter expression that filters resources listed in the response. The following fields are filterable: + */ + filter?: string; + /** + * Optional. An expression that sorts the results in the response. The following fields are sortable: + */ + orderBy?: string; + /** + * Optional. The maximum number of policies to return in a single page. If unspecified, a server-default value will be used. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve the list of policies. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Patch extends StandardParameters { + /** + * Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}` + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the AutoProtectionPolicy 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AutoProtectionPolicy; + } + + export class Resource$Projects$Locations$Autoprotectionpolicies$Bindings { + context: APIRequestContext; + matchingResources: Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources; + constructor(context: APIRequestContext) { + this.context = context; + this.matchingResources = + new Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources( + this.context + ); + } + + /** + * Creates a new AutoProtectionPolicyBinding in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.autoProtectionPolicies.bindings.create({ + * // Required. The ID to use for the binding. This will become the final component of the binding's resource name. + * autoProtectionPolicyBindingId: 'placeholder-value', + * // Required. The parent resource where this binding will be created. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\} + * parent: + * 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindingEvaluationSummary": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "name": "my_name", + * // "scope": "my_scope", + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/bindings').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the auto protection policy binding read from the CCFE tables. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.autoProtectionPolicies.bindings.get({ + * // Required. The name of the binding to retrieve. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\} + * name: 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie/bindings/my-binding', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "bindingEvaluationSummary": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "name": "my_name", + * // "scope": "my_scope", + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * InitiateDeleteAutoProtectionPolicyBinding initiates delete for AutoProtectionPolicy Binding + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.autoProtectionPolicies.bindings.initiateDelete( + * { + * // Required. The name of the binding to delete. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\} + * name: 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie/bindings/my-binding', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + initiateDelete( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete, + options: StreamMethodOptions + ): Promise>; + initiateDelete( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete, + options?: MethodOptions + ): Promise>; + initiateDelete( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + initiateDelete( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + initiateDelete( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete, + callback: BodyResponseCallback + ): void; + initiateDelete(callback: BodyResponseCallback): void; + initiateDelete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:initiateDelete').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the auto protection policy bindings read from the CCFE tables. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.autoProtectionPolicies.bindings.list({ + * // Optional. A filter expression that filters resources listed in the response. The following fields are filterable: + * filter: 'placeholder-value', + * // Optional. An expression that sorts the results in the response. The following fields are sortable: + * orderBy: 'placeholder-value', + * // Optional. The maximum number of policies to return in a single page. If unspecified, a server-default value will be used. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve the list of policies. Format: projects/{project\}/locations/{location\} + * parent: + * 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "autoProtectionPolicyBindings": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/bindings').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Create extends StandardParameters { + /** + * Required. The ID to use for the binding. This will become the final component of the binding's resource name. + */ + autoProtectionPolicyBindingId?: string; + /** + * Required. The parent resource where this binding will be created. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AutoProtectionPolicyBinding; + } + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Get extends StandardParameters { + /** + * Required. The name of the binding to retrieve. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Initiatedelete extends StandardParameters { + /** + * Required. The name of the binding to delete. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InitiateDeleteAutoProtectionPolicyBindingRequest; + } + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$List extends StandardParameters { + /** + * Optional. A filter expression that filters resources listed in the response. The following fields are filterable: + */ + filter?: string; + /** + * Optional. An expression that sorts the results in the response. The following fields are sortable: + */ + orderBy?: string; + /** + * Optional. The maximum number of policies to return in a single page. If unspecified, a server-default value will be used. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve the list of policies. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + } + + export class Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details of a single Binding Matching Resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.autoProtectionPolicies.bindings.matchingResources.get( + * { + * // Required. The name of the matching resource to retrieve. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\}/matchingResources/{matching_resource\} + * name: 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie/bindings/my-binding/matchingResources/my-matchingResource', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "autoProtectionDetails": {}, + * // "lastEvaluationTime": "my_lastEvaluationTime", + * // "name": "my_name", + * // "resource": "my_resource" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Binding Matching Resources for a given AutoProtectionPolicyBinding. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.autoProtectionPolicies.bindings.matchingResources.list( + * { + * // Optional. Field match expression used to filter the results. + * filter: 'placeholder-value', + * // Optional. Field by which to sort the results. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of `BindingMatchingResources` to return in a single response. The default page size is 100 and maximum page size is 200. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried. + * pageSize: 'placeholder-value', + * // Optional. The value of next_page_token received from a previous `ListBindingMatchingResources` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBindingMatchingResources` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The project, location, auto protection policy and binding for which to retrieve `BindingMatchingResources` information. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. + * parent: + * 'projects/my-project/locations/my-location/autoProtectionPolicies/my-autoProtectionPolicie/bindings/my-binding', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "matchingResources": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/matchingResources').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$Get extends StandardParameters { + /** + * Required. The name of the matching resource to retrieve. Format: projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\}/matchingResources/{matching_resource\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Autoprotectionpolicies$Bindings$Matchingresources$List extends StandardParameters { + /** + * Optional. Field match expression used to filter the results. + */ + filter?: string; + /** + * Optional. Field by which to sort the results. + */ + orderBy?: string; + /** + * Optional. The maximum number of `BindingMatchingResources` to return in a single response. The default page size is 100 and maximum page size is 200. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried. + */ + pageSize?: number; + /** + * Optional. The value of next_page_token received from a previous `ListBindingMatchingResources` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBindingMatchingResources` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The project, location, auto protection policy and binding for which to retrieve `BindingMatchingResources` information. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{auto_protection_policy\}/bindings/{binding\}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Backupplanassociations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a BackupPlanAssociation + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlanAssociations.create({ + * // Required. The name of the backup plan association to create. The name must be unique for the specified project and location. + * backupPlanAssociationId: 'placeholder-value', + * // Required. The backup plan association project and location in the format `projects/{project_id\}/locations/{location\}`. In Backup and DR locations map to Google Cloud regions, for example **us-central1**. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "alloydbClusterBackupPlanAssociationProperties": {}, + * // "autoProtectionPolicyBinding": "my_autoProtectionPolicyBinding", + * // "backupPlan": "my_backupPlan", + * // "backupPlanRevisionId": "my_backupPlanRevisionId", + * // "backupPlanRevisionName": "my_backupPlanRevisionName", + * // "cloudSqlInstanceBackupPlanAssociationProperties": {}, + * // "createTime": "my_createTime", + * // "dataSource": "my_dataSource", + * // "filestoreInstanceBackupPlanAssociationProperties": {}, + * // "name": "my_name", + * // "resource": "my_resource", + * // "resourceType": "my_resourceType", + * // "rulesConfigInfo": [], + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backupplanassociations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Backupplanassociations$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Backupplanassociations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupplanassociations$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupplanassociations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplanassociations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplanassociations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplanassociations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/backupPlanAssociations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single BackupPlanAssociation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlanAssociations.delete({ + * // Optional. This field is exclusively used by Backup and DR's auto-protection feature. The resource name of the `AutoProtectionPolicyBinding` that triggered the deletion of this association. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{policy\}/bindings/{binding\}`. + * autoProtectionPolicyBinding: 'placeholder-value', + * // Required. Name of the backup plan association resource, in the format `projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\}` + * name: 'projects/my-project/locations/my-location/backupPlanAssociations/my-backupPlanAssociation', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupplanassociations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Backupplanassociations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Backupplanassociations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupplanassociations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupplanassociations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplanassociations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplanassociations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplanassociations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List BackupPlanAssociations for a given resource type. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupPlanAssociations.fetchForResourceType( + * { + * // Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * resource * backup_plan * state * data_source * cloud_sql_instance_backup_plan_association_properties.instance_create_time + * filter: 'placeholder-value', + * // Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * name + * orderBy: 'placeholder-value', + * // Optional. The maximum number of BackupPlanAssociations to return. The service may return fewer than this value. If unspecified, at most 50 BackupPlanAssociations will be returned. The maximum value is 100; values above 100 will be coerced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call of `FetchBackupPlanAssociationsForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchBackupPlanAssociationsForResourceType` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent resource name. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * // Required. The type of the Google Cloud resource. Ex: sql.googleapis.com/Instance + * resourceType: 'placeholder-value', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "backupPlanAssociations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchForResourceType( + params: Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype, + options: StreamMethodOptions + ): Promise>; + fetchForResourceType( + params?: Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + callback: BodyResponseCallback + ): void; + fetchForResourceType( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1beta/{+parent}/backupPlanAssociations:fetchForResourceType' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets details of a single BackupPlanAssociation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlanAssociations.get({ + * // Required. Name of the backup plan association resource, in the format `projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\}` + * name: 'projects/my-project/locations/my-location/backupPlanAssociations/my-backupPlanAssociation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "alloydbClusterBackupPlanAssociationProperties": {}, + * // "autoProtectionPolicyBinding": "my_autoProtectionPolicyBinding", + * // "backupPlan": "my_backupPlan", + * // "backupPlanRevisionId": "my_backupPlanRevisionId", + * // "backupPlanRevisionName": "my_backupPlanRevisionName", + * // "cloudSqlInstanceBackupPlanAssociationProperties": {}, + * // "createTime": "my_createTime", + * // "dataSource": "my_dataSource", + * // "filestoreInstanceBackupPlanAssociationProperties": {}, + * // "name": "my_name", + * // "resource": "my_resource", + * // "resourceType": "my_resourceType", + * // "rulesConfigInfo": [], + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupplanassociations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Backupplanassociations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Backupplanassociations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupplanassociations$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupplanassociations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplanassociations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplanassociations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplanassociations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists BackupPlanAssociations in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlanAssociations.list({ + * // Optional. Filtering results + * filter: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve backup Plan Associations information, in the format `projects/{project_id\}/locations/{location\}`. In Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backup plan associations for all locations, use "-" for the `{location\}` value. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupPlanAssociations": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupplanassociations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Backupplanassociations$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Backupplanassociations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupplanassociations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupplanassociations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplanassociations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplanassociations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplanassociations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/backupPlanAssociations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update a BackupPlanAssociation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlanAssociations.patch({ + * // Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\} + * name: 'projects/my-project/locations/my-location/backupPlanAssociations/my-backupPlanAssociation', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. The list of fields to update. Field mask is used to specify the fields to be overwritten in the BackupPlanAssociation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. Currently backup_plan_association.backup_plan is the only supported field. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "alloydbClusterBackupPlanAssociationProperties": {}, + * // "autoProtectionPolicyBinding": "my_autoProtectionPolicyBinding", + * // "backupPlan": "my_backupPlan", + * // "backupPlanRevisionId": "my_backupPlanRevisionId", + * // "backupPlanRevisionName": "my_backupPlanRevisionName", + * // "cloudSqlInstanceBackupPlanAssociationProperties": {}, + * // "createTime": "my_createTime", + * // "dataSource": "my_dataSource", + * // "filestoreInstanceBackupPlanAssociationProperties": {}, + * // "name": "my_name", + * // "resource": "my_resource", + * // "resourceType": "my_resourceType", + * // "rulesConfigInfo": [], + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupplanassociations$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Backupplanassociations$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Backupplanassociations$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupplanassociations$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupplanassociations$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplanassociations$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplanassociations$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplanassociations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Triggers a new Backup. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupPlanAssociations.triggerBackup({ + * // Required. Name of the backup plan association resource, in the format `projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\}` + * name: 'projects/my-project/locations/my-location/backupPlanAssociations/my-backupPlanAssociation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customRetentionDays": 0, + * // "labels": {}, + * // "requestId": "my_requestId", + * // "ruleId": "my_ruleId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + triggerBackup( + params: Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup, + options: StreamMethodOptions + ): Promise>; + triggerBackup( + params?: Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup, + options?: MethodOptions + ): Promise>; + triggerBackup( + params: Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + triggerBackup( + params: Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + triggerBackup( + params: Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup, + callback: BodyResponseCallback + ): void; + triggerBackup(callback: BodyResponseCallback): void; + triggerBackup( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:triggerBackup').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupplanassociations$Create extends StandardParameters { + /** + * Required. The name of the backup plan association to create. The name must be unique for the specified project and location. + */ + backupPlanAssociationId?: string; + /** + * Required. The backup plan association project and location in the format `projects/{project_id\}/locations/{location\}`. In Backup and DR locations map to Google Cloud regions, for example **us-central1**. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupPlanAssociation; + } + export interface Params$Resource$Projects$Locations$Backupplanassociations$Delete extends StandardParameters { + /** + * Optional. This field is exclusively used by Backup and DR's auto-protection feature. The resource name of the `AutoProtectionPolicyBinding` that triggered the deletion of this association. Format: `projects/{project\}/locations/{location\}/autoProtectionPolicies/{policy\}/bindings/{binding\}`. + */ + autoProtectionPolicyBinding?: string; + /** + * Required. Name of the backup plan association resource, in the format `projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\}` + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Backupplanassociations$Fetchforresourcetype extends StandardParameters { + /** + * Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * resource * backup_plan * state * data_source * cloud_sql_instance_backup_plan_association_properties.instance_create_time + */ + filter?: string; + /** + * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * name + */ + orderBy?: string; + /** + * Optional. The maximum number of BackupPlanAssociations to return. The service may return fewer than this value. If unspecified, at most 50 BackupPlanAssociations will be returned. The maximum value is 100; values above 100 will be coerced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call of `FetchBackupPlanAssociationsForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchBackupPlanAssociationsForResourceType` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent resource name. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + /** + * Required. The type of the Google Cloud resource. Ex: sql.googleapis.com/Instance + */ + resourceType?: string; + } + export interface Params$Resource$Projects$Locations$Backupplanassociations$Get extends StandardParameters { + /** + * Required. Name of the backup plan association resource, in the format `projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupplanassociations$List extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve backup Plan Associations information, in the format `projects/{project_id\}/locations/{location\}`. In Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backup plan associations for all locations, use "-" for the `{location\}` value. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backupplanassociations$Patch extends StandardParameters { + /** + * Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\} + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. The list of fields to update. Field mask is used to specify the fields to be overwritten in the BackupPlanAssociation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. Currently backup_plan_association.backup_plan is the only supported field. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupPlanAssociation; + } + export interface Params$Resource$Projects$Locations$Backupplanassociations$Triggerbackup extends StandardParameters { + /** + * Required. Name of the backup plan association resource, in the format `projects/{project\}/locations/{location\}/backupPlanAssociations/{backupPlanAssociationId\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TriggerBackupRequest; + } + + export class Resource$Projects$Locations$Backupplans { + context: APIRequestContext; + revisions: Resource$Projects$Locations$Backupplans$Revisions; + constructor(context: APIRequestContext) { + this.context = context; + this.revisions = new Resource$Projects$Locations$Backupplans$Revisions( + this.context + ); + } + + /** + * Create a BackupPlan + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlans.create({ + * // Required. The name of the `BackupPlan` to create. The name must be unique for the specified project and location.The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62\}/. + * backupPlanId: 'placeholder-value', + * // Required. The `BackupPlan` project and location in the format `projects/{project\}/locations/{location\}`. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupRules": [], + * // "backupVault": "my_backupVault", + * // "backupVaultServiceAccount": "my_backupVaultServiceAccount", + * // "computeInstanceBackupPlanProperties": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "diskBackupPlanProperties": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "logRetentionDays": "my_logRetentionDays", + * // "maxCustomOnDemandRetentionDays": 0, + * // "name": "my_name", + * // "resourceType": "my_resourceType", + * // "revisionId": "my_revisionId", + * // "revisionName": "my_revisionName", + * // "state": "my_state", + * // "supportedResourceTypes": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backupplans$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Backupplans$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Backupplans$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupplans$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupplans$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplans$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplans$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupplans$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/backupPlans').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single BackupPlan. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlans.delete({ + * // Required. The resource name of the `BackupPlan` to delete. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}` + * name: 'projects/my-project/locations/my-location/backupPlans/my-backupPlan', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupplans$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Backupplans$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Backupplans$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupplans$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupplans$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplans$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplans$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupplans$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single BackupPlan. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlans.get({ + * // Required. The resource name of the `BackupPlan` to retrieve. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}` + * name: 'projects/my-project/locations/my-location/backupPlans/my-backupPlan', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupRules": [], + * // "backupVault": "my_backupVault", + * // "backupVaultServiceAccount": "my_backupVaultServiceAccount", + * // "computeInstanceBackupPlanProperties": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "diskBackupPlanProperties": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "logRetentionDays": "my_logRetentionDays", + * // "maxCustomOnDemandRetentionDays": 0, + * // "name": "my_name", + * // "resourceType": "my_resourceType", + * // "revisionId": "my_revisionId", + * // "revisionName": "my_revisionName", + * // "state": "my_state", + * // "supportedResourceTypes": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupplans$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Backupplans$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Backupplans$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupplans$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupplans$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplans$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplans$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupplans$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists BackupPlans in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlans.list({ + * // Optional. Field match expression used to filter the results. + * filter: 'placeholder-value', + * // Optional. Field by which to sort the results. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried. + * pageSize: 'placeholder-value', + * // Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve `BackupPlans` information. Format: `projects/{project\}/locations/{location\}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for e.g. **us-central1**. To retrieve backup plans for all locations, use "-" for the `{location\}` value. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupPlans": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupplans$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Backupplans$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Backupplans$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupplans$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupplans$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplans$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplans$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupplans$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/backupPlans').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Update a BackupPlan. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlans.patch({ + * // Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}` + * name: 'projects/my-project/locations/my-location/backupPlans/my-backupPlan', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. The list of fields to update. Field mask is used to specify the fields to be overwritten in the BackupPlan resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. Currently, these fields are supported in update: description, schedules, retention period, adding and removing Backup Rules. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupRules": [], + * // "backupVault": "my_backupVault", + * // "backupVaultServiceAccount": "my_backupVaultServiceAccount", + * // "computeInstanceBackupPlanProperties": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "diskBackupPlanProperties": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "logRetentionDays": "my_logRetentionDays", + * // "maxCustomOnDemandRetentionDays": 0, + * // "name": "my_name", + * // "resourceType": "my_resourceType", + * // "revisionId": "my_revisionId", + * // "revisionName": "my_revisionName", + * // "state": "my_state", + * // "supportedResourceTypes": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupplans$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Backupplans$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Backupplans$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupplans$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupplans$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplans$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplans$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupplans$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupplans$Create extends StandardParameters { + /** + * Required. The name of the `BackupPlan` to create. The name must be unique for the specified project and location.The name must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62\}/. + */ + backupPlanId?: string; + /** + * Required. The `BackupPlan` project and location in the format `projects/{project\}/locations/{location\}`. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupPlan; + } + export interface Params$Resource$Projects$Locations$Backupplans$Delete extends StandardParameters { + /** + * Required. The resource name of the `BackupPlan` to delete. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}` + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Backupplans$Get extends StandardParameters { + /** + * Required. The resource name of the `BackupPlan` to retrieve. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupplans$List extends StandardParameters { + /** + * Optional. Field match expression used to filter the results. + */ + filter?: string; + /** + * Optional. Field by which to sort the results. + */ + orderBy?: string; + /** + * Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried. + */ + pageSize?: number; + /** + * Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve `BackupPlans` information. Format: `projects/{project\}/locations/{location\}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for e.g. **us-central1**. To retrieve backup plans for all locations, use "-" for the `{location\}` value. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backupplans$Patch extends StandardParameters { + /** + * Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}` + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. The list of fields to update. Field mask is used to specify the fields to be overwritten in the BackupPlan resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. Currently, these fields are supported in update: description, schedules, retention period, adding and removing Backup Rules. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupPlan; + } + + export class Resource$Projects$Locations$Backupplans$Revisions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets details of a single BackupPlanRevision. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlans.revisions.get({ + * // Required. The resource name of the `BackupPlanRevision` to retrieve. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}/revisions/{revision\}` + * name: 'projects/my-project/locations/my-location/backupPlans/my-backupPlan/revisions/my-revision', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupPlanSnapshot": {}, + * // "createTime": "my_createTime", + * // "name": "my_name", + * // "revisionId": "my_revisionId", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupplans$Revisions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Backupplans$Revisions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Backupplans$Revisions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupplans$Revisions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupplans$Revisions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplans$Revisions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplans$Revisions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplans$Revisions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists BackupPlanRevisions in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupPlans.revisions.list({ + * // Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried. + * pageSize: 'placeholder-value', + * // Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve `BackupPlanRevisions` information. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for e.g. **us-central1**. + * parent: + * 'projects/my-project/locations/my-location/backupPlans/my-backupPlan', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupPlanRevisions": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupplans$Revisions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Backupplans$Revisions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Backupplans$Revisions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupplans$Revisions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupplans$Revisions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupplans$Revisions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupplans$Revisions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupplans$Revisions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/revisions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupplans$Revisions$Get extends StandardParameters { + /** + * Required. The resource name of the `BackupPlanRevision` to retrieve. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}/revisions/{revision\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupplans$Revisions$List extends StandardParameters { + /** + * Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried. + */ + pageSize?: number; + /** + * Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve `BackupPlanRevisions` information. Format: `projects/{project\}/locations/{location\}/backupPlans/{backup_plan\}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for e.g. **us-central1**. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Backupvaults { + context: APIRequestContext; + dataSources: Resource$Projects$Locations$Backupvaults$Datasources; + constructor(context: APIRequestContext) { + this.context = context; + this.dataSources = + new Resource$Projects$Locations$Backupvaults$Datasources(this.context); + } + + /** + * Creates a new BackupVault in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.create({ + * // Required. ID of the requesting object If auto-generating ID server-side, remove this field and backup_vault_id from the method_signature of Create RPC + * backupVaultId: 'placeholder-value', + * // Required. Value for parent. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Optional. Only validate the request, but do not perform mutations. The default is 'false'. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessRestriction": "my_accessRestriction", + * // "annotations": {}, + * // "backupCount": "my_backupCount", + * // "backupMinimumEnforcedRetentionDuration": "my_backupMinimumEnforcedRetentionDuration", + * // "backupRetentionInheritance": "my_backupRetentionInheritance", + * // "createTime": "my_createTime", + * // "deletable": false, + * // "description": "my_description", + * // "effectiveTime": "my_effectiveTime", + * // "encryptionConfig": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "serviceAccount": "my_serviceAccount", + * // "state": "my_state", + * // "totalStoredBytes": "my_totalStoredBytes", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Backupvaults$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/backupVaults').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a BackupVault. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.delete({ + * // Optional. If true and the BackupVault is not found, the request will succeed but no action will be taken. + * allowMissing: 'placeholder-value', + * // The current etag of the backup vault. If an etag is provided and does not match the current etag of the connection, deletion will be blocked. + * etag: 'placeholder-value', + * // Optional. If set to true, any data source from this backup vault will also be deleted. + * force: 'placeholder-value', + * // Optional. If set to true, backupvault deletion will proceed even if there are backup plans referencing the backupvault. The default is 'false'. + * ignoreBackupPlanReferences: 'placeholder-value', + * // Required. Name of the resource. + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Optional. Only validate the request, but do not perform mutations. The default is 'false'. + * validateOnly: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Backupvaults$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * FetchUsableBackupVaults lists usable BackupVaults in a given project and location. Usable BackupVault are the ones that user has backupdr.backupVaults.get permission. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.fetchUsable({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve backupvault stores information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backupvault stores for all locations, use "-" for the '{location\}' value. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupVaults": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchUsable( + params: Params$Resource$Projects$Locations$Backupvaults$Fetchusable, + options: StreamMethodOptions + ): Promise>; + fetchUsable( + params?: Params$Resource$Projects$Locations$Backupvaults$Fetchusable, + options?: MethodOptions + ): Promise>; + fetchUsable( + params: Params$Resource$Projects$Locations$Backupvaults$Fetchusable, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchUsable( + params: Params$Resource$Projects$Locations$Backupvaults$Fetchusable, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchUsable( + params: Params$Resource$Projects$Locations$Backupvaults$Fetchusable, + callback: BodyResponseCallback + ): void; + fetchUsable( + callback: BodyResponseCallback + ): void; + fetchUsable( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Fetchusable + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Fetchusable; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Fetchusable; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/backupVaults:fetchUsable' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets details of a BackupVault. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.get({ + * // Required. Name of the backupvault store resource name, in the format 'projects/{project_id\}/locations/{location\}/backupVaults/{resource_name\}' + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault', + * // Optional. Reserved for future use to provide a BASIC & FULL view of Backup Vault + * view: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessRestriction": "my_accessRestriction", + * // "annotations": {}, + * // "backupCount": "my_backupCount", + * // "backupMinimumEnforcedRetentionDuration": "my_backupMinimumEnforcedRetentionDuration", + * // "backupRetentionInheritance": "my_backupRetentionInheritance", + * // "createTime": "my_createTime", + * // "deletable": false, + * // "description": "my_description", + * // "effectiveTime": "my_effectiveTime", + * // "encryptionConfig": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "serviceAccount": "my_serviceAccount", + * // "state": "my_state", + * // "totalStoredBytes": "my_totalStoredBytes", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Backupvaults$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists BackupVaults in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.list({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve backupvault stores information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backupvault stores for all locations, use "-" for the '{location\}' value. + * parent: 'projects/my-project/locations/my-location', + * // Optional. Reserved for future use to provide a BASIC & FULL view of Backup Vault. + * view: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupVaults": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Backupvaults$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/backupVaults').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a BackupVault. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.patch({ + * // Optional. If set to true, will not check plan duration against backup vault enforcement duration. + * force: 'placeholder-value', + * // Optional. If set to true, we will force update access restriction even if some non compliant data sources are present. The default is 'false'. + * forceUpdateAccessRestriction: 'placeholder-value', + * // Output only. Identifier. Name of the backup vault to create. It must have the format`"projects/{project\}/locations/{location\}/backupVaults/{backupvault\}"`. `{backupvault\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location. + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Field mask is used to specify the fields to be overwritten in the BackupVault resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. + * updateMask: 'placeholder-value', + * // Optional. Only validate the request, but do not perform mutations. The default is 'false'. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessRestriction": "my_accessRestriction", + * // "annotations": {}, + * // "backupCount": "my_backupCount", + * // "backupMinimumEnforcedRetentionDuration": "my_backupMinimumEnforcedRetentionDuration", + * // "backupRetentionInheritance": "my_backupRetentionInheritance", + * // "createTime": "my_createTime", + * // "deletable": false, + * // "description": "my_description", + * // "effectiveTime": "my_effectiveTime", + * // "encryptionConfig": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "serviceAccount": "my_serviceAccount", + * // "state": "my_state", + * // "totalStoredBytes": "my_totalStoredBytes", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Backupvaults$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the caller's permissions on a BackupVault resource. A caller is not required to have Google IAM permission to make this request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.testIamPermissions( + * { + * // REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/backupVaults/my-backupVault', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Backupvaults$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Backupvaults$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Projects$Locations$Backupvaults$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Backupvaults$Testiampermissions, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Backupvaults$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupvaults$Create extends StandardParameters { + /** + * Required. ID of the requesting object If auto-generating ID server-side, remove this field and backup_vault_id from the method_signature of Create RPC + */ + backupVaultId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Only validate the request, but do not perform mutations. The default is 'false'. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupVault; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Delete extends StandardParameters { + /** + * Optional. If true and the BackupVault is not found, the request will succeed but no action will be taken. + */ + allowMissing?: boolean; + /** + * The current etag of the backup vault. If an etag is provided and does not match the current etag of the connection, deletion will be blocked. + */ + etag?: string; + /** + * Optional. If set to true, any data source from this backup vault will also be deleted. + */ + force?: boolean; + /** + * Optional. If set to true, backupvault deletion will proceed even if there are backup plans referencing the backupvault. The default is 'false'. + */ + ignoreBackupPlanReferences?: boolean; + /** + * Required. Name of the resource. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Only validate the request, but do not perform mutations. The default is 'false'. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Fetchusable extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve backupvault stores information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backupvault stores for all locations, use "-" for the '{location\}' value. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Get extends StandardParameters { + /** + * Required. Name of the backupvault store resource name, in the format 'projects/{project_id\}/locations/{location\}/backupVaults/{resource_name\}' + */ + name?: string; + /** + * Optional. Reserved for future use to provide a BASIC & FULL view of Backup Vault + */ + view?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$List extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve backupvault stores information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve backupvault stores for all locations, use "-" for the '{location\}' value. + */ + parent?: string; + /** + * Optional. Reserved for future use to provide a BASIC & FULL view of Backup Vault. + */ + view?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Patch extends StandardParameters { + /** + * Optional. If set to true, will not check plan duration against backup vault enforcement duration. + */ + force?: boolean; + /** + * Optional. If set to true, we will force update access restriction even if some non compliant data sources are present. The default is 'false'. + */ + forceUpdateAccessRestriction?: boolean; + /** + * Output only. Identifier. Name of the backup vault to create. It must have the format`"projects/{project\}/locations/{location\}/backupVaults/{backupvault\}"`. `{backupvault\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the project and location. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the BackupVault resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. + */ + updateMask?: string; + /** + * Optional. Only validate the request, but do not perform mutations. The default is 'false'. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupVault; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Testiampermissions extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Backupvaults$Datasources { + context: APIRequestContext; + backups: Resource$Projects$Locations$Backupvaults$Datasources$Backups; + constructor(context: APIRequestContext) { + this.context = context; + this.backups = + new Resource$Projects$Locations$Backupvaults$Datasources$Backups( + this.context + ); + } + + /** + * Internal only. Abandons a backup. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.abandonBackup({ + * // Required. The resource name of the instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/'. + * dataSource: + * 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "requestId": "my_requestId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + abandonBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup, + options: StreamMethodOptions + ): Promise>; + abandonBackup( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup, + options?: MethodOptions + ): Promise>; + abandonBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + abandonBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + abandonBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup, + callback: BodyResponseCallback + ): void; + abandonBackup(callback: BodyResponseCallback): void; + abandonBackup( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+dataSource}:abandonBackup').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['dataSource'], + pathParams: ['dataSource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Internal only. Fetch access token for a given data source. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.fetchAccessToken( + * { + * // Required. The resource name for the location for which static IPs should be returned. Must be in the format 'projects/x/locations/x/backupVaults/x/dataSources'. + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "generationId": 0 + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "expireTime": "my_expireTime", + * // "readLocation": "my_readLocation", + * // "token": "my_token", + * // "writeLocation": "my_writeLocation" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchAccessToken( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken, + options: StreamMethodOptions + ): Promise>; + fetchAccessToken( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken, + options?: MethodOptions + ): Promise>; + fetchAccessToken( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchAccessToken( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchAccessToken( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken, + callback: BodyResponseCallback + ): void; + fetchAccessToken( + callback: BodyResponseCallback + ): void; + fetchAccessToken( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:fetchAccessToken').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Internal only. Finalize a backup that was started by a call to InitiateBackup. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.finalizeBackup({ + * // Required. The resource name of the instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/'. + * dataSource: + * 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupId": "my_backupId", + * // "consistencyTime": "my_consistencyTime", + * // "description": "my_description", + * // "recoveryRangeEndTime": "my_recoveryRangeEndTime", + * // "recoveryRangeStartTime": "my_recoveryRangeStartTime", + * // "requestId": "my_requestId", + * // "retentionDuration": "my_retentionDuration" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + finalizeBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup, + options: StreamMethodOptions + ): Promise>; + finalizeBackup( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup, + options?: MethodOptions + ): Promise>; + finalizeBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + finalizeBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + finalizeBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup, + callback: BodyResponseCallback + ): void; + finalizeBackup(callback: BodyResponseCallback): void; + finalizeBackup( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+dataSource}:finalizeBackup').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['dataSource'], + pathParams: ['dataSource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a DataSource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.dataSources.get({ + * // Required. Name of the data source resource name, in the format 'projects/{project_id\}/locations/{location\}/backupVaults/{resource_name\}/dataSource/{resource_name\}' + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backupBlockedByVaultAccessRestriction": false, + * // "backupConfigInfo": {}, + * // "backupCount": "my_backupCount", + * // "configState": "my_configState", + * // "createTime": "my_createTime", + * // "dataSourceBackupApplianceApplication": {}, + * // "dataSourceGcpResource": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "state": "my_state", + * // "totalStoredBytes": "my_totalStoredBytes", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Internal only. Initiates a backup. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.initiateBackup({ + * // Required. The resource name of the instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/'. + * dataSource: + * 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupId": "my_backupId", + * // "requestId": "my_requestId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backup": "my_backup", + * // "baseBackupGenerationId": 0, + * // "newBackupGenerationId": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + initiateBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup, + options: StreamMethodOptions + ): Promise>; + initiateBackup( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup, + options?: MethodOptions + ): Promise>; + initiateBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + initiateBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + initiateBackup( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup, + callback: BodyResponseCallback + ): void; + initiateBackup( + callback: BodyResponseCallback + ): void; + initiateBackup( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+dataSource}:initiateBackup').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['dataSource'], + pathParams: ['dataSource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists DataSources in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.dataSources.list({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve data sources information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve data sources for all locations, use "-" for the '{location\}' value. + * parent: + * 'projects/my-project/locations/my-location/backupVaults/my-backupVault', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSources": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/dataSources').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a DataSource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.dataSources.patch({ + * // Optional. Enable upsert. + * allowMissing: 'placeholder-value', + * // Output only. Identifier. Name of the datasource to create. It must have the format`"projects/{project\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\}"`. `{datasource\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault. + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Field mask is used to specify the fields to be overwritten in the DataSource resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupBlockedByVaultAccessRestriction": false, + * // "backupConfigInfo": {}, + * // "backupCount": "my_backupCount", + * // "configState": "my_configState", + * // "createTime": "my_createTime", + * // "dataSourceBackupApplianceApplication": {}, + * // "dataSourceGcpResource": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "state": "my_state", + * // "totalStoredBytes": "my_totalStoredBytes", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a DataSource. This is a custom method instead of a standard delete method because external clients will not delete DataSources except for BackupDR backup appliances. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.backupVaults.dataSources.remove( + * { + * // Required. Name of the resource. + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "requestId": "my_requestId" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + remove( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove, + options: StreamMethodOptions + ): Promise>; + remove( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove, + options?: MethodOptions + ): Promise>; + remove( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + remove( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + remove( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove, + callback: BodyResponseCallback + ): void; + remove(callback: BodyResponseCallback): void; + remove( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:remove').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the internal status of a DataSource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.setInternalStatus( + * { + * // Required. The resource name of the instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/'. + * dataSource: + * 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupConfigState": "my_backupConfigState", + * // "requestId": "my_requestId", + * // "value": "my_value" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setInternalStatus( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus, + options: StreamMethodOptions + ): Promise>; + setInternalStatus( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus, + options?: MethodOptions + ): Promise>; + setInternalStatus( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setInternalStatus( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setInternalStatus( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus, + callback: BodyResponseCallback + ): void; + setInternalStatus(callback: BodyResponseCallback): void; + setInternalStatus( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+dataSource}:setInternalStatus').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['dataSource'], + pathParams: ['dataSource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Abandonbackup extends StandardParameters { + /** + * Required. The resource name of the instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/'. + */ + dataSource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AbandonBackupRequest; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Fetchaccesstoken extends StandardParameters { + /** + * Required. The resource name for the location for which static IPs should be returned. Must be in the format 'projects/x/locations/x/backupVaults/x/dataSources'. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FetchAccessTokenRequest; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Finalizebackup extends StandardParameters { + /** + * Required. The resource name of the instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/'. + */ + dataSource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FinalizeBackupRequest; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Get extends StandardParameters { + /** + * Required. Name of the data source resource name, in the format 'projects/{project_id\}/locations/{location\}/backupVaults/{resource_name\}/dataSource/{resource_name\}' + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Initiatebackup extends StandardParameters { + /** + * Required. The resource name of the instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/'. + */ + dataSource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InitiateBackupRequest; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$List extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve data sources information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve data sources for all locations, use "-" for the '{location\}' value. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Patch extends StandardParameters { + /** + * Optional. Enable upsert. + */ + allowMissing?: boolean; + /** + * Output only. Identifier. Name of the datasource to create. It must have the format`"projects/{project\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\}"`. `{datasource\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the backup vault. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the DataSource resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DataSource; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Remove extends StandardParameters { + /** + * Required. Name of the resource. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RemoveDataSourceRequest; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Setinternalstatus extends StandardParameters { + /** + * Required. The resource name of the instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/'. + */ + dataSource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetInternalStatusRequest; + } + + export class Resource$Projects$Locations$Backupvaults$Datasources$Backups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a Backup. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.backups.delete({ + * // Required. Name of the resource. + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource/backups/my-backup', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Fetch Backups for a given resource type. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.backups.fetchForResourceType( + * { + * // Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * name * state * backup_type * create_time * expire_time * enforced_retention_end_time * gcp_backup_plan_info.backup_plan * cloud_sql_instance_backup_properties.instance_tier * cloud_sql_instance_backup_properties.database_installed_version + * filter: 'placeholder-value', + * // Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * name + * orderBy: 'placeholder-value', + * // Optional. The maximum number of Backups to return. The service may return fewer than this value. If unspecified, at most 50 Backups will be returned. The maximum value is 100; values above 100 will be coerced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call of `FetchBackupsForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchBackupsForResourceType` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. Datasources are the parent resource for the backups. Format: projects/{project\}/locations/{location\}/backupVaults/{backupVaultId\}/dataSources/{datasourceId\} + * parent: + * 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * // Required. The type of the GCP resource. Ex: sqladmin.googleapis.com/Instance + * resourceType: 'placeholder-value', + * // Optional. This parameter is used to specify the view of the backup. If not specified, the default view is BASIC. + * view: 'placeholder-value', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "backups": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchForResourceType( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype, + options: StreamMethodOptions + ): Promise>; + fetchForResourceType( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + callback: BodyResponseCallback + ): void; + fetchForResourceType( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/backups:fetchForResourceType' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets details of a Backup. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.backups.get({ + * // Required. Name of the data source resource name, in the format 'projects/{project_id\}/locations/{location\}/backupVaults/{backupVault\}/dataSources/{datasource\}/backups/{backup\}' + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource/backups/my-backup', + * // Optional. Reserved for future use to provide a BASIC & FULL view of Backup resource. + * view: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "alloyDbBackupProperties": {}, + * // "backupApplianceBackupProperties": {}, + * // "backupApplianceLocks": [], + * // "backupRetentionInheritance": "my_backupRetentionInheritance", + * // "backupType": "my_backupType", + * // "cloudSqlInstanceBackupProperties": {}, + * // "computeInstanceBackupProperties": {}, + * // "consistencyTime": "my_consistencyTime", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "diskBackupProperties": {}, + * // "enforcedRetentionEndTime": "my_enforcedRetentionEndTime", + * // "etag": "my_etag", + * // "expireTime": "my_expireTime", + * // "filestoreInstanceBackupProperties": {}, + * // "gcpBackupPlanInfo": {}, + * // "gcpResource": {}, + * // "kmsKeyVersions": [], + * // "labels": {}, + * // "name": "my_name", + * // "resourceSizeBytes": "my_resourceSizeBytes", + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "serviceLocks": [], + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Backups in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.backups.list({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve backup information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve data sources for all locations, use "-" for the '{location\}' value. + * parent: + * 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource', + * // Optional. Reserved for future use to provide a BASIC & FULL view of Backup resource. + * view: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backups": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a Backup. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.backups.patch({ + * // Output only. Identifier. Name of the backup to create. It must have the format`"projects//locations//backupVaults//dataSources/{datasource\}/backups/{backup\}"`. `{backup\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource. + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource/backups/my-backup', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Field mask is used to specify the fields to be overwritten in the Backup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "alloyDbBackupProperties": {}, + * // "backupApplianceBackupProperties": {}, + * // "backupApplianceLocks": [], + * // "backupRetentionInheritance": "my_backupRetentionInheritance", + * // "backupType": "my_backupType", + * // "cloudSqlInstanceBackupProperties": {}, + * // "computeInstanceBackupProperties": {}, + * // "consistencyTime": "my_consistencyTime", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "diskBackupProperties": {}, + * // "enforcedRetentionEndTime": "my_enforcedRetentionEndTime", + * // "etag": "my_etag", + * // "expireTime": "my_expireTime", + * // "filestoreInstanceBackupProperties": {}, + * // "gcpBackupPlanInfo": {}, + * // "gcpResource": {}, + * // "kmsKeyVersions": [], + * // "labels": {}, + * // "name": "my_name", + * // "resourceSizeBytes": "my_resourceSizeBytes", + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "serviceLocks": [], + * // "state": "my_state", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Restore from a Backup + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.backupVaults.dataSources.backups.restore({ + * // Required. The resource name of the Backup instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/x/backups/'. + * name: 'projects/my-project/locations/my-location/backupVaults/my-backupVault/dataSources/my-dataSource/backups/my-backup', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clearOverridesFieldMask": "my_clearOverridesFieldMask", + * // "computeInstanceRestoreProperties": {}, + * // "computeInstanceTargetEnvironment": {}, + * // "diskRestoreProperties": {}, + * // "diskTargetEnvironment": {}, + * // "regionDiskTargetEnvironment": {}, + * // "requestId": "my_requestId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restore( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore, + options: StreamMethodOptions + ): Promise>; + restore( + params?: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore, + options?: MethodOptions + ): Promise>; + restore( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore, + callback: BodyResponseCallback + ): void; + restore(callback: BodyResponseCallback): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Delete extends StandardParameters { + /** + * Required. Name of the resource. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Fetchforresourcetype extends StandardParameters { + /** + * Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * name * state * backup_type * create_time * expire_time * enforced_retention_end_time * gcp_backup_plan_info.backup_plan * cloud_sql_instance_backup_properties.instance_tier * cloud_sql_instance_backup_properties.database_installed_version + */ + filter?: string; + /** + * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * name + */ + orderBy?: string; + /** + * Optional. The maximum number of Backups to return. The service may return fewer than this value. If unspecified, at most 50 Backups will be returned. The maximum value is 100; values above 100 will be coerced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call of `FetchBackupsForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchBackupsForResourceType` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. Datasources are the parent resource for the backups. Format: projects/{project\}/locations/{location\}/backupVaults/{backupVaultId\}/dataSources/{datasourceId\} + */ + parent?: string; + /** + * Required. The type of the GCP resource. Ex: sqladmin.googleapis.com/Instance + */ + resourceType?: string; + /** + * Optional. This parameter is used to specify the view of the backup. If not specified, the default view is BASIC. + */ + view?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Get extends StandardParameters { + /** + * Required. Name of the data source resource name, in the format 'projects/{project_id\}/locations/{location\}/backupVaults/{backupVault\}/dataSources/{datasource\}/backups/{backup\}' + */ + name?: string; + /** + * Optional. Reserved for future use to provide a BASIC & FULL view of Backup resource. + */ + view?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$List extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve backup information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve data sources for all locations, use "-" for the '{location\}' value. + */ + parent?: string; + /** + * Optional. Reserved for future use to provide a BASIC & FULL view of Backup resource. + */ + view?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Patch extends StandardParameters { + /** + * Output only. Identifier. Name of the backup to create. It must have the format`"projects//locations//backupVaults//dataSources/{datasource\}/backups/{backup\}"`. `{backup\}` cannot be changed after creation. It must be between 3-63 characters long and must be unique within the datasource. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Backup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then the request will fail. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Backup; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Datasources$Backups$Restore extends StandardParameters { + /** + * Required. The resource name of the Backup instance, in the format 'projects/x/locations/x/backupVaults/x/dataSources/x/backups/'. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RestoreBackupRequest; + } + + export class Resource$Projects$Locations$Datasourcereferences { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Fetch DataSourceReferences for a given project, location and resource type. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.dataSourceReferences.fetchForResourceType( + * { + * // Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * data_source * data_source_gcp_resource_info.gcp_resourcename * data_source_backup_config_state * data_source_backup_count * data_source_backup_config_info.last_backup_state * data_source_gcp_resource_info.gcp_resourcename * data_source_gcp_resource_info.type * data_source_gcp_resource_info.location * data_source_gcp_resource_info.cloud_sql_instance_properties.instance_create_time + * filter: 'placeholder-value', + * // Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * name + * orderBy: 'placeholder-value', + * // Optional. The maximum number of DataSourceReferences to return. The service may return fewer than this value. If unspecified, at most 50 DataSourceReferences will be returned. The maximum value is 100; values above 100 will be coerced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous call of `FetchDataSourceReferencesForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchDataSourceReferencesForResourceType` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent resource name. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * // Required. The type of the Google Cloud resource. Ex: sql.googleapis.com/Instance + * resourceType: 'placeholder-value', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSourceReferences": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchForResourceType( + params: Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype, + options: StreamMethodOptions + ): Promise>; + fetchForResourceType( + params?: Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + params: Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype, + callback: BodyResponseCallback + ): void; + fetchForResourceType( + callback: BodyResponseCallback + ): void; + fetchForResourceType( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1beta/{+parent}/dataSourceReferences:fetchForResourceType' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets details of a single DataSourceReference. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.dataSourceReferences.get({ + * // Required. The name of the DataSourceReference to retrieve. Format: projects/{project\}/locations/{location\}/dataSourceReferences/{data_source_reference\} + * name: 'projects/my-project/locations/my-location/dataSourceReferences/my-dataSourceReference', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "dataSource": "my_dataSource", + * // "dataSourceBackupConfigInfo": {}, + * // "dataSourceBackupConfigState": "my_dataSourceBackupConfigState", + * // "dataSourceBackupCount": "my_dataSourceBackupCount", + * // "dataSourceGcpResourceInfo": {}, + * // "name": "my_name", + * // "totalStoredBytes": "my_totalStoredBytes" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Datasourcereferences$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Datasourcereferences$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Datasourcereferences$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Datasourcereferences$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Datasourcereferences$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasourcereferences$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasourcereferences$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datasourcereferences$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists DataSourceReferences for a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.dataSourceReferences.list({ + * // Optional. A filter expression that filters the results listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The following field and operator combinations are supported: * data_source_gcp_resource_info.gcp_resourcename with `=`, `!=` * data_source_gcp_resource_info.type with `=`, `!=` + * filter: 'placeholder-value', + * // Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * data_source * data_source_gcp_resource_info.gcp_resourcename + * orderBy: 'placeholder-value', + * // Optional. The maximum number of DataSourceReferences to return. The service may return fewer than this value. If unspecified, at most 50 DataSourceReferences will be returned. The maximum value is 100; values above 100 will be coerced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListDataSourceReferences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataSourceReferences` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent resource name. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSourceReferences": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Datasourcereferences$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Datasourcereferences$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Datasourcereferences$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Datasourcereferences$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Datasourcereferences$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasourcereferences$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasourcereferences$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datasourcereferences$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/dataSourceReferences').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Datasourcereferences$Fetchforresourcetype extends StandardParameters { + /** + * Optional. A filter expression that filters the results fetched in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. Supported fields: * data_source * data_source_gcp_resource_info.gcp_resourcename * data_source_backup_config_state * data_source_backup_count * data_source_backup_config_info.last_backup_state * data_source_gcp_resource_info.gcp_resourcename * data_source_gcp_resource_info.type * data_source_gcp_resource_info.location * data_source_gcp_resource_info.cloud_sql_instance_properties.instance_create_time + */ + filter?: string; + /** + * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * name + */ + orderBy?: string; + /** + * Optional. The maximum number of DataSourceReferences to return. The service may return fewer than this value. If unspecified, at most 50 DataSourceReferences will be returned. The maximum value is 100; values above 100 will be coerced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous call of `FetchDataSourceReferencesForResourceType`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchDataSourceReferencesForResourceType` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent resource name. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + /** + * Required. The type of the Google Cloud resource. Ex: sql.googleapis.com/Instance + */ + resourceType?: string; + } + export interface Params$Resource$Projects$Locations$Datasourcereferences$Get extends StandardParameters { + /** + * Required. The name of the DataSourceReference to retrieve. Format: projects/{project\}/locations/{location\}/dataSourceReferences/{data_source_reference\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Datasourcereferences$List extends StandardParameters { + /** + * Optional. A filter expression that filters the results listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The following field and operator combinations are supported: * data_source_gcp_resource_info.gcp_resourcename with `=`, `!=` * data_source_gcp_resource_info.type with `=`, `!=` + */ + filter?: string; + /** + * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * data_source * data_source_gcp_resource_info.gcp_resourcename + */ + orderBy?: string; + /** + * Optional. The maximum number of DataSourceReferences to return. The service may return fewer than this value. If unspecified, at most 50 DataSourceReferences will be returned. The maximum value is 100; values above 100 will be coerced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListDataSourceReferences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataSourceReferences` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent resource name. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + } + + export class Resource$Projects$Locations$Managementservers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new ManagementServer in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.managementServers.create({ + * // Required. The name of the management server to create. The name must be unique for the specified project and location. + * managementServerId: 'placeholder-value', + * // Required. The management server project and location in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "baProxyUri": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "managementUri": {}, + * // "name": "my_name", + * // "networks": [], + * // "oauth2ClientId": "my_oauth2ClientId", + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "state": "my_state", + * // "type": "my_type", + * // "updateTime": "my_updateTime", + * // "workforceIdentityBasedManagementUri": {}, + * // "workforceIdentityBasedOauth2ClientId": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Managementservers$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Managementservers$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Managementservers$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Managementservers$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Managementservers$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Managementservers$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Managementservers$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Managementservers$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/managementServers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single ManagementServer. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.managementServers.delete({ + * // Required. Name of the resource + * name: 'projects/my-project/locations/my-location/managementServers/my-managementServer', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Managementservers$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Managementservers$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Managementservers$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Managementservers$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Managementservers$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Managementservers$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Managementservers$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Managementservers$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single ManagementServer. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.managementServers.get({ + * // Required. Name of the management server resource name, in the format 'projects/{project_id\}/locations/{location\}/managementServers/{resource_name\}' + * name: 'projects/my-project/locations/my-location/managementServers/my-managementServer', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "baProxyUri": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "managementUri": {}, + * // "name": "my_name", + * // "networks": [], + * // "oauth2ClientId": "my_oauth2ClientId", + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "state": "my_state", + * // "type": "my_type", + * // "updateTime": "my_updateTime", + * // "workforceIdentityBasedManagementUri": {}, + * // "workforceIdentityBasedOauth2ClientId": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Managementservers$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Managementservers$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Managementservers$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Managementservers$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Managementservers$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Managementservers$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Managementservers$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Managementservers$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.managementServers.getIamPolicy({ + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/managementServers/my-managementServer', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Managementservers$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Managementservers$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Managementservers$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Managementservers$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Managementservers$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Managementservers$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Managementservers$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Managementservers$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists ManagementServers in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.managementServers.list({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve management servers information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve management servers for all locations, use "-" for the '{location\}' value. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "managementServers": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Managementservers$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Managementservers$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Managementservers$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Managementservers$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Managementservers$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Managementservers$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Managementservers$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Managementservers$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/managementServers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the Assured Workloads compliance metadata for a given project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.managementServers.msComplianceMetadata({ + * // Required. The project and location to be used to check CSS metadata for target project information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. + * parent: 'projects/my-project/locations/my-location/managementServers', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "projectId": "my_projectId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "isAssuredWorkload": false + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + msComplianceMetadata( + params: Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata, + options: StreamMethodOptions + ): Promise>; + msComplianceMetadata( + params?: Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + msComplianceMetadata( + params: Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + msComplianceMetadata( + params: Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + msComplianceMetadata( + params: Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata, + callback: BodyResponseCallback + ): void; + msComplianceMetadata( + callback: BodyResponseCallback + ): void; + msComplianceMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}:msComplianceMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.managementServers.setIamPolicy({ + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/managementServers/my-managementServer', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {}, + * // "updateMask": "my_updateMask" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Managementservers$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Managementservers$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Managementservers$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Managementservers$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Managementservers$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Managementservers$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Managementservers$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Managementservers$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await backupdr.projects.locations.managementServers.testIamPermissions({ + * // REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/managementServers/my-managementServer', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Managementservers$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Managementservers$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Projects$Locations$Managementservers$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Managementservers$Testiampermissions, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Managementservers$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Managementservers$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Managementservers$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Managementservers$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Managementservers$Create extends StandardParameters { + /** + * Required. The name of the management server to create. The name must be unique for the specified project and location. + */ + managementServerId?: string; + /** + * Required. The management server project and location in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR locations map to Google Cloud regions, for example **us-central1**. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ManagementServer; + } + export interface Params$Resource$Projects$Locations$Managementservers$Delete extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Managementservers$Get extends StandardParameters { + /** + * Required. Name of the management server resource name, in the format 'projects/{project_id\}/locations/{location\}/managementServers/{resource_name\}' + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Managementservers$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Managementservers$List extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve management servers information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. To retrieve management servers for all locations, use "-" for the '{location\}' value. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Managementservers$Mscompliancemetadata extends StandardParameters { + /** + * Required. The project and location to be used to check CSS metadata for target project information, in the format 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FetchMsComplianceMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Managementservers$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Managementservers$Testiampermissions extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.operations.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'projects/my-project/locations/my-location', + * // The standard list page size. + * pageSize: 'placeholder-value', + * // The standard list page token. + * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Projects$Locations$Resourcebackupconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Fetches ResourceBackupConfigs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.resourceBackupConfigs.fetch({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id\}/locations/{location\}', 'folders/{folder_id\}/locations/{location\}', or 'organizations/{organization_id\}/locations/{location\}'. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "resourceBackupConfigs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetch( + params: Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch, + options: StreamMethodOptions + ): Promise>; + fetch( + params?: Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + fetch( + params: Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch, + callback: BodyResponseCallback + ): void; + fetch( + callback: BodyResponseCallback + ): void; + fetch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/resourceBackupConfigs:fetch' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists ResourceBackupConfigs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.resourceBackupConfigs.list({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The project and location for which to retrieve resource backup configs. Format: 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "resourceBackupConfigs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Resourcebackupconfigs$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Resourcebackupconfigs$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Resourcebackupconfigs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Resourcebackupconfigs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Resourcebackupconfigs$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Resourcebackupconfigs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Resourcebackupconfigs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Resourcebackupconfigs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/resourceBackupConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Resourcebackupconfigs$Fetch extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project, folder or organization and location for which to retrieve resource backup configs. Format: 'projects/{project_id\}/locations/{location\}', 'folders/{folder_id\}/locations/{location\}', or 'organizations/{organization_id\}/locations/{location\}'. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Resourcebackupconfigs$List extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will use 100 as default. Maximum value is 500 and values above 500 will be coerced to 500. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve resource backup configs. Format: 'projects/{project_id\}/locations/{location\}'. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Serviceconfig { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Initializes the service related config for a project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.serviceConfig.initialize({ + * // Required. The resource name of the serviceConfig used to initialize the service. The location must be the location of the BackupVault. Format: `projects/{project_id\}/locations/{location\}/serviceConfig`. + * name: 'projects/my-project/locations/my-location/serviceConfig', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "backupPlanLocation": "my_backupPlanLocation", + * // "cloudSqlInstanceInitializationConfig": {}, + * // "requestId": "my_requestId", + * // "resourceType": "my_resourceType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + initialize( + params: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + options: StreamMethodOptions + ): Promise>; + initialize( + params?: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + options?: MethodOptions + ): Promise>; + initialize( + params: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + initialize( + params: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + initialize( + params: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + callback: BodyResponseCallback + ): void; + initialize(callback: BodyResponseCallback): void; + initialize( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Serviceconfig$Initialize + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Serviceconfig$Initialize; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Serviceconfig$Initialize; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:initialize').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Serviceconfig$Initialize extends StandardParameters { + /** + * Required. The resource name of the serviceConfig used to initialize the service. The location must be the location of the BackupVault. Format: `projects/{project_id\}/locations/{location\}/serviceConfig`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InitializeServiceRequest; + } + + export class Resource$Projects$Locations$Trial { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Ends the trial for a project + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.trial.end({ + * // Required. The parent resource where the trial has been created. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "endReason": "my_endReason" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "endReason": "my_endReason", + * // "endTime": "my_endTime", + * // "name": "my_name", + * // "startTime": "my_startTime", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + end( + params: Params$Resource$Projects$Locations$Trial$End, + options: StreamMethodOptions + ): Promise>; + end( + params?: Params$Resource$Projects$Locations$Trial$End, + options?: MethodOptions + ): Promise>; + end( + params: Params$Resource$Projects$Locations$Trial$End, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + end( + params: Params$Resource$Projects$Locations$Trial$End, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + end( + params: Params$Resource$Projects$Locations$Trial$End, + callback: BodyResponseCallback + ): void; + end(callback: BodyResponseCallback): void; + end( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Trial$End + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Trial$End; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Trial$End; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/trial:end').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Subscribes to a trial for a project + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/backupdr.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const backupdr = google.backupdr('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-backupdr', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await backupdr.projects.locations.trial.subscribe({ + * // Required. The project where this trial will be created. Format: projects/{project\}/locations/{location\} Supported Locations are - us, eu and asia. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "endReason": "my_endReason", + * // "endTime": "my_endTime", + * // "name": "my_name", + * // "startTime": "my_startTime", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + subscribe( + params: Params$Resource$Projects$Locations$Trial$Subscribe, + options: StreamMethodOptions + ): Promise>; + subscribe( + params?: Params$Resource$Projects$Locations$Trial$Subscribe, + options?: MethodOptions + ): Promise>; + subscribe( + params: Params$Resource$Projects$Locations$Trial$Subscribe, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + subscribe( + params: Params$Resource$Projects$Locations$Trial$Subscribe, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + subscribe( + params: Params$Resource$Projects$Locations$Trial$Subscribe, + callback: BodyResponseCallback + ): void; + subscribe(callback: BodyResponseCallback): void; + subscribe( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Trial$Subscribe + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Trial$Subscribe; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Trial$Subscribe; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/trial:subscribe').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Trial$End extends StandardParameters { + /** + * Required. The parent resource where the trial has been created. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EndTrialRequest; + } + export interface Params$Resource$Projects$Locations$Trial$Subscribe extends StandardParameters { + /** + * Required. The project where this trial will be created. Format: projects/{project\}/locations/{location\} Supported Locations are - us, eu and asia. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SubscribeTrialRequest; + } +} diff --git a/src/apis/baremetalsolution/package.json b/src/apis/baremetalsolution/package.json index df9c21958fc..c2d5f8d6aa5 100644 --- a/src/apis/baremetalsolution/package.json +++ b/src/apis/baremetalsolution/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/batch/package.json b/src/apis/batch/package.json index 7786fc4b478..c3b02285012 100644 --- a/src/apis/batch/package.json +++ b/src/apis/batch/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/beyondcorp/package.json b/src/apis/beyondcorp/package.json index 38318e820f3..aece308f41b 100644 --- a/src/apis/beyondcorp/package.json +++ b/src/apis/beyondcorp/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/biglake/package.json b/src/apis/biglake/package.json index f86460d0751..dfd960ff22f 100644 --- a/src/apis/biglake/package.json +++ b/src/apis/biglake/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/bigquery/package.json b/src/apis/bigquery/package.json index 8fba8bd5187..4bf674ad41b 100644 --- a/src/apis/bigquery/package.json +++ b/src/apis/bigquery/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/bigqueryconnection/package.json b/src/apis/bigqueryconnection/package.json index f4098f41875..a2bbb249382 100644 --- a/src/apis/bigqueryconnection/package.json +++ b/src/apis/bigqueryconnection/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/bigquerydatapolicy/README.md b/src/apis/bigquerydatapolicy/README.md index 42948429666..a7c46cd2b75 100644 --- a/src/apis/bigquerydatapolicy/README.md +++ b/src/apis/bigquerydatapolicy/README.md @@ -8,8 +8,8 @@ **Note**: Google provides multiple libraries for this service. This library is in maintenance mode, and will continue to be made available for users who have existing applications. If you're building a new application, or modernizing a -legacy application, please use [@google-cloud/bigquery-data-exchange](https://www.npmjs.com/package/@google-cloud/bigquery-data-exchange) instead. -The [@google-cloud/bigquery-data-exchange](https://www.npmjs.com/package/@google-cloud/bigquery-data-exchange) library is faster, easier to use, and better maintained. +legacy application, please use [@google-cloud/bigquery-datapolicies](https://www.npmjs.com/package/@google-cloud/bigquery-datapolicies) instead. +The [@google-cloud/bigquery-datapolicies](https://www.npmjs.com/package/@google-cloud/bigquery-datapolicies) library is faster, easier to use, and better maintained. To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). diff --git a/src/apis/bigquerydatapolicy/package.json b/src/apis/bigquerydatapolicy/package.json index 27af11d9276..891824a17a7 100644 --- a/src/apis/bigquerydatapolicy/package.json +++ b/src/apis/bigquerydatapolicy/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/bigquerydatatransfer/package.json b/src/apis/bigquerydatatransfer/package.json index eeb6d5871f9..80d9f8e27f7 100644 --- a/src/apis/bigquerydatatransfer/package.json +++ b/src/apis/bigquerydatatransfer/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/bigquerydatatransfer/v1.ts b/src/apis/bigquerydatatransfer/v1.ts index 5945bedc8b9..799c46ef7a4 100644 --- a/src/apis/bigquerydatatransfer/v1.ts +++ b/src/apis/bigquerydatatransfer/v1.ts @@ -279,6 +279,10 @@ export namespace bigquerydatatransfer_v1 { * Is parameter required. */ required?: boolean | null; + /** + * Output only. If true, the parameter value can be provided through Secret Manager. + */ + secretManagerAllowed?: boolean | null; /** * Parameter type. */ @@ -465,6 +469,15 @@ export namespace bigquerydatatransfer_v1 { */ dataplexConfiguration?: Schema$DataplexConfiguration; } + /** + * Configuration for data source parameters. + */ + export interface Schema$ParameterConfig { + /** + * Optional. The list of parameters that are stored in Secret Manager. The value of a parameter included in this list will be interpreted as a Secret Manager key version resource name instead of a raw value. The raw value will be retrieved from Secret Manager upon execution. + */ + secretManagerManagedParams?: string[] | null; + } /** * Partition details related to hierarchy. */ @@ -672,6 +685,10 @@ export namespace bigquerydatatransfer_v1 { * 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. */ ownerInfo?: Schema$UserInfo; + /** + * Optional. The config for values in `params`. + */ + paramConfig?: Schema$ParameterConfig; /** * Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq */ @@ -808,6 +825,10 @@ export namespace bigquerydatatransfer_v1 { * 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_id\}/topics/{topic_id\}` */ notificationPubsubTopic?: string | null; + /** + * Output only. The parameter config of the transfer run. + */ + parameterConfig?: Schema$ParameterConfig; /** * Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq */ @@ -2801,6 +2822,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -2830,6 +2852,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -3133,6 +3156,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -3452,6 +3476,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -3481,6 +3506,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -4206,6 +4232,7 @@ export namespace bigquerydatatransfer_v1 { * // "errorStatus": {}, * // "name": "my_name", * // "notificationPubsubTopic": "my_notificationPubsubTopic", + * // "parameterConfig": {}, * // "params": {}, * // "runTime": "my_runTime", * // "schedule": "my_schedule", @@ -5092,6 +5119,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -5121,6 +5149,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -5419,6 +5448,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -5736,6 +5766,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -5765,6 +5796,7 @@ export namespace bigquerydatatransfer_v1 { * // "nextRunTime": "my_nextRunTime", * // "notificationPubsubTopic": "my_notificationPubsubTopic", * // "ownerInfo": {}, + * // "paramConfig": {}, * // "params": {}, * // "schedule": "my_schedule", * // "scheduleOptions": {}, @@ -6478,6 +6510,7 @@ export namespace bigquerydatatransfer_v1 { * // "errorStatus": {}, * // "name": "my_name", * // "notificationPubsubTopic": "my_notificationPubsubTopic", + * // "parameterConfig": {}, * // "params": {}, * // "runTime": "my_runTime", * // "schedule": "my_schedule", diff --git a/src/apis/bigqueryreservation/package.json b/src/apis/bigqueryreservation/package.json index b31c22bcf7a..4d873990296 100644 --- a/src/apis/bigqueryreservation/package.json +++ b/src/apis/bigqueryreservation/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/bigqueryreservation/v1.ts b/src/apis/bigqueryreservation/v1.ts index 5b975d93c89..e50d86d67da 100644 --- a/src/apis/bigqueryreservation/v1.ts +++ b/src/apis/bigqueryreservation/v1.ts @@ -153,7 +153,7 @@ export namespace bigqueryreservation_v1 { */ precedence?: string | null; /** - * Optional. Represents the principal for this assignment. If not empty, jobs run by this principal will utilize the associated reservation. Otherwise, jobs will fall back to using the reservation assigned to the project, folder, or organization (in that order). If no reservation is assigned at any of these levels, on-demand capacity will be used. The supported formats are: * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` for service accounts, * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` for workload identity pool identities. * The special value `unknown_or_deleted_user` represents principals which cannot be read from the user info service, for example deleted users. + * Optional. Represents the principal for this assignment. If not empty, jobs run by this principal utilize the associated reservation. Otherwise, jobs fall back to using the reservation assigned to the project, folder, or organization, in that order. If no reservation is assigned at any of these levels, on-demand capacity is used. The supported formats are: * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` for service accounts, * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` for workload identity pool identities. * The special value `unknown_or_deleted_user` represents principals which cannot be read from the user info service, for example, deleted users. */ principal?: string | null; /** diff --git a/src/apis/bigtableadmin/package.json b/src/apis/bigtableadmin/package.json index 9be1cb46665..3a5f95d3c5b 100644 --- a/src/apis/bigtableadmin/package.json +++ b/src/apis/bigtableadmin/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/billingbudgets/package.json b/src/apis/billingbudgets/package.json index d5cdcf8bec3..b5ce5c896bb 100644 --- a/src/apis/billingbudgets/package.json +++ b/src/apis/billingbudgets/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/binaryauthorization/package.json b/src/apis/binaryauthorization/package.json index e574ba02ada..769ad8b3ccc 100644 --- a/src/apis/binaryauthorization/package.json +++ b/src/apis/binaryauthorization/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/blockchainnodeengine/package.json b/src/apis/blockchainnodeengine/package.json index 729d3d0033b..32abaff327d 100644 --- a/src/apis/blockchainnodeengine/package.json +++ b/src/apis/blockchainnodeengine/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/blogger/package.json b/src/apis/blogger/package.json index 45ef0a2f4a3..ba4a4cddbe2 100644 --- a/src/apis/blogger/package.json +++ b/src/apis/blogger/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/books/package.json b/src/apis/books/package.json index 9206b775685..52ff83867ed 100644 --- a/src/apis/books/package.json +++ b/src/apis/books/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/businessprofileperformance/package.json b/src/apis/businessprofileperformance/package.json index a8a9b044af1..8c370b197c8 100644 --- a/src/apis/businessprofileperformance/package.json +++ b/src/apis/businessprofileperformance/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/calendar/package.json b/src/apis/calendar/package.json index 9d2a0532868..a1158f59dda 100644 --- a/src/apis/calendar/package.json +++ b/src/apis/calendar/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/certificatemanager/package.json b/src/apis/certificatemanager/package.json index 346a0952523..e9780f4dabc 100644 --- a/src/apis/certificatemanager/package.json +++ b/src/apis/certificatemanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/ces/package.json b/src/apis/ces/package.json index 26e4f9bc8bb..3c7695b6c9e 100644 --- a/src/apis/ces/package.json +++ b/src/apis/ces/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/ces/v1.ts b/src/apis/ces/v1.ts index 58a95ebdee6..12e3f3112d0 100644 --- a/src/apis/ces/v1.ts +++ b/src/apis/ces/v1.ts @@ -230,6 +230,10 @@ export namespace ces_v1 { * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` */ name?: string | null; + /** + * Optional. The remote [A2A](https://github.com/a2aproject/A2A) agent to be used for the agent execution. + */ + remoteA2aAgent?: Schema$AgentRemoteA2aAgent; /** * Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. */ @@ -318,6 +322,24 @@ export namespace ces_v1 { * Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model. */ export interface Schema$AgentLlmAgent {} + /** + * Configuration and status for Agent Registry deployment. + */ + export interface Schema$AgentRegistryDeployment { + /** + * Optional. Output only. The resource name of the deployed Agent Registry service. Format: `projects/{project\}/locations/{location\}/services/{service\}` + */ + agentRegistryServiceName?: string | null; + } + /** + * The agent which will transfer execution to a remote [A2A](https://github.com/a2aproject/A2A) agent. + */ + export interface Schema$AgentRemoteA2aAgent { + /** + * Required. The A2A connection configuration. + */ + a2aConfig?: Schema$RemoteA2aConfig; + } /** * The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent. */ @@ -493,6 +515,10 @@ export namespace ces_v1 { * Output only. Timestamp when the app was created. */ createTime?: string | null; + /** + * Optional. App-specific dashboard settings for linking and configuring Contact Center Insights dashboards. + */ + dashboardSettings?: Schema$DashboardSettings; /** * Optional. The data store settings for the app. */ @@ -672,6 +698,10 @@ export namespace ces_v1 { * Output only. The snapshot of the app when the version is created. */ snapshot?: Schema$AppSnapshot; + /** + * Output only. Timestamp when the app version was last updated. + */ + updateTime?: string | null; } /** * Configuration for how the input and output audio should be processed and delivered. @@ -685,6 +715,10 @@ export namespace ces_v1 { * Optional. Configures the agent behavior for the user barge-in activities. */ bargeInConfig?: Schema$BargeInConfig; + /** + * Optional. Configures custom voice samples for voice cloning. + */ + customVoiceSamples?: Schema$CustomVoiceSample[]; /** * Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement. */ @@ -1043,6 +1077,10 @@ export namespace ces_v1 { * List of cited pieces of information. */ citedChunks?: Schema$CitationsCitedChunk[]; + /** + * Optional. List of inline citations in the agent response. + */ + inlineCitations?: Schema$CitationsInlineCitation[]; } /** * Piece of cited information. @@ -1065,6 +1103,23 @@ export namespace ces_v1 { */ uri?: string | null; } + /** + * An inline citation in the response text. + */ + export interface Schema$CitationsInlineCitation { + /** + * The indices of the cited chunks that back this text segment. Indices refer to the elements in `cited_chunks`. + */ + citedChunkIndices?: number[] | null; + /** + * The ending index (in bytes) of the text segment in the agent response. + */ + endIndex?: number | null; + /** + * The starting index (in bytes) of the text segment in the agent response. + */ + startIndex?: number | null; + } /** * Settings for custom client certificates. */ @@ -1241,23 +1296,53 @@ export namespace ces_v1 { * Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing. */ messages?: Schema$Message[]; - /** - * Output only. The full dynamically resolved developer instruction generated from templates. This field is only populated on-demand when requested during history retrieval. It is not persisted. - */ - resolvedDeveloperInstruction?: string | null; /** * Optional. The root span of the action processing. */ rootSpan?: Schema$Span; - /** - * Optional. Variables or configurations referenced by the template engine during dynamic prompt generation. This allows reconstructing the exact prompt sent to the model for this turn. - */ - templateAttributes?: {[key: string]: any} | null; /** * Optional. The intended ground-truth text from the Simulated Caller (Polysynth). Only populated when word error rate metrics are enabled. */ userIntendedText?: string | null; } + /** + * Configuration for a custom voice sample used for voice cloning. + */ + export interface Schema$CustomVoiceSample { + /** + * Optional. Consent audio for voice cloning. + */ + consentAudioGcsUri?: string | null; + /** + * Optional. The user-defined name for the custom voice sample. + */ + name?: string | null; + /** + * Output only. Synthesized preview audio for custom voice, formatted as canonical WAV (LINEAR16, 24kHz, 16-bit, mono). + */ + previewAudioContent?: string | null; + /** + * Optional. Text for synthesizing preview audio for custom voice. + */ + previewText?: string | null; + /** + * Optional. Natural language instructions for voice style, tone, pacing, or pronunciation. + */ + voiceInstruction?: string | null; + /** + * Optional. The Cloud Storage URI to the audio sample for voice cloning. The audio sample should be a mono-channel, 24kHz WAV file. + */ + voiceSampleGcsUri?: string | null; + } + /** + * Settings for dashboards associated with the app, that show up in the Monitoring view. + */ + export interface Schema$DashboardSettings { + /** + * Optional. The resource name of the default Contact Center Insights dashboard associated with the app. This is the dashboard that will be displayed when users navigate to the Monitoring view for the app. Format: `projects/{project\}/locations/{location\}/dashboards/{dashboard\}` + */ + defaultDashboard?: string | null; + } /** * A DataStore resource in Vertex AI Search. */ @@ -1525,6 +1610,10 @@ export namespace ces_v1 { * Optional. Whether snippets are enabled. */ enableSnippets?: boolean | null; + /** + * Optional. Number of snippets to return per query. If unset, returns all snippets from the service by default. + */ + maxSnippets?: number | null; } /** * Summarization configuration. @@ -1543,10 +1632,23 @@ export namespace ces_v1 { */ prompt?: string | null; } + /** + * Response message for AgentService.DeployChannel. + */ + export interface Schema$DeployChannelResponse { + /** + * The created deployment. + */ + deployment?: Schema$Deployment; + } /** * A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile. */ export interface Schema$Deployment { + /** + * Optional. Configuration for deploying this deployment to Agent Registry. If present, this deployment will be published to Agent Registry. + */ + agentRegistryDeployment?: Schema$AgentRegistryDeployment; /** * Optional. The resource name of the app version to deploy. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` Use `projects/{project\}/locations/{location\}/apps/{app\}/versions/-` to use the draft app. */ @@ -2249,6 +2351,10 @@ export namespace ces_v1 { * Represents an image input or output in the conversation. */ export interface Schema$Image { + /** + * Optional. The alternative text for the image. + */ + altText?: string | null; /** * Required. Raw bytes of the image. */ @@ -2286,6 +2392,14 @@ export namespace ces_v1 { * Optional. Options governing the import process for the app. */ importOptions?: Schema$ImportAppRequestImportOptions; + /** + * Optional. Patch content as a JSON string. + */ + jsonPatchContent?: string | null; + /** + * Optional. A Cloud Storage URI pointing to a JSON file containing the patches. + */ + jsonPatchGcsUri?: string | null; } /** * Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data. @@ -2947,6 +3061,27 @@ export namespace ces_v1 { */ task?: Schema$LfA2aV1Task; } + /** + * A wrapper object used in streaming operations to encapsulate different types of response data. + */ + export interface Schema$LfA2aV1StreamResponse { + /** + * An event indicating a task artifact update. + */ + artifactUpdate?: Schema$LfA2aV1TaskArtifactUpdateEvent; + /** + * A Message object containing a message from the agent. + */ + message?: Schema$LfA2aV1Message; + /** + * An event indicating a task status update. + */ + statusUpdate?: Schema$LfA2aV1TaskStatusUpdateEvent; + /** + * A Task object containing the current state of the task. + */ + task?: Schema$LfA2aV1Task; + } /** * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings. */ @@ -2985,6 +3120,35 @@ export namespace ces_v1 { */ status?: Schema$LfA2aV1TaskStatus; } + /** + * A task delta where an artifact has been generated. + */ + export interface Schema$LfA2aV1TaskArtifactUpdateEvent { + /** + * If true, the content of this artifact should be appended to a previously sent artifact with the same ID. + */ + append?: boolean | null; + /** + * Required. The artifact that was generated or updated. + */ + artifact?: Schema$LfA2aV1Artifact; + /** + * Required. The ID of the context that this task belongs to. + */ + contextId?: string | null; + /** + * If true, this is the final chunk of the artifact. + */ + lastChunk?: boolean | null; + /** + * Optional. Metadata associated with the artifact update. + */ + metadata?: {[key: string]: any} | null; + /** + * Required. The ID of the task for this artifact. + */ + taskId?: string | null; + } /** * A container associating a push notification configuration with a specific task. */ @@ -3031,6 +3195,27 @@ export namespace ces_v1 { */ timestamp?: string | null; } + /** + * An event sent by the agent to notify the client of a change in a task's status. + */ + export interface Schema$LfA2aV1TaskStatusUpdateEvent { + /** + * Required. The ID of the context that the task belongs to. + */ + contextId?: string | null; + /** + * Optional. Metadata associated with the task update. + */ + metadata?: {[key: string]: any} | null; + /** + * Required. The new status of the task. + */ + status?: Schema$LfA2aV1TaskStatus; + /** + * Required. The ID of the task that has changed. + */ + taskId?: string | null; + } /** * Response message for AgentService.ListAgents. */ @@ -3651,6 +3836,39 @@ export namespace ces_v1 { */ inspectTemplate?: string | null; } + /** + * Shared configuration for connecting to a remote [A2A](https://github.com/a2aproject/A2A) agent. + */ + export interface Schema$RemoteA2aConfig { + /** + * Optional. The full agent card defined inline. + */ + agentCard?: Schema$AgentCard; + /** + * Optional. Reference to the agent in the Agent Registry. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + agentRegistry?: string | null; + /** + * Optional. Authentication configuration for calling the remote agent. Optional if the registry reference already handles authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. If not empty, interactions with the remote A2A agent will use this context ID. This context_id field can refer to a session variable like `$context.variables.order_agent_session_id`. + */ + contextId?: string | null; + /** + * Optional. Mapping of input variable names of remote agent to GECX variable names. + */ + inputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. Mapping of output variable names of remote agent to GECX variable names. + */ + outputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. Whether streaming is enabled for the remote agent. + */ + streamingEnabled?: boolean | null; + } /** * Represents a tool that allows the agent to call another remote agent. */ @@ -3659,6 +3877,10 @@ export namespace ces_v1 { * Required. The agent card of the remote agent that this tool invokes. */ agentCard?: Schema$AgentCard; + /** + * Optional. Authentication configuration for calling the remote agent. + */ + apiAuthentication?: Schema$ApiAuthentication; /** * Required. The description of the tool. */ @@ -4013,10 +4235,18 @@ export namespace ces_v1 { * The suggestions returned from Google Search as a result of invoking the GoogleSearchTool. */ googleSearchSuggestions?: Schema$GoogleSearchSuggestions; + /** + * Output image from the CES agent. + */ + image?: Schema$Image; /** * Custom payload with structured output from the CES agent. */ payload?: {[key: string]: any} | null; + /** + * Intermediate progress update from the CES agent. + */ + progress?: string | null; /** * Output text from the CES agent. */ @@ -4259,6 +4489,10 @@ export namespace ces_v1 { * Request for the client or the agent to execute the specified tool. */ export interface Schema$ToolCall { + /** + * Output only. Human-readable name of the agent that issued this call, e.g. "Contract Architect". Empty when the root agent issued it. + */ + agentName?: string | null; /** * Optional. The input parameters and values for the tool in JSON object format. */ @@ -4271,6 +4505,10 @@ export namespace ces_v1 { * Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse. */ id?: string | null; + /** + * Output only. The id of the tool call that caused this one, when it was issued by a sub-agent working on behalf of a parent call. Empty for top-level calls. Lets a client group a sub-agent's work under the call that started it instead of rendering every step as a sibling. + */ + parentToolCallId?: string | null; /** * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` */ @@ -4306,6 +4544,10 @@ export namespace ces_v1 { * The execution result of a specific tool from the client or the agent. */ export interface Schema$ToolResponse { + /** + * Output only. Human-readable name of the agent that issued this call, e.g. "Contract Architect". Empty when the root agent issued it. + */ + agentName?: string | null; /** * Output only. Display name of the tool. */ @@ -4314,6 +4556,10 @@ export namespace ces_v1 { * Optional. The matching ID of the tool call the response is for. */ id?: string | null; + /** + * Output only. The id of the tool call that caused this one, when it was issued by a sub-agent working on behalf of a parent call. Empty for top-level calls. Lets a client group a sub-agent's work under the call that started it instead of rendering every step as a sibling. + */ + parentToolCallId?: string | null; /** * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. */ @@ -5060,6 +5306,7 @@ export namespace ces_v1 { * // "audioProcessingConfig": {}, * // "clientCertificateSettings": {}, * // "createTime": "my_createTime", + * // "dashboardSettings": {}, * // "dataStoreSettings": {}, * // "defaultChannelProfile": {}, * // "deploymentCount": 0, @@ -5690,6 +5937,7 @@ export namespace ces_v1 { * // "audioProcessingConfig": {}, * // "clientCertificateSettings": {}, * // "createTime": "my_createTime", + * // "dashboardSettings": {}, * // "dataStoreSettings": {}, * // "defaultChannelProfile": {}, * // "deploymentCount": 0, @@ -6011,7 +6259,9 @@ export namespace ces_v1 { * // "displayName": "my_displayName", * // "gcsUri": "my_gcsUri", * // "ignoreAppLock": false, - * // "importOptions": {} + * // "importOptions": {}, + * // "jsonPatchContent": "my_jsonPatchContent", + * // "jsonPatchGcsUri": "my_jsonPatchGcsUri" * // } * }, * }); @@ -6314,6 +6564,7 @@ export namespace ces_v1 { * // "audioProcessingConfig": {}, * // "clientCertificateSettings": {}, * // "createTime": "my_createTime", + * // "dashboardSettings": {}, * // "dataStoreSettings": {}, * // "defaultChannelProfile": {}, * // "deploymentCount": 0, @@ -6349,6 +6600,7 @@ export namespace ces_v1 { * // "audioProcessingConfig": {}, * // "clientCertificateSettings": {}, * // "createTime": "my_createTime", + * // "dashboardSettings": {}, * // "dataStoreSettings": {}, * // "defaultChannelProfile": {}, * // "deploymentCount": 0, @@ -6810,6 +7062,7 @@ export namespace ces_v1 { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -6840,6 +7093,7 @@ export namespace ces_v1 { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -7139,6 +7393,7 @@ export namespace ces_v1 { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -7448,6 +7703,7 @@ export namespace ces_v1 { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -7478,6 +7734,7 @@ export namespace ces_v1 { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -8318,8 +8575,6 @@ export namespace ces_v1 { * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', * // Optional. Indicate the source of the conversation. If not set, all source will be searched. * source: 'placeholder-value', - * // Optional. The view specifying which fields in the response should be populated. - * view: 'placeholder-value', * }); * console.log(res.data); * @@ -8620,10 +8875,6 @@ export namespace ces_v1 { * Optional. Indicate the source of the conversation. If not set, all source will be searched. */ source?: string; - /** - * Optional. The view specifying which fields in the response should be populated. - */ - view?: string; } export interface Params$Resource$Projects$Locations$Apps$Conversations$List extends StandardParameters { /** @@ -8705,6 +8956,7 @@ export namespace ces_v1 { * requestBody: { * // request body parameters * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -8724,6 +8976,7 @@ export namespace ces_v1 { * * // Example response * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -9012,6 +9265,7 @@ export namespace ces_v1 { * * // Example response * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -9467,6 +9721,7 @@ export namespace ces_v1 { * requestBody: { * // request body parameters * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -9486,6 +9741,7 @@ export namespace ces_v1 { * * // Example response * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -9826,28 +10082,9 @@ export namespace ces_v1 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Apps$Deployments$Message$Send extends StandardParameters { - /** - * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. - */ - tenant?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LfA2aV1SendMessageRequest; - } - - export class Resource$Projects$Locations$Apps$Examples { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new example in the given app. + * Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage` * @example * ```js * // Before running the sample: @@ -9879,25 +10116,18 @@ export namespace ces_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await ces.projects.locations.apps.examples.create({ - * // Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. - * exampleId: 'placeholder-value', - * // Required. The resource name of the app to create an example in. - * parent: 'projects/my-project/locations/my-location/apps/my-app', + * const res = await ces.projects.locations.apps.deployments.message.stream({ + * // Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + * tenant: + * 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "entryAgent": "my_entryAgent", - * // "etag": "my_etag", - * // "invalid": false, - * // "messages": [], - * // "name": "my_name", - * // "updateTime": "my_updateTime" + * // "configuration": {}, + * // "message": {}, + * // "metadata": {} * // } * }, * }); @@ -9905,15 +10135,10 @@ export namespace ces_v1 { * * // Example response * // { - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "entryAgent": "my_entryAgent", - * // "etag": "my_etag", - * // "invalid": false, - * // "messages": [], - * // "name": "my_name", - * // "updateTime": "my_updateTime" + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} * // } * } * @@ -9929,52 +10154,55 @@ export namespace ces_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Apps$Examples$Create, + stream( + params: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Apps$Examples$Create, + stream( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Apps$Examples$Create, + ): Promise>; + stream( + params: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Apps$Examples$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + stream( + params: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Apps$Examples$Create, - callback: BodyResponseCallback + stream( + params: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + stream(callback: BodyResponseCallback): void; + stream( paramsOrCallback?: - | Params$Resource$Projects$Locations$Apps$Examples$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Apps$Examples$Create; + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Apps$Examples$Create; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream; options = {}; } @@ -9987,7 +10215,7 @@ export namespace ces_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/examples').replace( + url: (rootUrl + '/v1/{+tenant}/message:stream').replace( /([^:]\/)\/+/g, '$1' ), @@ -9997,33 +10225,228 @@ export namespace ces_v1 { options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['tenant'], + pathParams: ['tenant'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Message$Send extends StandardParameters { /** - * Deletes the specified example. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/ces.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream extends StandardParameters { + /** + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } + + export class Resource$Projects$Locations$Apps$Examples { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new example in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.create({ + * // Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + * exampleId: 'placeholder-value', + * // Required. The resource name of the app to create an example in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Examples$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/examples').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh * // $ npm install googleapis * // ``` * @@ -11693,28 +12116,9 @@ export namespace ces_v1 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Apps$Message$Send extends StandardParameters { - /** - * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. - */ - tenant?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LfA2aV1SendMessageRequest; - } - - export class Resource$Projects$Locations$Apps$Sessions { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Generates a session scoped token for chat widget to authenticate with Session APIs. + * Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage` * @example * ```js * // Before running the sample: @@ -11746,17 +12150,17 @@ export namespace ces_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await ces.projects.locations.apps.sessions.generateChatToken({ - * // Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} - * name: 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * const res = await ces.projects.locations.apps.message.stream({ + * // Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + * tenant: 'projects/my-project/locations/my-location/apps/my-app', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "deployment": "my_deployment", - * // "liveHandoffEnabled": false, - * // "recaptchaToken": "my_recaptchaToken" + * // "configuration": {}, + * // "message": {}, + * // "metadata": {} * // } * }, * }); @@ -11764,8 +12168,10 @@ export namespace ces_v1 { * * // Example response * // { - * // "chatToken": "my_chatToken", - * // "expireTime": "my_expireTime" + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} * // } * } * @@ -11781,31 +12187,213 @@ export namespace ces_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - generateChatToken( - params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + stream( + params: Params$Resource$Projects$Locations$Apps$Message$Stream, options: StreamMethodOptions ): Promise>; - generateChatToken( - params?: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + stream( + params?: Params$Resource$Projects$Locations$Apps$Message$Stream, options?: MethodOptions - ): Promise>; - generateChatToken( - params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + ): Promise>; + stream( + params: Params$Resource$Projects$Locations$Apps$Message$Stream, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - generateChatToken( - params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + stream( + params: Params$Resource$Projects$Locations$Apps$Message$Stream, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generateChatToken( - params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, - callback: BodyResponseCallback + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - generateChatToken( - callback: BodyResponseCallback + stream( + params: Params$Resource$Projects$Locations$Apps$Message$Stream, + callback: BodyResponseCallback + ): void; + stream(callback: BodyResponseCallback): void; + stream( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Message$Stream + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Message$Stream; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Message$Stream; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+tenant}/message:stream').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant'], + pathParams: ['tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Message$Send extends StandardParameters { + /** + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Message$Stream extends StandardParameters { + /** + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } + + export class Resource$Projects$Locations$Apps$Sessions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Generates a session scoped token for chat widget to authenticate with Session APIs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.sessions.generateChatToken({ + * // Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + * name: 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "deployment": "my_deployment", + * // "liveHandoffEnabled": false, + * // "recaptchaToken": "my_recaptchaToken" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "chatToken": "my_chatToken", + * // "expireTime": "my_expireTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions + ): Promise>; + generateChatToken( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options?: MethodOptions + ): Promise>; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + callback: BodyResponseCallback + ): void; + generateChatToken( + callback: BodyResponseCallback ): void; generateChatToken( paramsOrCallback?: @@ -14183,7 +14771,8 @@ export namespace ces_v1 { * // "displayName": "my_displayName", * // "etag": "my_etag", * // "name": "my_name", - * // "snapshot": {} + * // "snapshot": {}, + * // "updateTime": "my_updateTime" * // } * }, * }); @@ -14197,7 +14786,8 @@ export namespace ces_v1 { * // "displayName": "my_displayName", * // "etag": "my_etag", * // "name": "my_name", - * // "snapshot": {} + * // "snapshot": {}, + * // "updateTime": "my_updateTime" * // } * } * @@ -14478,7 +15068,8 @@ export namespace ces_v1 { * // "displayName": "my_displayName", * // "etag": "my_etag", * // "name": "my_name", - * // "snapshot": {} + * // "snapshot": {}, + * // "updateTime": "my_updateTime" * // } * } * @@ -14880,6 +15471,166 @@ export namespace ces_v1 { } } + /** + * Updates the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.patch({ + * // Identifier. The unique identifier of the app version. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * // Optional. The list of fields to update. If empty, fields `display_name` and `description` will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Versions$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Versions$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Versions$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Versions$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Versions$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version. * @example @@ -15089,6 +15840,21 @@ export namespace ces_v1 { */ parent?: string; } + export interface Params$Resource$Projects$Locations$Apps$Versions$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the app version. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + name?: string; + /** + * Optional. The list of fields to update. If empty, fields `display_name` and `description` will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AppVersion; + } export interface Params$Resource$Projects$Locations$Apps$Versions$Restore extends StandardParameters { /** * Required. The resource name of the app version to restore. @@ -15262,6 +16028,162 @@ export namespace ces_v1 { return createAPIRequest(parameters); } } + + /** + * Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.message.stream({ + * // Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + * tenant: + * 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "configuration": {}, + * // "message": {}, + * // "metadata": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stream( + params: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + options: StreamMethodOptions + ): Promise>; + stream( + params?: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + options?: MethodOptions + ): Promise>; + stream( + params: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stream( + params: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stream( + params: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + callback: BodyResponseCallback + ): void; + stream(callback: BodyResponseCallback): void; + stream( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Message$Stream + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Message$Stream; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Versions$Message$Stream; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+tenant}/message:stream').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant'], + pathParams: ['tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Apps$Versions$Message$Send extends StandardParameters { @@ -15275,6 +16197,17 @@ export namespace ces_v1 { */ requestBody?: Schema$LfA2aV1SendMessageRequest; } + export interface Params$Resource$Projects$Locations$Apps$Versions$Message$Stream extends StandardParameters { + /** + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } export class Resource$Projects$Locations$Operations { context: APIRequestContext; diff --git a/src/apis/ces/v1beta.ts b/src/apis/ces/v1beta.ts index bf89f202664..fe086cf7e04 100644 --- a/src/apis/ces/v1beta.ts +++ b/src/apis/ces/v1beta.ts @@ -230,6 +230,10 @@ export namespace ces_v1beta { * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` */ name?: string | null; + /** + * Optional. The remote [A2A](https://github.com/a2aproject/A2A) agent to be used for the agent execution. + */ + remoteA2aAgent?: Schema$AgentRemoteA2aAgent; /** * Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. */ @@ -318,6 +322,24 @@ export namespace ces_v1beta { * Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model. */ export interface Schema$AgentLlmAgent {} + /** + * Configuration and status for Agent Registry deployment. + */ + export interface Schema$AgentRegistryDeployment { + /** + * Optional. Output only. The resource name of the deployed Agent Registry service. Format: `projects/{project\}/locations/{location\}/services/{service\}` + */ + agentRegistryServiceName?: string | null; + } + /** + * The agent which will transfer execution to a remote [A2A](https://github.com/a2aproject/A2A) agent. + */ + export interface Schema$AgentRemoteA2aAgent { + /** + * Required. The A2A connection configuration. + */ + a2aConfig?: Schema$RemoteA2aConfig; + } /** * The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent. */ @@ -629,6 +651,10 @@ export namespace ces_v1beta { * Output only. Timestamp when the app was created. */ createTime?: string | null; + /** + * Optional. App-specific dashboard settings for linking and configuring Contact Center Insights dashboards. + */ + dashboardSettings?: Schema$DashboardSettings; /** * Optional. The data store settings for the app. */ @@ -816,6 +842,10 @@ export namespace ces_v1beta { * Output only. The snapshot of the app when the version is created. */ snapshot?: Schema$AppSnapshot; + /** + * Output only. Timestamp when the app version was last updated. + */ + updateTime?: string | null; } /** * Configuration for how the input and output audio should be processed and delivered. @@ -829,6 +859,10 @@ export namespace ces_v1beta { * Optional. Configures the agent behavior for the user barge-in activities. */ bargeInConfig?: Schema$BargeInConfig; + /** + * Optional. Configures custom voice samples for voice cloning. + */ + customVoiceSamples?: Schema$CustomVoiceSample[]; /** * Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement. */ @@ -1204,6 +1238,10 @@ export namespace ces_v1beta { * List of cited pieces of information. */ citedChunks?: Schema$CitationsCitedChunk[]; + /** + * Optional. List of inline citations in the agent response. + */ + inlineCitations?: Schema$CitationsInlineCitation[]; } /** * Piece of cited information. @@ -1226,6 +1264,23 @@ export namespace ces_v1beta { */ uri?: string | null; } + /** + * An inline citation in the response text. + */ + export interface Schema$CitationsInlineCitation { + /** + * The indices of the cited chunks that back this text segment. Indices refer to the elements in `cited_chunks`. + */ + citedChunkIndices?: number[] | null; + /** + * The ending index (in bytes) of the text segment in the agent response. + */ + endIndex?: number | null; + /** + * The starting index (in bytes) of the text segment in the agent response. + */ + startIndex?: number | null; + } /** * Settings for custom client certificates. */ @@ -1402,23 +1457,53 @@ export namespace ces_v1beta { * Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing. */ messages?: Schema$Message[]; - /** - * Output only. The full dynamically resolved developer instruction generated from templates. This field is only populated on-demand when requested during history retrieval. It is not persisted. - */ - resolvedDeveloperInstruction?: string | null; /** * Optional. The root span of the action processing. */ rootSpan?: Schema$Span; - /** - * Optional. Variables or configurations referenced by the template engine during dynamic prompt generation. This allows reconstructing the exact prompt sent to the model for this turn. - */ - templateAttributes?: {[key: string]: any} | null; /** * Optional. The intended ground-truth text from the Simulated Caller (Polysynth). Only populated when word error rate metrics are enabled. */ userIntendedText?: string | null; } + /** + * Configuration for a custom voice sample used for voice cloning. + */ + export interface Schema$CustomVoiceSample { + /** + * Optional. Consent audio for voice cloning. + */ + consentAudioGcsUri?: string | null; + /** + * Optional. The user-defined name for the custom voice sample. + */ + name?: string | null; + /** + * Output only. Synthesized preview audio for custom voice, formatted as canonical WAV (LINEAR16, 24kHz, 16-bit, mono). + */ + previewAudioContent?: string | null; + /** + * Optional. Text for synthesizing preview audio for custom voice. + */ + previewText?: string | null; + /** + * Optional. Natural language instructions for voice style, tone, pacing, or pronunciation. + */ + voiceInstruction?: string | null; + /** + * Optional. The Cloud Storage URI to the audio sample for voice cloning. The audio sample should be a mono-channel, 24kHz WAV file. + */ + voiceSampleGcsUri?: string | null; + } + /** + * Settings for dashboards associated with the app, that show up in the Monitoring view. + */ + export interface Schema$DashboardSettings { + /** + * Optional. The resource name of the default Contact Center Insights dashboard associated with the app. This is the dashboard that will be displayed when users navigate to the Monitoring view for the app. Format: `projects/{project\}/locations/{location\}/dashboards/{dashboard\}` + */ + defaultDashboard?: string | null; + } /** * A DataStore resource in Vertex AI Search. */ @@ -1686,6 +1771,10 @@ export namespace ces_v1beta { * Optional. Whether snippets are enabled. */ enableSnippets?: boolean | null; + /** + * Optional. Number of snippets to return per query. If unset, returns all snippets from the service by default. + */ + maxSnippets?: number | null; } /** * Summarization configuration. @@ -1708,10 +1797,23 @@ export namespace ces_v1beta { * Operation metadata for EvaluationService.DeleteEvaluationRun. */ export interface Schema$DeleteEvaluationRunOperationMetadata {} + /** + * Response message for AgentService.DeployChannel. + */ + export interface Schema$DeployChannelResponse { + /** + * The created deployment. + */ + deployment?: Schema$Deployment; + } /** * A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile. */ export interface Schema$Deployment { + /** + * Optional. Configuration for deploying this deployment to Agent Registry. If present, this deployment will be published to Agent Registry. + */ + agentRegistryDeployment?: Schema$AgentRegistryDeployment; /** * Optional. The resource name of the app version to deploy. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` Use `projects/{project\}/locations/{location\}/apps/{app\}/versions/-` to use the draft app. */ @@ -4043,6 +4145,10 @@ export namespace ces_v1beta { * Represents an image input or output in the conversation. */ export interface Schema$Image { + /** + * Optional. The alternative text for the image. + */ + altText?: string | null; /** * Required. Raw bytes of the image. */ @@ -4080,6 +4186,14 @@ export namespace ces_v1beta { * Optional. Options governing the import process for the app. */ importOptions?: Schema$ImportAppRequestImportOptions; + /** + * Optional. Patch content as a JSON string. + */ + jsonPatchContent?: string | null; + /** + * Optional. A Cloud Storage URI pointing to a JSON file containing the patches. + */ + jsonPatchGcsUri?: string | null; } /** * Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data. @@ -4940,6 +5054,27 @@ export namespace ces_v1beta { */ task?: Schema$LfA2aV1Task; } + /** + * A wrapper object used in streaming operations to encapsulate different types of response data. + */ + export interface Schema$LfA2aV1StreamResponse { + /** + * An event indicating a task artifact update. + */ + artifactUpdate?: Schema$LfA2aV1TaskArtifactUpdateEvent; + /** + * A Message object containing a message from the agent. + */ + message?: Schema$LfA2aV1Message; + /** + * An event indicating a task status update. + */ + statusUpdate?: Schema$LfA2aV1TaskStatusUpdateEvent; + /** + * A Task object containing the current state of the task. + */ + task?: Schema$LfA2aV1Task; + } /** * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings. */ @@ -4978,6 +5113,35 @@ export namespace ces_v1beta { */ status?: Schema$LfA2aV1TaskStatus; } + /** + * A task delta where an artifact has been generated. + */ + export interface Schema$LfA2aV1TaskArtifactUpdateEvent { + /** + * If true, the content of this artifact should be appended to a previously sent artifact with the same ID. + */ + append?: boolean | null; + /** + * Required. The artifact that was generated or updated. + */ + artifact?: Schema$LfA2aV1Artifact; + /** + * Required. The ID of the context that this task belongs to. + */ + contextId?: string | null; + /** + * If true, this is the final chunk of the artifact. + */ + lastChunk?: boolean | null; + /** + * Optional. Metadata associated with the artifact update. + */ + metadata?: {[key: string]: any} | null; + /** + * Required. The ID of the task for this artifact. + */ + taskId?: string | null; + } /** * A container associating a push notification configuration with a specific task. */ @@ -5024,6 +5188,27 @@ export namespace ces_v1beta { */ timestamp?: string | null; } + /** + * An event sent by the agent to notify the client of a change in a task's status. + */ + export interface Schema$LfA2aV1TaskStatusUpdateEvent { + /** + * Required. The ID of the context that the task belongs to. + */ + contextId?: string | null; + /** + * Optional. Metadata associated with the task update. + */ + metadata?: {[key: string]: any} | null; + /** + * Required. The new status of the task. + */ + status?: Schema$LfA2aV1TaskStatus; + /** + * Required. The ID of the task that has changed. + */ + taskId?: string | null; + } /** * Response message for AgentService.ListAgents. */ @@ -5815,6 +6000,39 @@ export namespace ces_v1beta { */ inspectTemplate?: string | null; } + /** + * Shared configuration for connecting to a remote [A2A](https://github.com/a2aproject/A2A) agent. + */ + export interface Schema$RemoteA2aConfig { + /** + * Optional. The full agent card defined inline. + */ + agentCard?: Schema$AgentCard; + /** + * Optional. Reference to the agent in the Agent Registry. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + agentRegistry?: string | null; + /** + * Optional. Authentication configuration for calling the remote agent. Optional if the registry reference already handles authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. If not empty, interactions with the remote A2A agent will use this context ID. This context_id field can refer to a session variable like `$context.variables.order_agent_session_id`. + */ + contextId?: string | null; + /** + * Optional. Mapping of input variable names of remote agent to GECX variable names. + */ + inputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. Mapping of output variable names of remote agent to GECX variable names. + */ + outputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. Whether streaming is enabled for the remote agent. + */ + streamingEnabled?: boolean | null; + } /** * Represents a tool that allows the agent to call another remote agent. */ @@ -5823,6 +6041,10 @@ export namespace ces_v1beta { * Required. The agent card of the remote agent that this tool invokes. */ agentCard?: Schema$AgentCard; + /** + * Optional. Authentication configuration for calling the remote agent. + */ + apiAuthentication?: Schema$ApiAuthentication; /** * Required. The description of the tool. */ @@ -6325,10 +6547,18 @@ export namespace ces_v1beta { * The suggestions returned from Google Search as a result of invoking the GoogleSearchTool. */ googleSearchSuggestions?: Schema$GoogleSearchSuggestions; + /** + * Output image from the CES agent. + */ + image?: Schema$Image; /** * Custom payload with structured output from the CES agent. */ payload?: {[key: string]: any} | null; + /** + * Intermediate progress update from the CES agent. + */ + progress?: string | null; /** * Output text from the CES agent. */ @@ -6593,6 +6823,10 @@ export namespace ces_v1beta { * Request for the client or the agent to execute the specified tool. */ export interface Schema$ToolCall { + /** + * Output only. Human-readable name of the agent that issued this call, e.g. "Contract Architect". Empty when the root agent issued it. + */ + agentName?: string | null; /** * Optional. The input parameters and values for the tool in JSON object format. */ @@ -6605,6 +6839,10 @@ export namespace ces_v1beta { * Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse. */ id?: string | null; + /** + * Output only. The id of the tool call that caused this one, when it was issued by a sub-agent working on behalf of a parent call. Empty for top-level calls. Lets a client group a sub-agent's work under the call that started it instead of rendering every step as a sibling. + */ + parentToolCallId?: string | null; /** * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` */ @@ -6640,6 +6878,10 @@ export namespace ces_v1beta { * The execution result of a specific tool from the client or the agent. */ export interface Schema$ToolResponse { + /** + * Output only. Human-readable name of the agent that issued this call, e.g. "Contract Architect". Empty when the root agent issued it. + */ + agentName?: string | null; /** * Output only. Display name of the tool. */ @@ -6648,6 +6890,10 @@ export namespace ces_v1beta { * Optional. The matching ID of the tool call the response is for. */ id?: string | null; + /** + * Output only. The id of the tool call that caused this one, when it was issued by a sub-agent working on behalf of a parent call. Empty for top-level calls. Lets a client group a sub-agent's work under the call that started it instead of rendering every step as a sibling. + */ + parentToolCallId?: string | null; /** * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. */ @@ -7767,6 +8013,7 @@ export namespace ces_v1beta { * // "audioProcessingConfig": {}, * // "clientCertificateSettings": {}, * // "createTime": "my_createTime", + * // "dashboardSettings": {}, * // "dataStoreSettings": {}, * // "defaultChannelProfile": {}, * // "deploymentCount": 0, @@ -8564,6 +8811,7 @@ export namespace ces_v1beta { * // "audioProcessingConfig": {}, * // "clientCertificateSettings": {}, * // "createTime": "my_createTime", + * // "dashboardSettings": {}, * // "dataStoreSettings": {}, * // "defaultChannelProfile": {}, * // "deploymentCount": 0, @@ -8887,7 +9135,9 @@ export namespace ces_v1beta { * // "displayName": "my_displayName", * // "gcsUri": "my_gcsUri", * // "ignoreAppLock": false, - * // "importOptions": {} + * // "importOptions": {}, + * // "jsonPatchContent": "my_jsonPatchContent", + * // "jsonPatchGcsUri": "my_jsonPatchGcsUri" * // } * }, * }); @@ -9348,6 +9598,7 @@ export namespace ces_v1beta { * // "audioProcessingConfig": {}, * // "clientCertificateSettings": {}, * // "createTime": "my_createTime", + * // "dashboardSettings": {}, * // "dataStoreSettings": {}, * // "defaultChannelProfile": {}, * // "deploymentCount": 0, @@ -9385,6 +9636,7 @@ export namespace ces_v1beta { * // "audioProcessingConfig": {}, * // "clientCertificateSettings": {}, * // "createTime": "my_createTime", + * // "dashboardSettings": {}, * // "dataStoreSettings": {}, * // "defaultChannelProfile": {}, * // "deploymentCount": 0, @@ -10207,6 +10459,7 @@ export namespace ces_v1beta { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -10237,6 +10490,7 @@ export namespace ces_v1beta { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -10536,6 +10790,7 @@ export namespace ces_v1beta { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -10845,6 +11100,7 @@ export namespace ces_v1beta { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -10875,6 +11131,7 @@ export namespace ces_v1beta { * // "llmAgent": {}, * // "modelSettings": {}, * // "name": "my_name", + * // "remoteA2aAgent": {}, * // "remoteDialogflowAgent": {}, * // "tools": [], * // "toolsets": [], @@ -11868,8 +12125,6 @@ export namespace ces_v1beta { * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', * // Optional. Indicate the source of the conversation. If not set, all source will be searched. * source: 'placeholder-value', - * // Optional. The view specifying which fields in the response should be populated. - * view: 'placeholder-value', * }); * console.log(res.data); * @@ -12181,10 +12436,6 @@ export namespace ces_v1beta { * Optional. Indicate the source of the conversation. If not set, all source will be searched. */ source?: string; - /** - * Optional. The view specifying which fields in the response should be populated. - */ - view?: string; } export interface Params$Resource$Projects$Locations$Apps$Conversations$List extends StandardParameters { /** @@ -12266,6 +12517,7 @@ export namespace ces_v1beta { * requestBody: { * // request body parameters * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -12285,6 +12537,7 @@ export namespace ces_v1beta { * * // Example response * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -12573,6 +12826,7 @@ export namespace ces_v1beta { * * // Example response * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -13028,6 +13282,7 @@ export namespace ces_v1beta { * requestBody: { * // request body parameters * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -13047,6 +13302,7 @@ export namespace ces_v1beta { * * // Example response * // { + * // "agentRegistryDeployment": {}, * // "appVersion": "my_appVersion", * // "channelProfile": {}, * // "createTime": "my_createTime", @@ -13387,28 +13643,9 @@ export namespace ces_v1beta { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Apps$Deployments$Message$Send extends StandardParameters { - /** - * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. - */ - tenant?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LfA2aV1SendMessageRequest; - } - - export class Resource$Projects$Locations$Apps$Evaluationdatasets { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates an evaluation dataset. + * Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage` * @example * ```js * // Before running the sample: @@ -13440,25 +13677,18 @@ export namespace ces_v1beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await ces.projects.locations.apps.evaluationDatasets.create({ - * // Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. - * evaluationDatasetId: 'placeholder-value', - * // Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` - * parent: 'projects/my-project/locations/my-location/apps/my-app', + * const res = await ces.projects.locations.apps.deployments.message.stream({ + * // Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + * tenant: + * 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "aggregatedMetrics": {}, - * // "createTime": "my_createTime", - * // "createdBy": "my_createdBy", - * // "displayName": "my_displayName", - * // "etag": "my_etag", - * // "evaluations": [], - * // "lastUpdatedBy": "my_lastUpdatedBy", - * // "name": "my_name", - * // "updateTime": "my_updateTime" + * // "configuration": {}, + * // "message": {}, + * // "metadata": {} * // } * }, * }); @@ -13466,15 +13696,10 @@ export namespace ces_v1beta { * * // Example response * // { - * // "aggregatedMetrics": {}, - * // "createTime": "my_createTime", - * // "createdBy": "my_createdBy", - * // "displayName": "my_displayName", - * // "etag": "my_etag", - * // "evaluations": [], - * // "lastUpdatedBy": "my_lastUpdatedBy", - * // "name": "my_name", - * // "updateTime": "my_updateTime" + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} * // } * } * @@ -13490,54 +13715,55 @@ export namespace ces_v1beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + stream( + params: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + stream( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + ): Promise>; + stream( + params: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + stream( + params: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, - callback: BodyResponseCallback + stream( + params: Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + stream(callback: BodyResponseCallback): void; + stream( paramsOrCallback?: - | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create; + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create; + {} as Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream; options = {}; } @@ -13550,7 +13776,7 @@ export namespace ces_v1beta { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta/{+parent}/evaluationDatasets').replace( + url: (rootUrl + '/v1beta/{+tenant}/message:stream').replace( /([^:]\/)\/+/g, '$1' ), @@ -13560,34 +13786,231 @@ export namespace ces_v1beta { options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['tenant'], + pathParams: ['tenant'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Message$Send extends StandardParameters { /** - * Deletes an evaluation dataset. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/ces.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Message$Stream extends StandardParameters { + /** + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } + + export class Resource$Projects$Locations$Apps$Evaluationdatasets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationDatasets.create({ + * // Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + * evaluationDatasetId: 'placeholder-value', + * // Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationDatasets').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis * // ``` * * const {google} = require('googleapis'); @@ -19679,28 +20102,9 @@ export namespace ces_v1beta { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Apps$Message$Send extends StandardParameters { - /** - * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. - */ - tenant?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LfA2aV1SendMessageRequest; - } - - export class Resource$Projects$Locations$Apps$Scheduledevaluationruns { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a scheduled evaluation run. + * Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage` * @example * ```js * // Before running the sample: @@ -19732,30 +20136,17 @@ export namespace ces_v1beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await ces.projects.locations.apps.scheduledEvaluationRuns.create({ - * // Required. The app to create the scheduled evaluation run for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` - * parent: 'projects/my-project/locations/my-location/apps/my-app', - * // Optional. The ID to use for the scheduled evaluation run, which will become the final component of the scheduled evaluation run's resource name. If not provided, a unique ID will be automatically assigned. - * scheduledEvaluationRunId: 'placeholder-value', + * const res = await ces.projects.locations.apps.message.stream({ + * // Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + * tenant: 'projects/my-project/locations/my-location/apps/my-app', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "active": false, - * // "createTime": "my_createTime", - * // "createdBy": "my_createdBy", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "etag": "my_etag", - * // "lastCompletedRun": "my_lastCompletedRun", - * // "lastUpdatedBy": "my_lastUpdatedBy", - * // "name": "my_name", - * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", - * // "request": {}, - * // "schedulingConfig": {}, - * // "totalExecutions": 0, - * // "updateTime": "my_updateTime" + * // "configuration": {}, + * // "message": {}, + * // "metadata": {} * // } * }, * }); @@ -19763,11 +20154,208 @@ export namespace ces_v1beta { * * // Example response * // { - * // "active": false, - * // "createTime": "my_createTime", - * // "createdBy": "my_createdBy", - * // "description": "my_description", - * // "displayName": "my_displayName", + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stream( + params: Params$Resource$Projects$Locations$Apps$Message$Stream, + options: StreamMethodOptions + ): Promise>; + stream( + params?: Params$Resource$Projects$Locations$Apps$Message$Stream, + options?: MethodOptions + ): Promise>; + stream( + params: Params$Resource$Projects$Locations$Apps$Message$Stream, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stream( + params: Params$Resource$Projects$Locations$Apps$Message$Stream, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stream( + params: Params$Resource$Projects$Locations$Apps$Message$Stream, + callback: BodyResponseCallback + ): void; + stream(callback: BodyResponseCallback): void; + stream( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Message$Stream + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Message$Stream; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Message$Stream; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+tenant}/message:stream').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant'], + pathParams: ['tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Message$Send extends StandardParameters { + /** + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Message$Stream extends StandardParameters { + /** + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } + + export class Resource$Projects$Locations$Apps$Scheduledevaluationruns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.scheduledEvaluationRuns.create({ + * // Required. The app to create the scheduled evaluation run for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the scheduled evaluation run, which will become the final component of the scheduled evaluation run's resource name. If not provided, a unique ID will be automatically assigned. + * scheduledEvaluationRunId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", * // "etag": "my_etag", * // "lastCompletedRun": "my_lastCompletedRun", * // "lastUpdatedBy": "my_lastUpdatedBy", @@ -23045,7 +23633,8 @@ export namespace ces_v1beta { * // "displayName": "my_displayName", * // "etag": "my_etag", * // "name": "my_name", - * // "snapshot": {} + * // "snapshot": {}, + * // "updateTime": "my_updateTime" * // } * }, * }); @@ -23059,7 +23648,8 @@ export namespace ces_v1beta { * // "displayName": "my_displayName", * // "etag": "my_etag", * // "name": "my_name", - * // "snapshot": {} + * // "snapshot": {}, + * // "updateTime": "my_updateTime" * // } * } * @@ -23340,7 +23930,8 @@ export namespace ces_v1beta { * // "displayName": "my_displayName", * // "etag": "my_etag", * // "name": "my_name", - * // "snapshot": {} + * // "snapshot": {}, + * // "updateTime": "my_updateTime" * // } * } * @@ -23742,6 +24333,166 @@ export namespace ces_v1beta { } } + /** + * Updates the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.patch({ + * // Identifier. The unique identifier of the app version. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * // Optional. The list of fields to update. If empty, fields `display_name` and `description` will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Versions$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Versions$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Versions$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Versions$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Versions$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version. * @example @@ -23951,6 +24702,21 @@ export namespace ces_v1beta { */ parent?: string; } + export interface Params$Resource$Projects$Locations$Apps$Versions$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the app version. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + name?: string; + /** + * Optional. The list of fields to update. If empty, fields `display_name` and `description` will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AppVersion; + } export interface Params$Resource$Projects$Locations$Apps$Versions$Restore extends StandardParameters { /** * Required. The resource name of the app version to restore. @@ -24124,6 +24890,162 @@ export namespace ces_v1beta { return createAPIRequest(parameters); } } + + /** + * Sends a streaming message to an agent, allowing for real-time interaction and status updates. Streaming version of `SendMessage` + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.message.stream({ + * // Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + * tenant: + * 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "configuration": {}, + * // "message": {}, + * // "metadata": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stream( + params: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + options: StreamMethodOptions + ): Promise>; + stream( + params?: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + options?: MethodOptions + ): Promise>; + stream( + params: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stream( + params: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stream( + params: Params$Resource$Projects$Locations$Apps$Versions$Message$Stream, + callback: BodyResponseCallback + ): void; + stream(callback: BodyResponseCallback): void; + stream( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Message$Stream + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Message$Stream; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Versions$Message$Stream; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+tenant}/message:stream').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['tenant'], + pathParams: ['tenant'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Apps$Versions$Message$Send extends StandardParameters { @@ -24137,6 +25059,17 @@ export namespace ces_v1beta { */ requestBody?: Schema$LfA2aV1SendMessageRequest; } + export interface Params$Resource$Projects$Locations$Apps$Versions$Message$Stream extends StandardParameters { + /** + * Optional. Opaque routing identifier. Must match the `tenant` value from the selected `AgentInterface` in the Agent Card when that field is set. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LfA2aV1SendMessageRequest; + } export class Resource$Projects$Locations$Operations { context: APIRequestContext; diff --git a/src/apis/chat/package.json b/src/apis/chat/package.json index a28afc74496..a05acc24717 100644 --- a/src/apis/chat/package.json +++ b/src/apis/chat/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/chat/v1.ts b/src/apis/chat/v1.ts index ac66e850645..9d4b3674254 100644 --- a/src/apis/chat/v1.ts +++ b/src/apis/chat/v1.ts @@ -2933,7 +2933,7 @@ export namespace chat_v1 { */ memberships?: Schema$Membership[]; /** - * Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error. + * Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single space being created. Subsequent requests with the same request ID return the existing space and do not update the space, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a space was already created with the provided request ID, the request returns that space. Note that the returned space might not be fully populated; the API echoes the space in your request with the system-assigned resource name populated. To retrieve the latest metadata for the space, call `GetSpace`. - Reusing an existing request ID with a different authenticated user results in an error. */ requestId?: string | null; /** @@ -4561,7 +4561,7 @@ export namespace chat_v1 { * * // Do the magic * const res = await chat.spaces.create({ - * // Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error. + * // Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single space being created. Subsequent requests with the same request ID return the existing space and do not update the space, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a space was already created with the provided request ID, the request returns that space. Note that the returned space might not be fully populated; the API echoes the space in your request with the system-assigned resource name populated. To retrieve the latest metadata for the space, call `GetSpace`. - Reusing an existing request ID with a different authenticated user results in an error. * requestId: 'placeholder-value', * * // Request body metadata @@ -5975,7 +5975,7 @@ export namespace chat_v1 { } export interface Params$Resource$Spaces$Create extends StandardParameters { /** - * Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error. + * Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single space being created. Subsequent requests with the same request ID return the existing space and do not update the space, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a space was already created with the provided request ID, the request returns that space. Note that the returned space might not be fully populated; the API echoes the space in your request with the system-assigned resource name populated. To retrieve the latest metadata for the space, call `GetSpace`. - Reusing an existing request ID with a different authenticated user results in an error. */ requestId?: string; @@ -7492,7 +7492,7 @@ export namespace chat_v1 { * messageReplyOption: 'placeholder-value', * // Required. The resource name of the space in which to create a message. Format: `spaces/{space\}` * parent: 'spaces/my-space', - * // 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. + * // Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single message being created. Subsequent requests with the same request ID return the existing message and do not update the message, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a message was already created with the provided request ID, the request returns that message. Note that the returned message might not be fully populated; the API echoes the message in your request with the system-assigned resource names populated. To retrieve the latest metadata for the message, call `GetMessage`. - Reusing an existing request ID with a different authenticated user results in an error. * requestId: 'placeholder-value', * // Optional. Deprecated: Use thread.thread_key instead. ID for the thread. Supports up to 4000 characters. To start or add to a thread, create a message and specify a `threadKey` or the thread.name. For example usage, see [Start or reply to a message thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). * threadKey: 'placeholder-value', @@ -8701,7 +8701,7 @@ export namespace chat_v1 { */ parent?: string; /** - * 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. + * Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single message being created. Subsequent requests with the same request ID return the existing message and do not update the message, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a message was already created with the provided request ID, the request returns that message. Note that the returned message might not be fully populated; the API echoes the message in your request with the system-assigned resource names populated. To retrieve the latest metadata for the message, call `GetMessage`. - Reusing an existing request ID with a different authenticated user results in an error. */ requestId?: string; /** diff --git a/src/apis/checks/package.json b/src/apis/checks/package.json index e46588dd505..045f1298360 100644 --- a/src/apis/checks/package.json +++ b/src/apis/checks/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/chromemanagement/package.json b/src/apis/chromemanagement/package.json index 22ea57bff7a..33715e20ec5 100644 --- a/src/apis/chromemanagement/package.json +++ b/src/apis/chromemanagement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/chromemanagement/v1.ts b/src/apis/chromemanagement/v1.ts index e33e91db2de..c90f73078e7 100644 --- a/src/apis/chromemanagement/v1.ts +++ b/src/apis/chromemanagement/v1.ts @@ -1180,6 +1180,57 @@ export namespace chromemanagement_v1 { */ totalSize?: number | null; } + /** + * Response to `FindSaasUsageBrowsers` method. + */ + export interface Schema$GoogleChromeManagementV1FindSaasUsageBrowsersResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. + */ + nextPageToken?: string | null; + /** + * The list of SaaS usage browser reports. + */ + saasUsageBrowsers?: Schema$GoogleChromeManagementV1SaasUsageBrowser[]; + /** + * Total number of SaaS usage browser reports that match the request. + */ + totalSize?: string | null; + } + /** + * Response to `FindSaasUsageProfiles` method. + */ + export interface Schema$GoogleChromeManagementV1FindSaasUsageProfilesResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of SaaS usage profile reports. + */ + profileReports?: Schema$GoogleChromeManagementV1SaasUsageProfileReport[]; + /** + * Total number of SaaS usage profile reports that match the request. + */ + totalSize?: string | null; + } + /** + * Response to `FindSaasUsage` method. + */ + export interface Schema$GoogleChromeManagementV1FindSaasUsageReportsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of SaaS usage reports. + */ + saasReports?: Schema$GoogleChromeManagementV1SaasUsageReport[]; + /** + * Total number of SaaS usage reports that match the request. + */ + totalSize?: string | null; + } /** * Information of a graphics adapter (GPU). */ @@ -1780,6 +1831,146 @@ export namespace chromemanagement_v1 { */ uptimeRuntimeDuration?: string | null; } + /** + * Details of a SaaS usage browser. + */ + export interface Schema$GoogleChromeManagementV1SaasUsageBrowser { + /** + * Output only. The device permanent ID. + */ + devicePermanentId?: string | null; + /** + * Output only. The timestamp when the application was first navigated to by this browser. + */ + firstNavigationTime?: string | null; + /** + * Output only. The timestamp when the application was last navigated to by this browser. + */ + lastNavigationTime?: string | null; + /** + * Output only. The machine name. + */ + machine?: string | null; + /** + * Output only. The ID of the organizational unit. + */ + orgUnitId?: string | null; + /** + * Output only. The OS platform. + */ + osPlatform?: string | null; + /** + * Output only. The OS version. + */ + osVersion?: string | null; + } + /** + * Represents a single SaaS report entry grouped by profile. + */ + export interface Schema$GoogleChromeManagementV1SaasUsageProfileReport { + /** + * Output only. The email of the user. + */ + email?: string | null; + /** + * Output only. The timestamp when the application was first navigated to by this profile. + */ + firstNavigationTime?: string | null; + /** + * Output only. The timestamp when the application was last navigated to by this profile. + */ + lastNavigationTime?: string | null; + /** + * Output only. The ID of the organizational unit. + */ + orgUnitId?: string | null; + /** + * Output only. The OS platform. + */ + osPlatform?: string | null; + /** + * Output only. The OS version. + */ + osVersion?: string | null; + /** + * Output only. The permanent ID of the profile. + */ + profilePermanentId?: string | null; + } + /** + * Represents a single SaaS report entry. + */ + export interface Schema$GoogleChromeManagementV1SaasUsageReport { + /** + * Output only. The name of the application. + */ + app?: string | null; + /** + * Output only. The category of the application. + */ + category?: string | null; + /** + * Output only. Provides information about content transfer events, if available. + */ + contentTransferDetails?: Schema$GoogleChromeManagementV1SaasUsageReportContentTransferDetails; + /** + * Output only. Number of distinct browsers that visited the application. + */ + distinctBrowsersCount?: string | null; + /** + * Output only. Number of distinct users who visited the application. + */ + distinctUsersCount?: string | null; + /** + * Output only. A list of domains and subdomains associated with the application. + */ + domains?: string[] | null; + /** + * Output only. A list of encryption protocols used to access the application. + */ + encryptionProtocols?: string[] | null; + /** + * Output only. The timestamp when the application was first navigated to. + */ + firstNavigationTime?: string | null; + /** + * Output only. The year the organization was founded. + */ + foundedYear?: number | null; + /** + * Output only. The headquarters location of the organization. + */ + headquarters?: string | null; + /** + * Output only. The timestamp when the application was last navigated to. + */ + lastNavigationTime?: string | null; + /** + * Output only. The organization that develops the application. + */ + organization?: string | null; + /** + * Output only. The ID of the organizational unit. + */ + orgUnitId?: string | null; + /** + * Output only. The primary domain of the application. + */ + primaryDomain?: string | null; + /** + * Output only. Total number of visits to the application. + */ + visitsCount?: string | null; + } + /** + * Provides information about content transfer events, if available. + */ + export interface Schema$GoogleChromeManagementV1SaasUsageReportContentTransferDetails { + /** + * Output only. Total number of content transfers associated with the application. + */ + contentTransferCount?: string | null; + } /** * Status data for storage. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceStorageStatus](https://chromeenterprise.google/policies/#ReportDeviceStorageStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_STORAGE_INFO */ @@ -11449,25 +11640,507 @@ export namespace chromemanagement_v1 { ); } } - } - export interface Params$Resource$Customers$Reports$Countactivedevices extends StandardParameters { - /** - * Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". - */ - customer?: string; - /** - * 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. - */ - 'date.day'?: number; /** - * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + * Find SaaS usage reports of a customer based on the given search and sorting criteria. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/chromemanagement.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const chromemanagement = google.chromemanagement('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/chrome.management.reports.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await chromemanagement.customers.reports.findSaasUsage({ + * // Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + * customer: 'customers/my-customer', + * // Optional. The filter expression to narrow down the SaaS reports to return. Supported operators are: =, !=, <, <=, \>, \>=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * app * org_unit_id * first_navigation_time * last_navigation_time * category * organization * founded_year * headquarters * primary_domain * domains * encryption_protocols * visits_count * distinct_users_count * distinct_browsers_count * content_transfer_count Example: `(first_navigation_time < "2026-01-31T00:00:00Z" AND last_navigation_time \> "2026-01-01T00:00:00Z") AND visits_count \> 100` + * filter: 'placeholder-value', + * // Optional. The order by expression to sort the SaaS reports. Supported fields: * app * category * organization * founded_year * headquarters * primary_domain * visits_count * distinct_users_count * distinct_browsers_count * content_transfer_count Default order is ascending. To specify descending order for a field, append " desc". Example: `visits_count desc` + * orderBy: 'placeholder-value', + * // Optional. The maximum number of reports to return. The service may return fewer than this value. If unspecified, at most 100 reports will be returned. The maximum value is 200; values above 200 will be coerced to 200. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `FindSaasUsageReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FindSaasUsageReports` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "saasReports": [], + * // "totalSize": "my_totalSize" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - 'date.month'?: number; + findSaasUsage( + params: Params$Resource$Customers$Reports$Findsaasusage, + options: StreamMethodOptions + ): Promise>; + findSaasUsage( + params?: Params$Resource$Customers$Reports$Findsaasusage, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + findSaasUsage( + params: Params$Resource$Customers$Reports$Findsaasusage, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + findSaasUsage( + params: Params$Resource$Customers$Reports$Findsaasusage, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + findSaasUsage( + params: Params$Resource$Customers$Reports$Findsaasusage, + callback: BodyResponseCallback + ): void; + findSaasUsage( + callback: BodyResponseCallback + ): void; + findSaasUsage( + paramsOrCallback?: + | Params$Resource$Customers$Reports$Findsaasusage + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Reports$Findsaasusage; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Reports$Findsaasusage; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+customer}/reports:findSaasUsage').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** - * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. - */ - 'date.year'?: number; + * Find SaaS usage reports of a customer grouped by browsers based on the given search and sorting criteria. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/chromemanagement.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const chromemanagement = google.chromemanagement('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/chrome.management.reports.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await chromemanagement.customers.reports.findSaasUsageBrowsers({ + * // Required. The name of the SaaS application (e.g., `ChatGPT`, `Gemini`). + * app: 'placeholder-value', + * // Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + * customer: 'customers/my-customer', + * // Optional. The filter expression to narrow down the SaaS browser reports to return. Supported operators are: =, !=, <, <=, \>, \>=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * machine * os_platform * first_navigation_time * last_navigation_time * org_unit_id + * filter: 'placeholder-value', + * // Optional. The order by expression to sort the SaaS browser reports. Supported fields: * machine * os_platform * first_navigation_time * last_navigation_time Default order is ascending. To specify descending order for a field, append " desc". + * orderBy: 'placeholder-value', + * // Optional. The maximum number of browsers to return. The service may return fewer than this value. If unspecified, at most 100 browsers will be returned. The maximum value is 200; values above 200 will be coerced to 200. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `FindSaasUsageBrowsers` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "saasUsageBrowsers": [], + * // "totalSize": "my_totalSize" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + findSaasUsageBrowsers( + params: Params$Resource$Customers$Reports$Findsaasusagebrowsers, + options: StreamMethodOptions + ): Promise>; + findSaasUsageBrowsers( + params?: Params$Resource$Customers$Reports$Findsaasusagebrowsers, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + findSaasUsageBrowsers( + params: Params$Resource$Customers$Reports$Findsaasusagebrowsers, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + findSaasUsageBrowsers( + params: Params$Resource$Customers$Reports$Findsaasusagebrowsers, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + findSaasUsageBrowsers( + params: Params$Resource$Customers$Reports$Findsaasusagebrowsers, + callback: BodyResponseCallback + ): void; + findSaasUsageBrowsers( + callback: BodyResponseCallback + ): void; + findSaasUsageBrowsers( + paramsOrCallback?: + | Params$Resource$Customers$Reports$Findsaasusagebrowsers + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Reports$Findsaasusagebrowsers; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Reports$Findsaasusagebrowsers; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+customer}/reports:findSaasUsageBrowsers' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Find SaaS usage reports of a customer grouped by profiles based on the given search and sorting criteria. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/chromemanagement.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const chromemanagement = google.chromemanagement('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/chrome.management.reports.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await chromemanagement.customers.reports.findSaasUsageProfiles({ + * // Required. The name of the SaaS application (e.g., `ChatGPT`, `Gemini`). + * app: 'placeholder-value', + * // Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + * customer: 'customers/my-customer', + * // Optional. The filter expression to narrow down the SaaS profile reports to return. Supported operators are: =, !=, <, <=, \>, \>=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * email * org_unit_id * os_platform * first_navigation_time * last_navigation_time + * filter: 'placeholder-value', + * // Optional. The order by expression to sort the SaaS profile reports. Supported fields: * email * os_platform * first_navigation_time * last_navigation_time Default order is ascending. To specify descending order for a field, append " desc". + * orderBy: 'placeholder-value', + * // Optional. The maximum number of reports to return. The service may return fewer than this value. If unspecified, at most 100 reports will be returned. The maximum value is 200; values above 200 will be coerced to 200. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `FindSaasUsageProfiles` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "profileReports": [], + * // "totalSize": "my_totalSize" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + findSaasUsageProfiles( + params: Params$Resource$Customers$Reports$Findsaasusageprofiles, + options: StreamMethodOptions + ): Promise>; + findSaasUsageProfiles( + params?: Params$Resource$Customers$Reports$Findsaasusageprofiles, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + findSaasUsageProfiles( + params: Params$Resource$Customers$Reports$Findsaasusageprofiles, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + findSaasUsageProfiles( + params: Params$Resource$Customers$Reports$Findsaasusageprofiles, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + findSaasUsageProfiles( + params: Params$Resource$Customers$Reports$Findsaasusageprofiles, + callback: BodyResponseCallback + ): void; + findSaasUsageProfiles( + callback: BodyResponseCallback + ): void; + findSaasUsageProfiles( + paramsOrCallback?: + | Params$Resource$Customers$Reports$Findsaasusageprofiles + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Reports$Findsaasusageprofiles; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Reports$Findsaasusageprofiles; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+customer}/reports:findSaasUsageProfiles' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Reports$Countactivedevices extends StandardParameters { + /** + * Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + */ + customer?: string; + /** + * 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. + */ + 'date.day'?: number; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + 'date.month'?: number; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + 'date.year'?: number; } export interface Params$Resource$Customers$Reports$Countchromebrowsersneedingattention extends StandardParameters { /** @@ -11795,6 +12468,80 @@ export namespace chromemanagement_v1 { */ pageToken?: string; } + export interface Params$Resource$Customers$Reports$Findsaasusage extends StandardParameters { + /** + * Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + */ + customer?: string; + /** + * Optional. The filter expression to narrow down the SaaS reports to return. Supported operators are: =, !=, <, <=, \>, \>=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * app * org_unit_id * first_navigation_time * last_navigation_time * category * organization * founded_year * headquarters * primary_domain * domains * encryption_protocols * visits_count * distinct_users_count * distinct_browsers_count * content_transfer_count Example: `(first_navigation_time < "2026-01-31T00:00:00Z" AND last_navigation_time \> "2026-01-01T00:00:00Z") AND visits_count \> 100` + */ + filter?: string; + /** + * Optional. The order by expression to sort the SaaS reports. Supported fields: * app * category * organization * founded_year * headquarters * primary_domain * visits_count * distinct_users_count * distinct_browsers_count * content_transfer_count Default order is ascending. To specify descending order for a field, append " desc". Example: `visits_count desc` + */ + orderBy?: string; + /** + * Optional. The maximum number of reports to return. The service may return fewer than this value. If unspecified, at most 100 reports will be returned. The maximum value is 200; values above 200 will be coerced to 200. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `FindSaasUsageReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FindSaasUsageReports` must match the call that provided the page token. + */ + pageToken?: string; + } + export interface Params$Resource$Customers$Reports$Findsaasusagebrowsers extends StandardParameters { + /** + * Required. The name of the SaaS application (e.g., `ChatGPT`, `Gemini`). + */ + app?: string; + /** + * Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + */ + customer?: string; + /** + * Optional. The filter expression to narrow down the SaaS browser reports to return. Supported operators are: =, !=, <, <=, \>, \>=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * machine * os_platform * first_navigation_time * last_navigation_time * org_unit_id + */ + filter?: string; + /** + * Optional. The order by expression to sort the SaaS browser reports. Supported fields: * machine * os_platform * first_navigation_time * last_navigation_time Default order is ascending. To specify descending order for a field, append " desc". + */ + orderBy?: string; + /** + * Optional. The maximum number of browsers to return. The service may return fewer than this value. If unspecified, at most 100 browsers will be returned. The maximum value is 200; values above 200 will be coerced to 200. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `FindSaasUsageBrowsers` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + } + export interface Params$Resource$Customers$Reports$Findsaasusageprofiles extends StandardParameters { + /** + * Required. The name of the SaaS application (e.g., `ChatGPT`, `Gemini`). + */ + app?: string; + /** + * Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + */ + customer?: string; + /** + * Optional. The filter expression to narrow down the SaaS profile reports to return. Supported operators are: =, !=, <, <=, \>, \>=, :. Logical operators AND, OR, and NOT are supported. Supported fields: * email * org_unit_id * os_platform * first_navigation_time * last_navigation_time + */ + filter?: string; + /** + * Optional. The order by expression to sort the SaaS profile reports. Supported fields: * email * os_platform * first_navigation_time * last_navigation_time Default order is ascending. To specify descending order for a field, append " desc". + */ + orderBy?: string; + /** + * Optional. The maximum number of reports to return. The service may return fewer than this value. If unspecified, at most 100 reports will be returned. The maximum value is 200; values above 200 will be coerced to 200. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `FindSaasUsageProfiles` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + } export class Resource$Customers$Telemetry { context: APIRequestContext; diff --git a/src/apis/chromepolicy/package.json b/src/apis/chromepolicy/package.json index 1a89171322b..e93df288a71 100644 --- a/src/apis/chromepolicy/package.json +++ b/src/apis/chromepolicy/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/chromeuxreport/package.json b/src/apis/chromeuxreport/package.json index 0424d043598..1c8d21893c6 100644 --- a/src/apis/chromeuxreport/package.json +++ b/src/apis/chromeuxreport/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/chromewebstore/package.json b/src/apis/chromewebstore/package.json index 2c65de4a772..826e8d7ffea 100644 --- a/src/apis/chromewebstore/package.json +++ b/src/apis/chromewebstore/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/civicinfo/package.json b/src/apis/civicinfo/package.json index e1db6dde26d..10f3bc4547a 100644 --- a/src/apis/civicinfo/package.json +++ b/src/apis/civicinfo/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/classroom/package.json b/src/apis/classroom/package.json index f7606be9fde..e1373095555 100644 --- a/src/apis/classroom/package.json +++ b/src/apis/classroom/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/classroom/v1.ts b/src/apis/classroom/v1.ts index ac11f4483e8..4968bef9b3d 100644 --- a/src/apis/classroom/v1.ts +++ b/src/apis/classroom/v1.ts @@ -6727,7 +6727,7 @@ export namespace classroom_v1 { } /** - * Updates one or more fields of a course work. See google.classroom.v1.CourseWork for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work has already been deleted. * `NOT_FOUND` if the requested course or course work does not exist. + * Updates one or more fields of a course work. See google.classroom.v1.CourseWork for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work or an add-on attachment on the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work has already been deleted. * `NOT_FOUND` if the requested course or course work does not exist. * @example * ```js * // Before running the sample: @@ -9736,7 +9736,7 @@ export namespace classroom_v1 { } /** - * Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. + * Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. * @example * ```js * // Before running the sample: @@ -9910,7 +9910,7 @@ export namespace classroom_v1 { } /** - * Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. + * Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment with Grade Sync enabled on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work or an add-on attachment on the corresponding course work with Grade Sync enabled, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. * @example * ```js * // Before running the sample: @@ -10101,7 +10101,7 @@ export namespace classroom_v1 { } /** - * Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and updates the submission state. Only the student that owns the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. + * Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and updates the submission state. Only the student that owns the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. * @example * ```js * // Before running the sample: @@ -10246,7 +10246,7 @@ export namespace classroom_v1 { } /** - * Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. + * Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. * @example * ```js * // Before running the sample: @@ -10391,7 +10391,7 @@ export namespace classroom_v1 { } /** - * Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. + * Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item or an add-on attachment on the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist. * @example * ```js * // Before running the sample: diff --git a/src/apis/cloudasset/package.json b/src/apis/cloudasset/package.json index 56bab3e0d64..1978c259640 100644 --- a/src/apis/cloudasset/package.json +++ b/src/apis/cloudasset/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudbilling/package.json b/src/apis/cloudbilling/package.json index 4ef002a445a..ca0bfe54f8e 100644 --- a/src/apis/cloudbilling/package.json +++ b/src/apis/cloudbilling/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudbilling/v1.ts b/src/apis/cloudbilling/v1.ts index 5214307bd32..041c7727325 100644 --- a/src/apis/cloudbilling/v1.ts +++ b/src/apis/cloudbilling/v1.ts @@ -113,9 +113,12 @@ export namespace cloudbilling_v1 { export class Cloudbilling { context: APIRequestContext; billingAccounts: Resource$Billingaccounts; + message: Resource$Message; organizations: Resource$Organizations; projects: Resource$Projects; services: Resource$Services; + tasks: Resource$Tasks; + v1: Resource$V1; constructor(options: GlobalOptions, google?: GoogleConfigurable) { this.context = { @@ -124,12 +127,214 @@ export namespace cloudbilling_v1 { }; this.billingAccounts = new Resource$Billingaccounts(this.context); + this.message = new Resource$Message(this.context); this.organizations = new Resource$Organizations(this.context); this.projects = new Resource$Projects(this.context); this.services = new Resource$Services(this.context); + this.tasks = new Resource$Tasks(this.context); + this.v1 = new Resource$V1(this.context); } } + /** + * Defines the A2A feature set supported by the agent + */ + export interface Schema$AgentCapabilities { + /** + * Extensions supported by this agent. + */ + extensions?: Schema$AgentExtension[]; + /** + * If the agent can send push notifications to the clients webhook + */ + pushNotifications?: boolean | null; + /** + * If the agent will support streaming responses + */ + streaming?: boolean | null; + } + /** + * AgentCard conveys key information: - Overall details (version, name, description, uses) - Skills; a set of actions/solutions the agent can perform - Default modalities/content types supported by the agent. - Authentication requirements Next ID: 19 + */ + export interface Schema$AgentCard { + /** + * Announcement of additional supported transports. Client can use any of the supported transports. + */ + additionalInterfaces?: Schema$AgentInterface[]; + /** + * A2A Capability set supported by the agent. + */ + capabilities?: Schema$AgentCapabilities; + /** + * protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across all skills. This can be overridden per skill. Defined as mime types. + */ + defaultInputModes?: string[] | null; + /** + * The mime types supported as outputs from this agent. + */ + defaultOutputModes?: string[] | null; + /** + * A description of the agent's domain of action/solution space. Example: "Agent that helps users with recipes and cooking." + */ + description?: string | null; + /** + * A url to provide additional documentation about the agent. + */ + documentationUrl?: string | null; + /** + * An optional URL to an icon for the agent. + */ + iconUrl?: string | null; + /** + * A human readable name for the agent. Example: "Recipe Agent" + */ + name?: string | null; + /** + * The transport of the preferred endpoint. If empty, defaults to JSONRPC. + */ + preferredTransport?: string | null; + /** + * The version of the A2A protocol this agent supports. + */ + protocolVersion?: string | null; + /** + * The service provider of the agent. + */ + provider?: Schema$AgentProvider; + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security requirements for contacting the agent. This list can be seen as an OR of ANDs. Each object in the list describes one possible set of security requirements that must be present on a request. This allows specifying, for example, "callers must either use OAuth OR an API Key AND mTLS." Example: security { schemes { key: "oauth" value { list: ["read"] \} \} \} security { schemes { key: "api-key" \} schemes { key: "mtls" \} \} + */ + security?: Schema$Security[]; + /** + * The security scheme details used for authenticating with this agent. + */ + securitySchemes?: {[key: string]: Schema$SecurityScheme} | null; + /** + * JSON Web Signatures computed for this AgentCard. + */ + signatures?: Schema$AgentCardSignature[]; + /** + * Skills represent a unit of ability an agent can perform. This may somewhat abstract but represents a more focused set of actions that the agent is highly likely to succeed at. + */ + skills?: Schema$AgentSkill[]; + /** + * Whether the agent supports providing an extended agent card when the user is authenticated, i.e. is the card from .well-known different than the card from GetAgentCard. + */ + supportsAuthenticatedExtendedCard?: boolean | null; + /** + * A URL to the address the agent is hosted at. This represents the preferred endpoint as declared by the agent. + */ + url?: string | null; + /** + * The version of the agent. Example: "1.0.0" + */ + version?: string | null; + } + /** + * AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS). + */ + export interface Schema$AgentCardSignature { + /** + * The unprotected JWS header values. + */ + header?: {[key: string]: any} | null; + /** + * Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object. Required. + */ + protected?: string | null; + /** + * Required. The computed signature, base64url-encoded. Required. + */ + signature?: string | null; + } + /** + * A declaration of an extension supported by an Agent. + */ + export interface Schema$AgentExtension { + /** + * A description of how this agent uses this extension. Example: "Google OAuth 2.0 authentication" + */ + description?: string | null; + /** + * Optional configuration for the extension. + */ + params?: {[key: string]: any} | null; + /** + * Whether the client must follow specific requirements of the extension. Example: false + */ + required?: boolean | null; + /** + * The URI of the extension. Example: "https://developers.google.com/identity/protocols/oauth2" + */ + uri?: string | null; + } + /** + * Defines additional transport information for the agent. + */ + export interface Schema$AgentInterface { + /** + * Tenant to be set in the request when calling the agent. Experimental, might still change for 1.0 release. + */ + tenant?: string | null; + /** + * The transport supported this url. This is an open form string, to be easily extended for many transport protocols. The core ones officially supported are JSONRPC, GRPC and HTTP+JSON. + */ + transport?: string | null; + /** + * The url this interface is found at. + */ + url?: string | null; + } + /** + * Represents information about the service provider of an agent. + */ + export interface Schema$AgentProvider { + /** + * The providers organization name Example: "Google" + */ + organization?: string | null; + /** + * The providers reference url Example: "https://ai.google.dev" + */ + url?: string | null; + } + /** + * AgentSkill represents a unit of action/solution that the agent can perform. One can think of this as a type of highly reliable solution that an agent can be tasked to provide. Agents have the autonomy to choose how and when to use specific skills, but clients should have confidence that if the skill is defined that unit of action can be reliably performed. + */ + export interface Schema$AgentSkill { + /** + * A human (or llm) readable description of the skill details and behaviors. + */ + description?: string | null; + /** + * A set of example queries that this skill is designed to address. These examples should help the caller to understand how to craft requests to the agent to achieve specific goals. Example: ["I need a recipe for bread"] + */ + examples?: string[] | null; + /** + * Unique identifier of the skill within this agent. + */ + id?: string | null; + /** + * Possible input modalities supported. + */ + inputModes?: string[] | null; + /** + * A human readable name for the skill. + */ + name?: string | null; + /** + * Possible output modalities produced + */ + outputModes?: string[] | null; + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security schemes necessary for the agent to leverage this skill. As in the overall AgentCard.security, this list represents a logical OR of security requirement objects. Each object is a set of security schemes that must be used together (a logical AND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED + */ + security?: Schema$Security[]; + /** + * A set of tags for the skill to enhance categorization/utilization. Example: ["cooking", "customer support", "billing"] + */ + tags?: string[] | null; + } /** * Represents the aggregation level and interval for pricing of a single SKU. */ @@ -141,6 +346,49 @@ export namespace cloudbilling_v1 { aggregationInterval?: string | null; aggregationLevel?: string | null; } + export interface Schema$APIKeySecurityScheme { + /** + * Description of this security scheme. + */ + description?: string | null; + /** + * Location of the API key, valid values are "query", "header", or "cookie" + */ + location?: string | null; + /** + * Name of the header, query or cookie parameter to be used. + */ + name?: string | null; + } + /** + * Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication. + */ + export interface Schema$Artifact { + /** + * Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task. + */ + artifactId?: string | null; + /** + * A human readable description of the artifact, optional. + */ + description?: string | null; + /** + * The URIs of extensions that are present or contributed to this Artifact. + */ + extensions?: string[] | null; + /** + * Optional metadata included with the artifact. + */ + metadata?: {[key: string]: any} | null; + /** + * A human readable name for the artifact. + */ + name?: string | null; + /** + * The content of the artifact. + */ + parts?: Schema$Part[]; + } /** * 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. */ @@ -167,6 +415,37 @@ export namespace cloudbilling_v1 { */ logType?: string | null; } + /** + * Defines authentication details, used for push notifications. + */ + export interface Schema$AuthenticationInfo { + /** + * Optional credentials + */ + credentials?: string | null; + /** + * Supported authentication schemes - e.g. Basic, Bearer, etc + */ + schemes?: string[] | null; + } + export interface Schema$AuthorizationCodeOAuthFlow { + /** + * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS + */ + authorizationUrl?: string | null; + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + refreshUrl?: string | null; + /** + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. + */ + scopes?: {[key: string]: string} | null; + /** + * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + tokenUrl?: string | null; + } /** * A billing account in the [Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects. */ @@ -213,6 +492,12 @@ export namespace cloudbilling_v1 { */ role?: string | null; } + export interface Schema$CancelTaskRequest { + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string | null; + } /** * Represents the category hierarchy of a SKU. */ @@ -234,6 +519,30 @@ export namespace cloudbilling_v1 { */ usageType?: string | null; } + export interface Schema$ClientCredentialsOAuthFlow { + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + refreshUrl?: string | null; + /** + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. + */ + scopes?: {[key: string]: string} | null; + /** + * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + tokenUrl?: string | null; + } + /** + * DataPart represents a structured blob. This is most commonly a JSON payload. + */ + export interface Schema$DataPart { + data?: {[key: string]: any} | null; + } + /** + * 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); \} + */ + export interface Schema$Empty {} /** * 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. */ @@ -255,6 +564,15 @@ export namespace cloudbilling_v1 { */ title?: string | null; } + /** + * FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source. + */ + export interface Schema$FilePart { + fileWithBytes?: string | null; + fileWithUri?: string | null; + mimeType?: string | null; + name?: string | null; + } /** * Encapsulates the geographic taxonomy data for a sku. */ @@ -268,6 +586,34 @@ export namespace cloudbilling_v1 { */ type?: string | null; } + export interface Schema$HTTPAuthSecurityScheme { + /** + * A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes. + */ + bearerFormat?: string | null; + /** + * Description of this security scheme. + */ + description?: string | null; + /** + * The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive, as defined in RFC7235. + */ + scheme?: string | null; + } + export interface Schema$ImplicitOAuthFlow { + /** + * The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS + */ + authorizationUrl?: string | null; + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + refreshUrl?: string | null; + /** + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. + */ + scopes?: {[key: string]: string} | null; + } /** * Response message for `ListBillingAccounts`. */ @@ -320,6 +666,49 @@ export namespace cloudbilling_v1 { */ skus?: Schema$Sku[]; } + export interface Schema$ListTaskPushNotificationConfigResponse { + /** + * The list of push notification configurations. + */ + configs?: Schema$TaskPushNotificationConfig[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id. + */ + export interface Schema$Message { + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content. + */ + content?: Schema$Part[]; + /** + * The context id of the message. This is optional and if set, the message will be associated with the given context. + */ + contextId?: string | null; + /** + * The URIs of extensions that are present or contributed to this Message. + */ + extensions?: string[] | null; + /** + * The unique identifier (e.g. UUID)of the message. This is required and created by the message creator. + */ + messageId?: string | null; + /** + * protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message. + */ + metadata?: {[key: string]: any} | null; + /** + * A role for the message. + */ + role?: string | null; + /** + * The task id of the message. This is optional and if set, the message will be associated with the given task. + */ + taskId?: string | null; + } /** * Represents an amount of money with its currency type. */ @@ -346,6 +735,68 @@ export namespace cloudbilling_v1 { */ destinationParent?: string | null; } + export interface Schema$MutualTlsSecurityScheme { + /** + * Description of this security scheme. + */ + description?: string | null; + } + export interface Schema$OAuth2SecurityScheme { + /** + * Description of this security scheme. + */ + description?: string | null; + /** + * An object containing configuration information for the flow types supported + */ + flows?: Schema$OAuthFlows; + /** + * URL to the oauth2 authorization server metadata [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414). TLS is required. + */ + oauth2MetadataUrl?: string | null; + } + export interface Schema$OAuthFlows { + authorizationCode?: Schema$AuthorizationCodeOAuthFlow; + clientCredentials?: Schema$ClientCredentialsOAuthFlow; + implicit?: Schema$ImplicitOAuthFlow; + password?: Schema$PasswordOAuthFlow; + } + export interface Schema$OpenIdConnectSecurityScheme { + /** + * Description of this security scheme. + */ + description?: string | null; + /** + * Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata. + */ + openIdConnectUrl?: string | null; + } + /** + * Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON). + */ + export interface Schema$Part { + data?: Schema$DataPart; + file?: Schema$FilePart; + /** + * Optional metadata associated with this part. + */ + metadata?: {[key: string]: any} | null; + text?: string | null; + } + export interface Schema$PasswordOAuthFlow { + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + refreshUrl?: string | null; + /** + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty. + */ + scopes?: {[key: string]: string} | null; + /** + * The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS. + */ + tokenUrl?: string | null; + } /** * 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/). */ @@ -447,34 +898,114 @@ export namespace cloudbilling_v1 { projectId?: string | null; } /** - * Encapsulates a single service in Google Cloud Platform. + * Configuration for setting up push notifications for task updates. */ - export interface Schema$Service { + export interface Schema$PushNotificationConfig { /** - * The business under which the service is offered. Ex. "businessEntities/GCP", "businessEntities/Maps" + * Information about the authentication to sent with the notification */ - businessEntityName?: string | null; + authentication?: Schema$AuthenticationInfo; /** - * A human readable display name for this service. + * A unique identifier (e.g. UUID) for this push notification. */ - displayName?: string | null; + id?: string | null; /** - * The resource name for the service. Example: "services/6F81-5844-456A" + * Token unique for this task/session */ - name?: string | null; + token?: string | null; /** - * The identifier for the service. Example: "6F81-5844-456A" + * Url to send the notification too */ - serviceId?: string | null; + url?: string | null; + } + export interface Schema$Security { + schemes?: {[key: string]: Schema$StringList} | null; + } + export interface Schema$SecurityScheme { + apiKeySecurityScheme?: Schema$APIKeySecurityScheme; + httpAuthSecurityScheme?: Schema$HTTPAuthSecurityScheme; + mtlsSecurityScheme?: Schema$MutualTlsSecurityScheme; + oauth2SecurityScheme?: Schema$OAuth2SecurityScheme; + openIdConnectSecurityScheme?: Schema$OpenIdConnectSecurityScheme; } /** - * Request message for `SetIamPolicy` method. + * Configuration of a send message request. */ - export interface Schema$SetIamPolicyRequest { + export interface Schema$SendMessageConfiguration { /** - * REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them. + * The output modes that the agent is expected to respond with. */ - policy?: Schema$Policy; + acceptedOutputModes?: string[] | null; + /** + * If true, the message will be blocking until the task is completed. If false, the message will be non-blocking and the task will be returned immediately. It is the caller's responsibility to check for any task updates. + */ + blocking?: boolean | null; + /** + * The maximum number of messages to include in the history. if 0, the history will be unlimited. + */ + historyLength?: number | null; + /** + * A configuration of a webhook that can be used to receive updates + */ + pushNotification?: Schema$PushNotificationConfig; + } + /** + * /////////// Request Messages /////////// + */ + export interface Schema$SendMessageRequest { + /** + * Configuration for the send request. + */ + configuration?: Schema$SendMessageConfiguration; + /** + * Required. The message to send to the agent. + */ + message?: Schema$Message; + /** + * Optional metadata for the request. + */ + metadata?: {[key: string]: any} | null; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string | null; + } + /** + * ////// Response Messages /////////// + */ + export interface Schema$SendMessageResponse { + message?: Schema$Message; + task?: Schema$Task; + } + /** + * Encapsulates a single service in Google Cloud Platform. + */ + export interface Schema$Service { + /** + * The business under which the service is offered. Ex. "businessEntities/GCP", "businessEntities/Maps" + */ + businessEntityName?: string | null; + /** + * A human readable display name for this service. + */ + displayName?: string | null; + /** + * The resource name for the service. Example: "services/6F81-5844-456A" + */ + name?: string | null; + /** + * The identifier for the service. Example: "6F81-5844-456A" + */ + serviceId?: string | null; + } + /** + * Request message for `SetIamPolicy` method. + */ + export interface Schema$SetIamPolicyRequest { + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them. + */ + policy?: Schema$Policy; /** * 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"` */ @@ -517,6 +1048,131 @@ export namespace cloudbilling_v1 { */ skuId?: string | null; } + /** + * The stream response for a message. The stream should be one of the following sequences: If the response is a message, the stream should contain one, and only one, message and then close If the response is a task lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A stream that ends before these conditions are met are + */ + export interface Schema$StreamResponse { + artifactUpdate?: Schema$TaskArtifactUpdateEvent; + message?: Schema$Message; + statusUpdate?: Schema$TaskStatusUpdateEvent; + task?: Schema$Task; + } + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED + */ + export interface Schema$StringList { + list?: string[] | null; + } + /** + * Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history. + */ + export interface Schema$Task { + /** + * A set of output artifacts for a Task. + */ + artifacts?: Schema$Artifact[]; + /** + * Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server. + */ + contextId?: string | null; + /** + * protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task. + */ + history?: Schema$Message[]; + /** + * Unique identifier (e.g. UUID) for the task, generated by the server for a new task. + */ + id?: string | null; + /** + * protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task. + */ + metadata?: {[key: string]: any} | null; + /** + * The current status of a Task, including state and a message. + */ + status?: Schema$TaskStatus; + } + /** + * TaskArtifactUpdateEvent represents a task delta where an artifact has been generated. + */ + export interface Schema$TaskArtifactUpdateEvent { + /** + * Whether this should be appended to a prior one produced + */ + append?: boolean | null; + /** + * The artifact itself + */ + artifact?: Schema$Artifact; + /** + * The id of the context that this task belongs too + */ + contextId?: string | null; + /** + * Whether this represents the last part of an artifact + */ + lastChunk?: boolean | null; + /** + * Optional metadata associated with the artifact update. + */ + metadata?: {[key: string]: any} | null; + /** + * The id of the task for this artifact + */ + taskId?: string | null; + } + export interface Schema$TaskPushNotificationConfig { + /** + * The resource name of the config. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + */ + name?: string | null; + /** + * The push notification configuration details. + */ + pushNotificationConfig?: Schema$PushNotificationConfig; + } + /** + * A container for the status of a task + */ + export interface Schema$TaskStatus { + /** + * A message associated with the status. + */ + message?: Schema$Message; + /** + * The current state of this task + */ + state?: string | null; + /** + * Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z" + */ + timestamp?: string | null; + } + /** + * TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed. + */ + export interface Schema$TaskStatusUpdateEvent { + /** + * The id of the context that the task belongs to + */ + contextId?: string | null; + /** + * Whether this is the last status update expected for this task. + */ + final?: boolean | null; + /** + * Optional metadata to associate with the task update. + */ + metadata?: {[key: string]: any} | null; + /** + * The new status of the task. + */ + status?: Schema$TaskStatus; + /** + * The id of the task that is changed + */ + taskId?: string | null; + } /** * Request message for `TestIamPermissions` method. */ @@ -2383,25 +3039,14 @@ export namespace cloudbilling_v1 { parent?: string; } - export class Resource$Organizations { - context: APIRequestContext; - billingAccounts: Resource$Organizations$Billingaccounts; - constructor(context: APIRequestContext) { - this.context = context; - this.billingAccounts = new Resource$Organizations$Billingaccounts( - this.context - ); - } - } - - export class Resource$Organizations$Billingaccounts { + export class Resource$Message { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * This method creates [billing subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts). Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create). When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts. + * Send a message to the agent. This is a blocking call that will return the task once it is completed, or a LRO if requested. * @example * ```js * // Before running the sample: @@ -2424,6 +3069,7 @@ export namespace cloudbilling_v1 { * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', * 'https://www.googleapis.com/auth/cloud-platform', * ], * }); @@ -2433,20 +3079,15 @@ export namespace cloudbilling_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await cloudbilling.organizations.billingAccounts.create({ - * // Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id\}`, for example, `billingAccounts/012345-567890-ABCDEF` - * parent: 'organizations/my-organization', - * + * const res = await cloudbilling.message.send({ * // Request body metadata * requestBody: { * // request body parameters * // { - * // "currencyCode": "my_currencyCode", - * // "displayName": "my_displayName", - * // "masterBillingAccount": "my_masterBillingAccount", - * // "name": "my_name", - * // "open": false, - * // "parent": "my_parent" + * // "configuration": {}, + * // "message": {}, + * // "metadata": {}, + * // "tenant": "my_tenant" * // } * }, * }); @@ -2454,12 +3095,8 @@ export namespace cloudbilling_v1 { * * // Example response * // { - * // "currencyCode": "my_currencyCode", - * // "displayName": "my_displayName", - * // "masterBillingAccount": "my_masterBillingAccount", - * // "name": "my_name", - * // "open": false, - * // "parent": "my_parent" + * // "message": {}, + * // "task": {} * // } * } * @@ -2475,53 +3112,52 @@ export namespace cloudbilling_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Organizations$Billingaccounts$Create, + send( + params: Params$Resource$Message$Send, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Organizations$Billingaccounts$Create, + send( + params?: Params$Resource$Message$Send, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Organizations$Billingaccounts$Create, + ): Promise>; + send( + params: Params$Resource$Message$Send, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Organizations$Billingaccounts$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + send( + params: Params$Resource$Message$Send, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Organizations$Billingaccounts$Create, - callback: BodyResponseCallback + send( + params: Params$Resource$Message$Send, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + send(callback: BodyResponseCallback): void; + send( paramsOrCallback?: - | Params$Resource$Organizations$Billingaccounts$Create - | BodyResponseCallback + | Params$Resource$Message$Send + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Billingaccounts$Create; + let params = (paramsOrCallback || {}) as Params$Resource$Message$Send; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizations$Billingaccounts$Create; + params = {} as Params$Resource$Message$Send; options = {}; } @@ -2534,32 +3170,29 @@ export namespace cloudbilling_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/billingAccounts').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1/message:send').replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: [], + pathParams: [], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). + * SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state. * @example * ```js * // Before running the sample: @@ -2592,22 +3225,26 @@ export namespace cloudbilling_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await cloudbilling.organizations.billingAccounts.list({ - * // Options for how to filter the returned billing accounts. This only supports filtering for [subaccounts](https://cloud.google.com/billing/docs/concepts) under a single provided parent billing account. (for example, `master_billing_account=billingAccounts/012345-678901-ABCDEF`). Boolean algebra and other fields are not currently supported. - * filter: 'placeholder-value', - * // Requested page size. The maximum page size is 100; this is also the default. - * pageSize: 'placeholder-value', - * // A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned. - * pageToken: 'placeholder-value', - * // Optional. The parent resource to list billing accounts from. Format: - `organizations/{organization_id\}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id\}`, for example, `billingAccounts/012345-567890-ABCDEF` - * parent: 'organizations/my-organization', + * const res = await cloudbilling.message.stream({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "configuration": {}, + * // "message": {}, + * // "metadata": {}, + * // "tenant": "my_tenant" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "billingAccounts": [], - * // "nextPageToken": "my_nextPageToken" + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} * // } * } * @@ -2623,57 +3260,52 @@ export namespace cloudbilling_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Organizations$Billingaccounts$List, + stream( + params: Params$Resource$Message$Stream, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Organizations$Billingaccounts$List, + stream( + params?: Params$Resource$Message$Stream, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Organizations$Billingaccounts$List, + ): Promise>; + stream( + params: Params$Resource$Message$Stream, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Organizations$Billingaccounts$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Organizations$Billingaccounts$List, - callback: BodyResponseCallback + stream( + params: Params$Resource$Message$Stream, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + stream( + params: Params$Resource$Message$Stream, + callback: BodyResponseCallback ): void; - list( + stream(callback: BodyResponseCallback): void; + stream( paramsOrCallback?: - | Params$Resource$Organizations$Billingaccounts$List - | BodyResponseCallback + | Params$Resource$Message$Stream + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Billingaccounts$List; + let params = (paramsOrCallback || {}) as Params$Resource$Message$Stream; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizations$Billingaccounts$List; + params = {} as Params$Resource$Message$Stream; options = {}; } @@ -2686,54 +3318,1556 @@ export namespace cloudbilling_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/billingAccounts').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1/message:stream').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: [], + pathParams: [], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Message$Send extends StandardParameters { /** - * Changes which parent organization a billing account belongs to. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const cloudbilling = google.cloudbilling('v1'); - * - * async function main() { + * Request body metadata + */ + requestBody?: Schema$SendMessageRequest; + } + export interface Params$Resource$Message$Stream extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$SendMessageRequest; + } + + export class Resource$Organizations { + context: APIRequestContext; + billingAccounts: Resource$Organizations$Billingaccounts; + constructor(context: APIRequestContext) { + this.context = context; + this.billingAccounts = new Resource$Organizations$Billingaccounts( + this.context + ); + } + } + + export class Resource$Organizations$Billingaccounts { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * This method creates [billing subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts). Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create). When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.organizations.billingAccounts.create({ + * // Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id\}`, for example, `billingAccounts/012345-567890-ABCDEF` + * parent: 'organizations/my-organization', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "currencyCode": "my_currencyCode", + * // "displayName": "my_displayName", + * // "masterBillingAccount": "my_masterBillingAccount", + * // "name": "my_name", + * // "open": false, + * // "parent": "my_parent" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "currencyCode": "my_currencyCode", + * // "displayName": "my_displayName", + * // "masterBillingAccount": "my_masterBillingAccount", + * // "name": "my_name", + * // "open": false, + * // "parent": "my_parent" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Organizations$Billingaccounts$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Organizations$Billingaccounts$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Organizations$Billingaccounts$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Billingaccounts$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Billingaccounts$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Organizations$Billingaccounts$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Billingaccounts$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Billingaccounts$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/billingAccounts').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.organizations.billingAccounts.list({ + * // Options for how to filter the returned billing accounts. This only supports filtering for [subaccounts](https://cloud.google.com/billing/docs/concepts) under a single provided parent billing account. (for example, `master_billing_account=billingAccounts/012345-678901-ABCDEF`). Boolean algebra and other fields are not currently supported. + * filter: 'placeholder-value', + * // Requested page size. The maximum page size is 100; this is also the default. + * pageSize: 'placeholder-value', + * // A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned. + * pageToken: 'placeholder-value', + * // Optional. The parent resource to list billing accounts from. Format: - `organizations/{organization_id\}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id\}`, for example, `billingAccounts/012345-567890-ABCDEF` + * parent: 'organizations/my-organization', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "billingAccounts": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Billingaccounts$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Organizations$Billingaccounts$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Organizations$Billingaccounts$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Billingaccounts$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Billingaccounts$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Billingaccounts$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Billingaccounts$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Billingaccounts$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/billingAccounts').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Changes which parent organization a billing account belongs to. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.organizations.billingAccounts.move({ + * // Required. The resource name of the Organization to move the billing account under. Must be of the form `organizations/{organization_id\}`. + * destinationParent: 'organizations/my-organization', + * // Required. The resource name of the billing account to move. Must be of the form `billingAccounts/{billing_account_id\}`. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account. + * name: 'billingAccounts/my-billingAccount', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "currencyCode": "my_currencyCode", + * // "displayName": "my_displayName", + * // "masterBillingAccount": "my_masterBillingAccount", + * // "name": "my_name", + * // "open": false, + * // "parent": "my_parent" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + move( + params: Params$Resource$Organizations$Billingaccounts$Move, + options: StreamMethodOptions + ): Promise>; + move( + params?: Params$Resource$Organizations$Billingaccounts$Move, + options?: MethodOptions + ): Promise>; + move( + params: Params$Resource$Organizations$Billingaccounts$Move, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + move( + params: Params$Resource$Organizations$Billingaccounts$Move, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + move( + params: Params$Resource$Organizations$Billingaccounts$Move, + callback: BodyResponseCallback + ): void; + move(callback: BodyResponseCallback): void; + move( + paramsOrCallback?: + | Params$Resource$Organizations$Billingaccounts$Move + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Billingaccounts$Move; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Billingaccounts$Move; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+destinationParent}/{+name}:move').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['destinationParent', 'name'], + pathParams: ['destinationParent', 'name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Billingaccounts$Create extends StandardParameters { + /** + * Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id\}`, for example, `billingAccounts/012345-567890-ABCDEF` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BillingAccount; + } + export interface Params$Resource$Organizations$Billingaccounts$List extends StandardParameters { + /** + * Options for how to filter the returned billing accounts. This only supports filtering for [subaccounts](https://cloud.google.com/billing/docs/concepts) under a single provided parent billing account. (for example, `master_billing_account=billingAccounts/012345-678901-ABCDEF`). Boolean algebra and other fields are not currently supported. + */ + filter?: string; + /** + * Requested page size. The maximum page size is 100; this is also the default. + */ + pageSize?: number; + /** + * A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned. + */ + pageToken?: string; + /** + * Optional. The parent resource to list billing accounts from. Format: - `organizations/{organization_id\}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id\}`, for example, `billingAccounts/012345-567890-ABCDEF` + */ + parent?: string; + } + export interface Params$Resource$Organizations$Billingaccounts$Move extends StandardParameters { + /** + * Required. The resource name of the Organization to move the billing account under. Must be of the form `organizations/{organization_id\}`. + */ + destinationParent?: string; + /** + * Required. The resource name of the billing account to move. Must be of the form `billingAccounts/{billing_account_id\}`. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account. + */ + name?: string; + } + + export class Resource$Projects { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.projects.getBillingInfo({ + * // Required. The resource name of the project for which billing information is retrieved. For example, `projects/tokyo-rain-123`. + * name: 'projects/my-project', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "billingAccountName": "my_billingAccountName", + * // "billingEnabled": false, + * // "name": "my_name", + * // "projectId": "my_projectId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getBillingInfo( + params: Params$Resource$Projects$Getbillinginfo, + options: StreamMethodOptions + ): Promise>; + getBillingInfo( + params?: Params$Resource$Projects$Getbillinginfo, + options?: MethodOptions + ): Promise>; + getBillingInfo( + params: Params$Resource$Projects$Getbillinginfo, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getBillingInfo( + params: Params$Resource$Projects$Getbillinginfo, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getBillingInfo( + params: Params$Resource$Projects$Getbillinginfo, + callback: BodyResponseCallback + ): void; + getBillingInfo( + callback: BodyResponseCallback + ): void; + getBillingInfo( + paramsOrCallback?: + | Params$Resource$Projects$Getbillinginfo + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Getbillinginfo; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Getbillinginfo; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/billingInfo').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets or updates the billing account associated with a project. You specify the new billing account by setting the `billing_account_name` in the `ProjectBillingInfo` resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges. *Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project. The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access). You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project. Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an *open* billing account. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.projects.updateBillingInfo({ + * // Required. The resource name of the project associated with the billing information that you want to update. For example, `projects/tokyo-rain-123`. + * name: 'projects/my-project', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "billingAccountName": "my_billingAccountName", + * // "billingEnabled": false, + * // "name": "my_name", + * // "projectId": "my_projectId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "billingAccountName": "my_billingAccountName", + * // "billingEnabled": false, + * // "name": "my_name", + * // "projectId": "my_projectId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateBillingInfo( + params: Params$Resource$Projects$Updatebillinginfo, + options: StreamMethodOptions + ): Promise>; + updateBillingInfo( + params?: Params$Resource$Projects$Updatebillinginfo, + options?: MethodOptions + ): Promise>; + updateBillingInfo( + params: Params$Resource$Projects$Updatebillinginfo, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateBillingInfo( + params: Params$Resource$Projects$Updatebillinginfo, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateBillingInfo( + params: Params$Resource$Projects$Updatebillinginfo, + callback: BodyResponseCallback + ): void; + updateBillingInfo( + callback: BodyResponseCallback + ): void; + updateBillingInfo( + paramsOrCallback?: + | Params$Resource$Projects$Updatebillinginfo + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Updatebillinginfo; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Updatebillinginfo; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/billingInfo').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'PUT', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Getbillinginfo extends StandardParameters { + /** + * Required. The resource name of the project for which billing information is retrieved. For example, `projects/tokyo-rain-123`. + */ + name?: string; + } + export interface Params$Resource$Projects$Updatebillinginfo extends StandardParameters { + /** + * Required. The resource name of the project associated with the billing information that you want to update. For example, `projects/tokyo-rain-123`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProjectBillingInfo; + } + + export class Resource$Services { + context: APIRequestContext; + skus: Resource$Services$Skus; + constructor(context: APIRequestContext) { + this.context = context; + this.skus = new Resource$Services$Skus(this.context); + } + + /** + * Lists all public cloud services. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.services.list({ + * // Requested page size. Defaults to 5000. + * pageSize: 'placeholder-value', + * // A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListServices` call. If unspecified, the first page of results is returned. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "services": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Services$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Services$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Services$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Services$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Services$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Services$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Services$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Services$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/services').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Services$List extends StandardParameters { + /** + * Requested page size. Defaults to 5000. + */ + pageSize?: number; + /** + * A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListServices` call. If unspecified, the first page of results is returned. + */ + pageToken?: string; + } + + export class Resource$Services$Skus { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists all publicly available SKUs for a given cloud service. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.services.skus.list({ + * // The ISO 4217 currency code for the pricing info in the response proto. Will use the conversion rate as of start_time. Optional. If not specified USD will be used. + * currencyCode: 'placeholder-value', + * // Optional exclusive end time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). + * endTime: 'placeholder-value', + * // Requested page size. Defaults to 5000. + * pageSize: 'placeholder-value', + * // A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListSkus` call. If unspecified, the first page of results is returned. + * pageToken: 'placeholder-value', + * // Required. The name of the service. Example: "services/6F81-5844-456A" + * parent: 'services/my-service', + * // Optional inclusive start time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). + * startTime: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "skus": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Services$Skus$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Services$Skus$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Services$Skus$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Services$Skus$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Services$Skus$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Services$Skus$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Services$Skus$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Services$Skus$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/skus').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Services$Skus$List extends StandardParameters { + /** + * The ISO 4217 currency code for the pricing info in the response proto. Will use the conversion rate as of start_time. Optional. If not specified USD will be used. + */ + currencyCode?: string; + /** + * Optional exclusive end time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). + */ + endTime?: string; + /** + * Requested page size. Defaults to 5000. + */ + pageSize?: number; + /** + * A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListSkus` call. If unspecified, the first page of results is returned. + */ + pageToken?: string; + /** + * Required. The name of the service. Example: "services/6F81-5844-456A" + */ + parent?: string; + /** + * Optional inclusive start time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). + */ + startTime?: string; + } + + export class Resource$Tasks { + context: APIRequestContext; + pushNotificationConfigs: Resource$Tasks$Pushnotificationconfigs; + constructor(context: APIRequestContext) { + this.context = context; + this.pushNotificationConfigs = new Resource$Tasks$Pushnotificationconfigs( + this.context + ); + } + + /** + * Cancel a task from the agent. If supported one should expect no more task updates for the task. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.tasks.cancel({ + * // The resource name of the task to cancel. Format: tasks/{task_id\} + * name: 'tasks/my-task', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "tenant": "my_tenant" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "artifacts": [], + * // "contextId": "my_contextId", + * // "history": [], + * // "id": "my_id", + * // "metadata": {}, + * // "status": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Tasks$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Tasks$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Tasks$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Tasks$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Tasks$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Tasks$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Tasks$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Tasks$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Get the current state of a task from the agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.tasks.get({ + * // The number of most recent messages from the task's history to retrieve. + * historyLength: 'placeholder-value', + * // Required. The resource name of the task. Format: tasks/{task_id\} + * name: 'tasks/my-task', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "artifacts": [], + * // "contextId": "my_contextId", + * // "history": [], + * // "id": "my_id", + * // "metadata": {}, + * // "status": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Tasks$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Tasks$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Tasks$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Tasks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Tasks$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Tasks$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Tasks$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Tasks$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * TaskSubscription is a streaming call that will return a stream of task update events. This attaches the stream to an existing in process task. If the task is complete the stream will return the completed task (like GetTask) and close the stream. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', * 'https://www.googleapis.com/auth/cloud-platform', * ], * }); @@ -2743,22 +4877,20 @@ export namespace cloudbilling_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await cloudbilling.organizations.billingAccounts.move({ - * // Required. The resource name of the Organization to move the billing account under. Must be of the form `organizations/{organization_id\}`. - * destinationParent: 'organizations/my-organization', - * // Required. The resource name of the billing account to move. Must be of the form `billingAccounts/{billing_account_id\}`. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account. - * name: 'billingAccounts/my-billingAccount', + * const res = await cloudbilling.tasks.subscribe({ + * // The resource name of the task to subscribe to. Format: tasks/{task_id\} + * name: 'tasks/my-task', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "currencyCode": "my_currencyCode", - * // "displayName": "my_displayName", - * // "masterBillingAccount": "my_masterBillingAccount", - * // "name": "my_name", - * // "open": false, - * // "parent": "my_parent" + * // "artifactUpdate": {}, + * // "message": {}, + * // "statusUpdate": {}, + * // "task": {} * // } * } * @@ -2774,53 +4906,52 @@ export namespace cloudbilling_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - move( - params: Params$Resource$Organizations$Billingaccounts$Move, + subscribe( + params: Params$Resource$Tasks$Subscribe, options: StreamMethodOptions ): Promise>; - move( - params?: Params$Resource$Organizations$Billingaccounts$Move, + subscribe( + params?: Params$Resource$Tasks$Subscribe, options?: MethodOptions - ): Promise>; - move( - params: Params$Resource$Organizations$Billingaccounts$Move, + ): Promise>; + subscribe( + params: Params$Resource$Tasks$Subscribe, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - move( - params: Params$Resource$Organizations$Billingaccounts$Move, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + subscribe( + params: Params$Resource$Tasks$Subscribe, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - move( - params: Params$Resource$Organizations$Billingaccounts$Move, - callback: BodyResponseCallback + subscribe( + params: Params$Resource$Tasks$Subscribe, + callback: BodyResponseCallback ): void; - move(callback: BodyResponseCallback): void; - move( + subscribe(callback: BodyResponseCallback): void; + subscribe( paramsOrCallback?: - | Params$Resource$Organizations$Billingaccounts$Move - | BodyResponseCallback + | Params$Resource$Tasks$Subscribe + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Billingaccounts$Move; + let params = (paramsOrCallback || {}) as Params$Resource$Tasks$Subscribe; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizations$Billingaccounts$Move; + params = {} as Params$Resource$Tasks$Subscribe; options = {}; } @@ -2833,7 +4964,7 @@ export namespace cloudbilling_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+destinationParent}/{+name}:move').replace( + url: (rootUrl + '/v1/{+name}:subscribe').replace( /([^:]\/)\/+/g, '$1' ), @@ -2843,69 +4974,65 @@ export namespace cloudbilling_v1 { options ), params, - requiredParams: ['destinationParent', 'name'], - pathParams: ['destinationParent', 'name'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Organizations$Billingaccounts$Create extends StandardParameters { + export interface Params$Resource$Tasks$Cancel extends StandardParameters { /** - * Optional. The parent to create a billing account from. Format: - `billingAccounts/{billing_account_id\}`, for example, `billingAccounts/012345-567890-ABCDEF` + * The resource name of the task to cancel. Format: tasks/{task_id\} */ - parent?: string; + name?: string; /** * Request body metadata */ - requestBody?: Schema$BillingAccount; + requestBody?: Schema$CancelTaskRequest; } - export interface Params$Resource$Organizations$Billingaccounts$List extends StandardParameters { - /** - * Options for how to filter the returned billing accounts. This only supports filtering for [subaccounts](https://cloud.google.com/billing/docs/concepts) under a single provided parent billing account. (for example, `master_billing_account=billingAccounts/012345-678901-ABCDEF`). Boolean algebra and other fields are not currently supported. - */ - filter?: string; + export interface Params$Resource$Tasks$Get extends StandardParameters { /** - * Requested page size. The maximum page size is 100; this is also the default. + * The number of most recent messages from the task's history to retrieve. */ - pageSize?: number; + historyLength?: number; /** - * A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned. + * Required. The resource name of the task. Format: tasks/{task_id\} */ - pageToken?: string; + name?: string; /** - * Optional. The parent resource to list billing accounts from. Format: - `organizations/{organization_id\}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id\}`, for example, `billingAccounts/012345-567890-ABCDEF` + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. */ - parent?: string; + tenant?: string; } - export interface Params$Resource$Organizations$Billingaccounts$Move extends StandardParameters { + export interface Params$Resource$Tasks$Subscribe extends StandardParameters { /** - * Required. The resource name of the Organization to move the billing account under. Must be of the form `organizations/{organization_id\}`. + * The resource name of the task to subscribe to. Format: tasks/{task_id\} */ - destinationParent?: string; + name?: string; /** - * Required. The resource name of the billing account to move. Must be of the form `billingAccounts/{billing_account_id\}`. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account. + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. */ - name?: string; + tenant?: string; } - export class Resource$Projects { + export class Resource$Tasks$Pushnotificationconfigs { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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. + * Set a push notification config for a task. * @example * ```js * // Before running the sample: @@ -2938,18 +5065,29 @@ export namespace cloudbilling_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await cloudbilling.projects.getBillingInfo({ - * // Required. The resource name of the project for which billing information is retrieved. For example, `projects/tokyo-rain-123`. - * name: 'projects/my-project', + * const res = await cloudbilling.tasks.pushNotificationConfigs.create({ + * // Required. The ID for the new config. + * configId: 'placeholder-value', + * // Required. The parent task resource for this config. Format: tasks/{task_id\} + * parent: 'tasks/my-task/pushNotificationConfigs', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name", + * // "pushNotificationConfig": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "billingAccountName": "my_billingAccountName", - * // "billingEnabled": false, * // "name": "my_name", - * // "projectId": "my_projectId" + * // "pushNotificationConfig": {} * // } * } * @@ -2965,55 +5103,193 @@ export namespace cloudbilling_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getBillingInfo( - params: Params$Resource$Projects$Getbillinginfo, + create( + params: Params$Resource$Tasks$Pushnotificationconfigs$Create, options: StreamMethodOptions ): Promise>; - getBillingInfo( - params?: Params$Resource$Projects$Getbillinginfo, + create( + params?: Params$Resource$Tasks$Pushnotificationconfigs$Create, options?: MethodOptions - ): Promise>; - getBillingInfo( - params: Params$Resource$Projects$Getbillinginfo, + ): Promise>; + create( + params: Params$Resource$Tasks$Pushnotificationconfigs$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getBillingInfo( - params: Params$Resource$Projects$Getbillinginfo, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Tasks$Pushnotificationconfigs$Create, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Tasks$Pushnotificationconfigs$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Tasks$Pushnotificationconfigs$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Tasks$Pushnotificationconfigs$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Tasks$Pushnotificationconfigs$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudbilling.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a push notification config for a task. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudbilling.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudbilling = google.cloudbilling('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudbilling.tasks.pushNotificationConfigs.delete({ + * // The resource name of the config to delete. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + * name: 'tasks/my-task/pushNotificationConfigs/my-pushNotificationConfig', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Tasks$Pushnotificationconfigs$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Tasks$Pushnotificationconfigs$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Tasks$Pushnotificationconfigs$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getBillingInfo( - params: Params$Resource$Projects$Getbillinginfo, - callback: BodyResponseCallback + delete( + params: Params$Resource$Tasks$Pushnotificationconfigs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getBillingInfo( - callback: BodyResponseCallback + delete( + params: Params$Resource$Tasks$Pushnotificationconfigs$Delete, + callback: BodyResponseCallback ): void; - getBillingInfo( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Getbillinginfo - | BodyResponseCallback + | Params$Resource$Tasks$Pushnotificationconfigs$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Getbillinginfo; + {}) as Params$Resource$Tasks$Pushnotificationconfigs$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Getbillinginfo; + params = {} as Params$Resource$Tasks$Pushnotificationconfigs$Delete; options = {}; } @@ -3026,11 +5302,8 @@ export namespace cloudbilling_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}/billingInfo').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options @@ -3041,17 +5314,17 @@ export namespace cloudbilling_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets or updates the billing account associated with a project. You specify the new billing account by setting the `billing_account_name` in the `ProjectBillingInfo` resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges. *Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project. The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access). You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project. Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an *open* billing account. + * Get a push notification config for a task. * @example * ```js * // Before running the sample: @@ -3074,6 +5347,7 @@ export namespace cloudbilling_v1 { * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ * 'https://www.googleapis.com/auth/cloud-billing', + * 'https://www.googleapis.com/auth/cloud-billing.readonly', * 'https://www.googleapis.com/auth/cloud-platform', * ], * }); @@ -3083,29 +5357,18 @@ export namespace cloudbilling_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await cloudbilling.projects.updateBillingInfo({ - * // Required. The resource name of the project associated with the billing information that you want to update. For example, `projects/tokyo-rain-123`. - * name: 'projects/my-project', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "billingAccountName": "my_billingAccountName", - * // "billingEnabled": false, - * // "name": "my_name", - * // "projectId": "my_projectId" - * // } - * }, + * const res = await cloudbilling.tasks.pushNotificationConfigs.get({ + * // The resource name of the config to retrieve. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + * name: 'tasks/my-task/pushNotificationConfigs/my-pushNotificationConfig', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "billingAccountName": "my_billingAccountName", - * // "billingEnabled": false, * // "name": "my_name", - * // "projectId": "my_projectId" + * // "pushNotificationConfig": {} * // } * } * @@ -3121,55 +5384,56 @@ export namespace cloudbilling_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updateBillingInfo( - params: Params$Resource$Projects$Updatebillinginfo, + get( + params: Params$Resource$Tasks$Pushnotificationconfigs$Get, options: StreamMethodOptions ): Promise>; - updateBillingInfo( - params?: Params$Resource$Projects$Updatebillinginfo, + get( + params?: Params$Resource$Tasks$Pushnotificationconfigs$Get, options?: MethodOptions - ): Promise>; - updateBillingInfo( - params: Params$Resource$Projects$Updatebillinginfo, + ): Promise>; + get( + params: Params$Resource$Tasks$Pushnotificationconfigs$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateBillingInfo( - params: Params$Resource$Projects$Updatebillinginfo, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Tasks$Pushnotificationconfigs$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - updateBillingInfo( - params: Params$Resource$Projects$Updatebillinginfo, - callback: BodyResponseCallback + get( + params: Params$Resource$Tasks$Pushnotificationconfigs$Get, + callback: BodyResponseCallback ): void; - updateBillingInfo( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - updateBillingInfo( + get( paramsOrCallback?: - | Params$Resource$Projects$Updatebillinginfo - | BodyResponseCallback + | Params$Resource$Tasks$Pushnotificationconfigs$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Updatebillinginfo; + {}) as Params$Resource$Tasks$Pushnotificationconfigs$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Updatebillinginfo; + params = {} as Params$Resource$Tasks$Pushnotificationconfigs$Get; options = {}; } @@ -3182,11 +5446,8 @@ export namespace cloudbilling_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}/billingInfo').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'PUT', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options @@ -3197,44 +5458,17 @@ export namespace cloudbilling_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Getbillinginfo extends StandardParameters { - /** - * Required. The resource name of the project for which billing information is retrieved. For example, `projects/tokyo-rain-123`. - */ - name?: string; - } - export interface Params$Resource$Projects$Updatebillinginfo extends StandardParameters { - /** - * Required. The resource name of the project associated with the billing information that you want to update. For example, `projects/tokyo-rain-123`. - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ProjectBillingInfo; - } - - export class Resource$Services { - context: APIRequestContext; - skus: Resource$Services$Skus; - constructor(context: APIRequestContext) { - this.context = context; - this.skus = new Resource$Services$Skus(this.context); - } /** - * Lists all public cloud services. + * Get a list of push notifications configured for a task. * @example * ```js * // Before running the sample: @@ -3267,18 +5501,22 @@ export namespace cloudbilling_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await cloudbilling.services.list({ - * // Requested page size. Defaults to 5000. + * const res = await cloudbilling.tasks.pushNotificationConfigs.list({ + * // For AIP-158 these fields are present. Usually not used/needed. The maximum number of configurations to return. If unspecified, all configs will be returned. * pageSize: 'placeholder-value', - * // A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListServices` call. If unspecified, the first page of results is returned. + * // A page token received from a previous ListTaskPushNotificationConfigRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTaskPushNotificationConfigRequest` must match the call that provided the page token. * pageToken: 'placeholder-value', + * // The parent task resource. Format: tasks/{task_id\} + * parent: 'tasks/my-task', + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "services": [] + * // "configs": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -3295,52 +5533,60 @@ export namespace cloudbilling_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Services$List, + params: Params$Resource$Tasks$Pushnotificationconfigs$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Services$List, + params?: Params$Resource$Tasks$Pushnotificationconfigs$List, options?: MethodOptions - ): Promise>; + ): Promise< + GaxiosResponseWithHTTP2 + >; list( - params: Params$Resource$Services$List, + params: Params$Resource$Tasks$Pushnotificationconfigs$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Services$List, + params: Params$Resource$Tasks$Pushnotificationconfigs$List, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Services$List, - callback: BodyResponseCallback + params: Params$Resource$Tasks$Pushnotificationconfigs$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Services$List - | BodyResponseCallback + | Params$Resource$Tasks$Pushnotificationconfigs$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Services$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Tasks$Pushnotificationconfigs$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Services$List; + params = {} as Params$Resource$Tasks$Pushnotificationconfigs$List; options = {}; } @@ -3353,47 +5599,99 @@ export namespace cloudbilling_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/services').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+parent}/pushNotificationConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: [], - pathParams: [], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Services$List extends StandardParameters { + export interface Params$Resource$Tasks$Pushnotificationconfigs$Create extends StandardParameters { /** - * Requested page size. Defaults to 5000. + * Required. The ID for the new config. + */ + configId?: string; + /** + * Required. The parent task resource for this config. Format: tasks/{task_id\} + */ + parent?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TaskPushNotificationConfig; + } + export interface Params$Resource$Tasks$Pushnotificationconfigs$Delete extends StandardParameters { + /** + * The resource name of the config to delete. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + */ + name?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + } + export interface Params$Resource$Tasks$Pushnotificationconfigs$Get extends StandardParameters { + /** + * The resource name of the config to retrieve. Format: tasks/{task_id\}/pushNotificationConfigs/{config_id\} + */ + name?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; + } + export interface Params$Resource$Tasks$Pushnotificationconfigs$List extends StandardParameters { + /** + * For AIP-158 these fields are present. Usually not used/needed. The maximum number of configurations to return. If unspecified, all configs will be returned. */ pageSize?: number; /** - * A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListServices` call. If unspecified, the first page of results is returned. + * A page token received from a previous ListTaskPushNotificationConfigRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTaskPushNotificationConfigRequest` must match the call that provided the page token. */ pageToken?: string; + /** + * The parent task resource. Format: tasks/{task_id\} + */ + parent?: string; + /** + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + */ + tenant?: string; } - export class Resource$Services$Skus { + export class Resource$V1 { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Lists all publicly available SKUs for a given cloud service. + * GetAgentCard returns the agent card for the agent. * @example * ```js * // Before running the sample: @@ -3426,26 +5724,32 @@ export namespace cloudbilling_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await cloudbilling.services.skus.list({ - * // The ISO 4217 currency code for the pricing info in the response proto. Will use the conversion rate as of start_time. Optional. If not specified USD will be used. - * currencyCode: 'placeholder-value', - * // Optional exclusive end time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). - * endTime: 'placeholder-value', - * // Requested page size. Defaults to 5000. - * pageSize: 'placeholder-value', - * // A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListSkus` call. If unspecified, the first page of results is returned. - * pageToken: 'placeholder-value', - * // Required. The name of the service. Example: "services/6F81-5844-456A" - * parent: 'services/my-service', - * // Optional inclusive start time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). - * startTime: 'placeholder-value', + * const res = await cloudbilling.getCard({ + * // Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. + * tenant: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "skus": [] + * // "additionalInterfaces": [], + * // "capabilities": {}, + * // "defaultInputModes": [], + * // "defaultOutputModes": [], + * // "description": "my_description", + * // "documentationUrl": "my_documentationUrl", + * // "iconUrl": "my_iconUrl", + * // "name": "my_name", + * // "preferredTransport": "my_preferredTransport", + * // "protocolVersion": "my_protocolVersion", + * // "provider": {}, + * // "security": [], + * // "securitySchemes": {}, + * // "signatures": [], + * // "skills": [], + * // "supportsAuthenticatedExtendedCard": false, + * // "url": "my_url", + * // "version": "my_version" * // } * } * @@ -3461,53 +5765,51 @@ export namespace cloudbilling_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Services$Skus$List, + getCard( + params: Params$Resource$V1$Getcard, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Services$Skus$List, + getCard( + params?: Params$Resource$V1$Getcard, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Services$Skus$List, + ): Promise>; + getCard( + params: Params$Resource$V1$Getcard, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Services$Skus$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getCard( + params: Params$Resource$V1$Getcard, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Services$Skus$List, - callback: BodyResponseCallback + getCard( + params: Params$Resource$V1$Getcard, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + getCard(callback: BodyResponseCallback): void; + getCard( paramsOrCallback?: - | Params$Resource$Services$Skus$List - | BodyResponseCallback + | Params$Resource$V1$Getcard + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Services$Skus$List; + let params = (paramsOrCallback || {}) as Params$Resource$V1$Getcard; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Services$Skus$List; + params = {} as Params$Resource$V1$Getcard; options = {}; } @@ -3520,52 +5822,32 @@ export namespace cloudbilling_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/skus').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/card').replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: [], + pathParams: [], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Services$Skus$List extends StandardParameters { - /** - * The ISO 4217 currency code for the pricing info in the response proto. Will use the conversion rate as of start_time. Optional. If not specified USD will be used. - */ - currencyCode?: string; - /** - * Optional exclusive end time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). - */ - endTime?: string; - /** - * Requested page size. Defaults to 5000. - */ - pageSize?: number; - /** - * A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListSkus` call. If unspecified, the first page of results is returned. - */ - pageToken?: string; - /** - * Required. The name of the service. Example: "services/6F81-5844-456A" - */ - parent?: string; + export interface Params$Resource$V1$Getcard extends StandardParameters { /** - * Optional inclusive start time of the time range for which the pricing versions will be returned. Timestamps in the future are not allowed. The time range has to be within a single calendar month in America/Los_Angeles timezone. Time range as a whole is optional. If not specified, the latest pricing will be returned (up to 12 hours old at most). + * Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release. */ - startTime?: string; + tenant?: string; } } diff --git a/src/apis/cloudbuild/package.json b/src/apis/cloudbuild/package.json index 448b3fd90e6..2996b8ed8f7 100644 --- a/src/apis/cloudbuild/package.json +++ b/src/apis/cloudbuild/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudchannel/package.json b/src/apis/cloudchannel/package.json index db1c06faacb..1a057cb3459 100644 --- a/src/apis/cloudchannel/package.json +++ b/src/apis/cloudchannel/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudcommerceprocurement/package.json b/src/apis/cloudcommerceprocurement/package.json index 0badb312c5c..6cd70ca943a 100644 --- a/src/apis/cloudcommerceprocurement/package.json +++ b/src/apis/cloudcommerceprocurement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudcontrolspartner/package.json b/src/apis/cloudcontrolspartner/package.json index fdf44dd2486..498d5103e11 100644 --- a/src/apis/cloudcontrolspartner/package.json +++ b/src/apis/cloudcontrolspartner/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/clouddebugger/package.json b/src/apis/clouddebugger/package.json index fa4dd3529a1..f0012e401d4 100644 --- a/src/apis/clouddebugger/package.json +++ b/src/apis/clouddebugger/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/clouddeploy/package.json b/src/apis/clouddeploy/package.json index a97869fc560..1c747ab26e9 100644 --- a/src/apis/clouddeploy/package.json +++ b/src/apis/clouddeploy/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/clouderrorreporting/package.json b/src/apis/clouderrorreporting/package.json index d2959776660..fc291199126 100644 --- a/src/apis/clouderrorreporting/package.json +++ b/src/apis/clouderrorreporting/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudfunctions/package.json b/src/apis/cloudfunctions/package.json index a9ffc794a9d..b4190ca4928 100644 --- a/src/apis/cloudfunctions/package.json +++ b/src/apis/cloudfunctions/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudidentity/package.json b/src/apis/cloudidentity/package.json index 5257ba696f3..a53a0a9f204 100644 --- a/src/apis/cloudidentity/package.json +++ b/src/apis/cloudidentity/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudidentity/v1.ts b/src/apis/cloudidentity/v1.ts index 999787cda87..5c1c644c0c4 100644 --- a/src/apis/cloudidentity/v1.ts +++ b/src/apis/cloudidentity/v1.ts @@ -7272,7 +7272,7 @@ export namespace cloudidentity_v1 { * pageSize: 'placeholder-value', * // The `next_page_token` value returned from a previous search request, if any. * pageToken: 'placeholder-value', - * // Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` + * // Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). See [CEL Introduction](https://github.com/google/cel-spec/blob/master/doc/intro.md) for CEL syntax usage and examples. * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` Examples: * Search for all discussion forums under a customer: `parent == 'customers/C046psxkn' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels` * Search for groups with key starting with 'sales': `parent == 'customers/C046psxkn' && group_key.startsWith('sales')` * Search for groups with display name containing 'test': `parent == 'customers/C046psxkn' && display_name.contains('test')` * query: 'placeholder-value', * // The level of detail to be returned. If unspecified, defaults to `View.BASIC`. * view: 'placeholder-value', @@ -7620,7 +7620,7 @@ export namespace cloudidentity_v1 { */ pageToken?: string; /** - * Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` + * Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). See [CEL Introduction](https://github.com/google/cel-spec/blob/master/doc/intro.md) for CEL syntax usage and examples. * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` Examples: * Search for all discussion forums under a customer: `parent == 'customers/C046psxkn' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels` * Search for groups with key starting with 'sales': `parent == 'customers/C046psxkn' && group_key.startsWith('sales')` * Search for groups with display name containing 'test': `parent == 'customers/C046psxkn' && display_name.contains('test')` */ query?: string; /** diff --git a/src/apis/cloudidentity/v1beta1.ts b/src/apis/cloudidentity/v1beta1.ts index 3831f176fe5..6027229568d 100644 --- a/src/apis/cloudidentity/v1beta1.ts +++ b/src/apis/cloudidentity/v1beta1.ts @@ -7697,7 +7697,7 @@ export namespace cloudidentity_v1beta1 { * pageSize: 'placeholder-value', * // The `next_page_token` value returned from a previous search request, if any. * pageToken: 'placeholder-value', - * // Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` + * // Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). See [CEL Introduction](https://github.com/google/cel-spec/blob/master/doc/intro.md) for CEL syntax usage and examples. * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` Examples: * Search for all discussion forums under a customer: `parent == 'customers/C046psxkn' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels` * Search for groups with key starting with 'sales': `parent == 'customers/C046psxkn' && group_key.startsWith('sales')` * Search for groups with display name containing 'test': `parent == 'customers/C046psxkn' && display_name.contains('test')` * query: 'placeholder-value', * // The level of detail to be returned. If unspecified, defaults to `View.BASIC`. * view: 'placeholder-value', @@ -8052,7 +8052,7 @@ export namespace cloudidentity_v1beta1 { */ pageToken?: string; /** - * Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` + * Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). See [CEL Introduction](https://github.com/google/cel-spec/blob/master/doc/intro.md) for CEL syntax usage and examples. * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'` Examples: * Search for all discussion forums under a customer: `parent == 'customers/C046psxkn' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels` * Search for groups with key starting with 'sales': `parent == 'customers/C046psxkn' && group_key.startsWith('sales')` * Search for groups with display name containing 'test': `parent == 'customers/C046psxkn' && display_name.contains('test')` */ query?: string; /** diff --git a/src/apis/cloudiot/package.json b/src/apis/cloudiot/package.json index aad30c5ff4b..963291184c6 100644 --- a/src/apis/cloudiot/package.json +++ b/src/apis/cloudiot/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudkms/package.json b/src/apis/cloudkms/package.json index 59d354dfa10..6367f9ca1a8 100644 --- a/src/apis/cloudkms/package.json +++ b/src/apis/cloudkms/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudkms/v1.ts b/src/apis/cloudkms/v1.ts index 67e2a35e700..39d9bd5112f 100644 --- a/src/apis/cloudkms/v1.ts +++ b/src/apis/cloudkms/v1.ts @@ -529,7 +529,7 @@ export namespace cloudkms_v1 { */ state?: string | null; /** - * Immutable. Field indicating that the key may be wrapped by a trusted key. This field can be set for all key purposes except ENCRYPT_DECRYPT, and is only valid for keys with protection level HSM_SINGLE_TENANT. This field can only be set at creation or import time via CreateCryptoKeyVersion, or ImportCryptoKeyVersion. + * Optional. Immutable. Field indicating that the key may be wrapped by a trusted key. This field can be set for all key purposes except ENCRYPT_DECRYPT, and is only valid for keys with protection level HSM_SINGLE_TENANT. This field can only be set at creation or import time via CreateCryptoKeyVersion, or ImportCryptoKeyVersion. */ trustedWrappingEnabled?: boolean | null; } @@ -7510,6 +7510,146 @@ export namespace cloudkms_v1 { } } + /** + * Permanently deletes the given KeyRing. All child resources of the KeyRing must have been previously deleted using their corresponding Delete operations. The specified key ring will be immediately and permanently deleted upon calling this method. This action cannot be undone. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudkms.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudkms = google.cloudkms('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloudkms', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudkms.projects.locations.keyRings.delete({ + * // Required. The name of the KeyRing to delete. + * name: 'projects/my-project/locations/my-location/keyRings/my-keyRing', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Keyrings$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Keyrings$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Keyrings$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Keyrings$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Keyrings$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Keyrings$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Keyrings$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Keyrings$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudkms.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Returns metadata for a given KeyRing. * @example @@ -8261,6 +8401,12 @@ export namespace cloudkms_v1 { */ requestBody?: Schema$KeyRing; } + export interface Params$Resource$Projects$Locations$Keyrings$Delete extends StandardParameters { + /** + * Required. The name of the KeyRing to delete. + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Keyrings$Get extends StandardParameters { /** * Required. The name of the KeyRing to get. diff --git a/src/apis/cloudlocationfinder/package.json b/src/apis/cloudlocationfinder/package.json index 825f51d478b..16f26f3bda9 100644 --- a/src/apis/cloudlocationfinder/package.json +++ b/src/apis/cloudlocationfinder/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudnumberregistry/package.json b/src/apis/cloudnumberregistry/package.json index c225804bb93..30d9b54d32d 100644 --- a/src/apis/cloudnumberregistry/package.json +++ b/src/apis/cloudnumberregistry/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudnumberregistry/v1alpha.ts b/src/apis/cloudnumberregistry/v1alpha.ts index 1915ed70697..f123191a29e 100644 --- a/src/apis/cloudnumberregistry/v1alpha.ts +++ b/src/apis/cloudnumberregistry/v1alpha.ts @@ -750,6 +750,10 @@ export namespace cloudnumberregistry_v1alpha { * Optional. List of scopes claimed by the RegistryBook. In Preview, Only project scope is supported. Each scope is in the format of projects/{project\}. Each scope can only be claimed once. */ claimedScopes?: string[] | null; + /** + * Output only. Detailed scope information corresponding to each entry in `claimed_scopes`. + */ + claimedScopesInfo?: Schema$ScopeInfo[]; /** * Output only. The time at which the RegistryBook was created. */ @@ -771,6 +775,23 @@ export namespace cloudnumberregistry_v1alpha { */ updateTime?: string | null; } + /** + * Details of a scope (e.g. project or folder). + */ + export interface Schema$ScopeInfo { + /** + * Output only. Human-readable display title of the scope shown in Console (e.g. "My Cloud Project"). Used for UI display. + */ + displayName?: string | null; + /** + * Output only. Programmatic string identifier of the scope (e.g. GCP Project ID "my-project-id"). Used for API and code logic. + */ + id?: string | null; + /** + * Output only. Resource name of the scope, e.g. "projects/1234567890". + */ + name?: string | null; + } /** * Request message for the CloudNumberRegistry.SearchIpResources method. */ @@ -788,7 +809,7 @@ export namespace cloudnumberregistry_v1alpha { */ pageToken?: string | null; /** - * Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for Ranges are: - `realm`: The Realm name to search in. - `ip_address`: The IP address to search for within Ranges. - `ip_version`: The IP version to filter by (e.g., "IPV4", "IPV6"). - `parent_range`: The parent Range of the Range to search for. - `attribute_text`: The attribute text to search for within Ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for Realms are: - `ip_version`: The IP version to search for. - `management_type`: The management type of the Realm (e.g., "CNR", "USER"). Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` - `management_type=CNR` + * Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for Ranges are: - `resource_id`: The resource ID to search for within Ranges (only substring matching using the format `resource_id="*value*"` is supported). - `realm`: The Realm name to search in. - `ip_address`: The IP address to search for within Ranges. - `ip_version`: The IP version to filter by (e.g., "IPV4", "IPV6"). - `parent_range`: The parent Range of the Range to search for. - `attribute_text`: The attribute text to search for within Ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for Realms are: - `ip_version`: The IP version to search for. - `management_type`: The management type of the Realm (e.g., "CNR", "USER"). Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND resource_id="*my-range*"` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` - `management_type=CNR` */ query?: string | null; /** @@ -7239,6 +7260,7 @@ export namespace cloudnumberregistry_v1alpha { * // { * // "aggregatedData": {}, * // "claimedScopes": [], + * // "claimedScopesInfo": [], * // "createTime": "my_createTime", * // "isDefault": false, * // "labels": {}, @@ -7541,6 +7563,7 @@ export namespace cloudnumberregistry_v1alpha { * // { * // "aggregatedData": {}, * // "claimedScopes": [], + * // "claimedScopesInfo": [], * // "createTime": "my_createTime", * // "isDefault": false, * // "labels": {}, @@ -7839,6 +7862,7 @@ export namespace cloudnumberregistry_v1alpha { * // { * // "aggregatedData": {}, * // "claimedScopes": [], + * // "claimedScopesInfo": [], * // "createTime": "my_createTime", * // "isDefault": false, * // "labels": {}, diff --git a/src/apis/cloudproductregistry/README.md b/src/apis/cloudproductregistry/README.md index 037b2233dda..a06be0bb556 100644 --- a/src/apis/cloudproductregistry/README.md +++ b/src/apis/cloudproductregistry/README.md @@ -4,6 +4,15 @@ > Cloud Product Registry API provides capabilities to access all first Google Cloud products. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/productregistry](https://www.npmjs.com/package/@google-cloud/productregistry) instead. +The [@google-cloud/productregistry](https://www.npmjs.com/package/@google-cloud/productregistry) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/cloudproductregistry/package.json b/src/apis/cloudproductregistry/package.json index b552ffa9d8c..5f6f4931f17 100644 --- a/src/apis/cloudproductregistry/package.json +++ b/src/apis/cloudproductregistry/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudprofiler/package.json b/src/apis/cloudprofiler/package.json index 3d875d9d62e..93de81e2ae4 100644 --- a/src/apis/cloudprofiler/package.json +++ b/src/apis/cloudprofiler/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudresourcemanager/package.json b/src/apis/cloudresourcemanager/package.json index 11ae9cd6f78..5eba14a90e6 100644 --- a/src/apis/cloudresourcemanager/package.json +++ b/src/apis/cloudresourcemanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudresourcemanager/v1.ts b/src/apis/cloudresourcemanager/v1.ts index b1a11367f7b..28efb794ff2 100644 --- a/src/apis/cloudresourcemanager/v1.ts +++ b/src/apis/cloudresourcemanager/v1.ts @@ -285,6 +285,14 @@ export namespace cloudresourcemanager_v1 { */ version?: number | null; } + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty. + */ + export interface Schema$CreateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty. + */ + export interface Schema$CreateCapabilityConfigMetadata {} /** * Metadata pertaining to the Folder creation process. */ @@ -327,6 +335,14 @@ export namespace cloudresourcemanager_v1 { * Runtime operation information for creating a TagValue. */ export interface Schema$CreateTagValueMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty. + */ + export interface Schema$DeleteBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty. + */ + export interface Schema$DeleteCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`. */ @@ -746,6 +762,10 @@ export namespace cloudresourcemanager_v1 { * Creation time. Read-only. */ createTime?: string | null; + /** + * Output only. If `true`, this project is a Management Project. A Management Project manages dedicated project groups for specific purposes (e.g., agent management or app management). + */ + isManagementProject?: boolean | null; /** * The labels associated with this Project. 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\}. A label value can be empty. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: "environment" : "dev" Read-write. */ @@ -912,6 +932,18 @@ export namespace cloudresourcemanager_v1 { * The request sent to the UndeleteProject method. */ export interface Schema$UndeleteProjectRequest {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty. + */ + export interface Schema$UpdateBoundaryConfigMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty. + */ + export interface Schema$UpdateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty. + */ + export interface Schema$UpdateCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the Operation returned by UpdateFolder. */ @@ -4660,6 +4692,7 @@ export namespace cloudresourcemanager_v1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", @@ -4950,6 +4983,7 @@ export namespace cloudresourcemanager_v1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", @@ -6755,6 +6789,7 @@ export namespace cloudresourcemanager_v1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", @@ -6771,6 +6806,7 @@ export namespace cloudresourcemanager_v1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", diff --git a/src/apis/cloudresourcemanager/v1beta1.ts b/src/apis/cloudresourcemanager/v1beta1.ts index 05895e3c37b..e7bee5cc666 100644 --- a/src/apis/cloudresourcemanager/v1beta1.ts +++ b/src/apis/cloudresourcemanager/v1beta1.ts @@ -220,6 +220,14 @@ export namespace cloudresourcemanager_v1beta1 { */ sourceParent?: string | null; } + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty. + */ + export interface Schema$CreateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty. + */ + export interface Schema$CreateCapabilityConfigMetadata {} /** * Metadata pertaining to the Folder creation process. */ @@ -262,6 +270,14 @@ export namespace cloudresourcemanager_v1beta1 { * Runtime operation information for creating a TagValue. */ export interface Schema$CreateTagValueMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty. + */ + export interface Schema$DeleteBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty. + */ + export interface Schema$DeleteCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`. */ @@ -490,6 +506,10 @@ export namespace cloudresourcemanager_v1beta1 { * Creation time. Read-only. */ createTime?: string | null; + /** + * Output only. If `true`, this project is a Management Project. A Management Project manages dedicated project groups for specific purposes (e.g., agent management or app management). + */ + isManagementProject?: boolean | null; /** * The labels associated with this Project. 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\}. A label value can be empty. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `"environment" : "dev"` Read-write. */ @@ -592,6 +612,18 @@ export namespace cloudresourcemanager_v1beta1 { * The request sent to the UndeleteProject method. */ export interface Schema$UndeleteProjectRequest {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty. + */ + export interface Schema$UpdateBoundaryConfigMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty. + */ + export interface Schema$UpdateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty. + */ + export interface Schema$UpdateCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the Operation returned by UpdateFolder. */ @@ -1630,6 +1662,7 @@ export namespace cloudresourcemanager_v1beta1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", @@ -1645,6 +1678,7 @@ export namespace cloudresourcemanager_v1beta1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", @@ -1922,6 +1956,7 @@ export namespace cloudresourcemanager_v1beta1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", @@ -2946,6 +2981,7 @@ export namespace cloudresourcemanager_v1beta1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", @@ -2961,6 +2997,7 @@ export namespace cloudresourcemanager_v1beta1 { * // { * // "configuredCapabilities": [], * // "createTime": "my_createTime", + * // "isManagementProject": false, * // "labels": {}, * // "lifecycleState": "my_lifecycleState", * // "name": "my_name", diff --git a/src/apis/cloudresourcemanager/v2.ts b/src/apis/cloudresourcemanager/v2.ts index 7f511775b0b..07ec16a1ffe 100644 --- a/src/apis/cloudresourcemanager/v2.ts +++ b/src/apis/cloudresourcemanager/v2.ts @@ -211,6 +211,14 @@ export namespace cloudresourcemanager_v2 { */ sourceParent?: string | null; } + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty. + */ + export interface Schema$CreateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty. + */ + export interface Schema$CreateCapabilityConfigMetadata {} /** * Metadata pertaining to the Folder creation process. */ @@ -253,6 +261,14 @@ export namespace cloudresourcemanager_v2 { * Runtime operation information for creating a TagValue. */ export interface Schema$CreateTagValueMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty. + */ + export interface Schema$DeleteBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty. + */ + export interface Schema$DeleteCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`. */ @@ -583,6 +599,18 @@ export namespace cloudresourcemanager_v2 { * A status object which is used as the `metadata` field for the Operation returned by `UndeleteProject`. */ export interface Schema$UndeleteProjectMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty. + */ + export interface Schema$UpdateBoundaryConfigMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty. + */ + export interface Schema$UpdateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty. + */ + export interface Schema$UpdateCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the Operation returned by UpdateFolder. */ diff --git a/src/apis/cloudresourcemanager/v2beta1.ts b/src/apis/cloudresourcemanager/v2beta1.ts index b12604603a3..34bbd2b9b10 100644 --- a/src/apis/cloudresourcemanager/v2beta1.ts +++ b/src/apis/cloudresourcemanager/v2beta1.ts @@ -211,6 +211,14 @@ export namespace cloudresourcemanager_v2beta1 { */ sourceParent?: string | null; } + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty. + */ + export interface Schema$CreateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty. + */ + export interface Schema$CreateCapabilityConfigMetadata {} /** * Metadata pertaining to the Folder creation process. */ @@ -253,6 +261,14 @@ export namespace cloudresourcemanager_v2beta1 { * Runtime operation information for creating a TagValue. */ export interface Schema$CreateTagValueMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty. + */ + export interface Schema$DeleteBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty. + */ + export interface Schema$DeleteCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`. */ @@ -583,6 +599,18 @@ export namespace cloudresourcemanager_v2beta1 { * A status object which is used as the `metadata` field for the Operation returned by `UndeleteProject`. */ export interface Schema$UndeleteProjectMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty. + */ + export interface Schema$UpdateBoundaryConfigMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty. + */ + export interface Schema$UpdateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty. + */ + export interface Schema$UpdateCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the Operation returned by UpdateFolder. */ diff --git a/src/apis/cloudresourcemanager/v3.ts b/src/apis/cloudresourcemanager/v3.ts index 3dbbef25d93..083df6c6bde 100644 --- a/src/apis/cloudresourcemanager/v3.ts +++ b/src/apis/cloudresourcemanager/v3.ts @@ -242,6 +242,14 @@ export namespace cloudresourcemanager_v3 { */ sourceParent?: string | null; } + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateBoundary. Currently empty. + */ + export interface Schema$CreateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by CreateCapabilityConfig. Currently empty. + */ + export interface Schema$CreateCapabilityConfigMetadata {} /** * Metadata pertaining to the Folder creation process. */ @@ -284,6 +292,14 @@ export namespace cloudresourcemanager_v3 { * Runtime operation information for creating a TagValue. */ export interface Schema$CreateTagValueMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteBoundary. Currently empty. + */ + export interface Schema$DeleteBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by DeleteCapabilityConfig. Currently empty. + */ + export interface Schema$DeleteCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`. */ @@ -768,6 +784,10 @@ export namespace cloudresourcemanager_v3 { * Output only. A checksum computed by the server based on the current value of the Project resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. */ etag?: string | null; + /** + * Output only. If `true`, this project is a Management Project. A Management Project manages dedicated project groups for specific purposes (e.g., agent management or app management). + */ + isManagementProject?: boolean | null; /** * Optional. The labels associated with this project. 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. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `"myBusinessDimension" : "businessValue"` */ @@ -1074,6 +1094,18 @@ export namespace cloudresourcemanager_v3 { * The request sent to the UndeleteProject method. */ export interface Schema$UndeleteProjectRequest {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundaryConfig. Currently empty. + */ + export interface Schema$UpdateBoundaryConfigMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateBoundary. Currently empty. + */ + export interface Schema$UpdateBoundaryMetadata {} + /** + * A status object which is used as the `metadata` field for the Operation returned by UpdateCapabilityConfig. Currently empty. + */ + export interface Schema$UpdateCapabilityConfigMetadata {} /** * A status object which is used as the `metadata` field for the Operation returned by UpdateFolder. */ @@ -5435,6 +5467,7 @@ export namespace cloudresourcemanager_v3 { * // "deleteTime": "my_deleteTime", * // "displayName": "my_displayName", * // "etag": "my_etag", + * // "isManagementProject": false, * // "labels": {}, * // "name": "my_name", * // "parent": "my_parent", @@ -5731,6 +5764,7 @@ export namespace cloudresourcemanager_v3 { * // "deleteTime": "my_deleteTime", * // "displayName": "my_displayName", * // "etag": "my_etag", + * // "isManagementProject": false, * // "labels": {}, * // "name": "my_name", * // "parent": "my_parent", @@ -6318,6 +6352,7 @@ export namespace cloudresourcemanager_v3 { * // "deleteTime": "my_deleteTime", * // "displayName": "my_displayName", * // "etag": "my_etag", + * // "isManagementProject": false, * // "labels": {}, * // "name": "my_name", * // "parent": "my_parent", diff --git a/src/apis/cloudscheduler/package.json b/src/apis/cloudscheduler/package.json index b3f7d0558f0..fe6c8a7f6b2 100644 --- a/src/apis/cloudscheduler/package.json +++ b/src/apis/cloudscheduler/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudsearch/package.json b/src/apis/cloudsearch/package.json index ac11b0f8821..0cf88753503 100644 --- a/src/apis/cloudsearch/package.json +++ b/src/apis/cloudsearch/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudshell/package.json b/src/apis/cloudshell/package.json index 8128f8399f7..3c9a0320b33 100644 --- a/src/apis/cloudshell/package.json +++ b/src/apis/cloudshell/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudsupport/package.json b/src/apis/cloudsupport/package.json index 857279d2a3c..cc94dd2715a 100644 --- a/src/apis/cloudsupport/package.json +++ b/src/apis/cloudsupport/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudtasks/package.json b/src/apis/cloudtasks/package.json index 8dc73015273..55b73c12758 100644 --- a/src/apis/cloudtasks/package.json +++ b/src/apis/cloudtasks/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/cloudtasks/v2.ts b/src/apis/cloudtasks/v2.ts index bfca4312e97..53c92530784 100644 --- a/src/apis/cloudtasks/v2.ts +++ b/src/apis/cloudtasks/v2.ts @@ -364,7 +364,7 @@ export namespace cloudtasks_v2 { url?: string | null; } /** - * HTTP target. When specified as a Queue, all the tasks with [HttpRequest] will be overridden according to the target. + * HTTP target. When specified at the Queue level, all tasks with HttpRequest are overridden according to the target. */ export interface Schema$HttpTarget { /** @@ -478,6 +478,31 @@ export namespace cloudtasks_v2 { */ serviceAccountEmail?: string | null; } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * 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. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * 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. + */ + metadata?: {[key: string]: any} | null; + /** + * 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\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } /** * PathOverride. Path message defines path override for HTTP targets. */ @@ -756,9 +781,13 @@ export namespace cloudtasks_v2 { export class Resource$Projects$Locations { context: APIRequestContext; + operations: Resource$Projects$Locations$Operations; queues: Resource$Projects$Locations$Queues; constructor(context: APIRequestContext) { this.context = context; + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); this.queues = new Resource$Projects$Locations$Queues(this.context); } @@ -1376,6 +1405,157 @@ export namespace cloudtasks_v2 { requestBody?: Schema$CmekConfig; } + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/cloudtasks.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const cloudtasks = google.cloudtasks('v2'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await cloudtasks.projects.locations.operations.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudtasks.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export class Resource$Projects$Locations$Queues { context: APIRequestContext; tasks: Resource$Projects$Locations$Queues$Tasks; diff --git a/src/apis/cloudtasks/v2beta2.ts b/src/apis/cloudtasks/v2beta2.ts index ee485051378..4af605c44e5 100644 --- a/src/apis/cloudtasks/v2beta2.ts +++ b/src/apis/cloudtasks/v2beta2.ts @@ -427,7 +427,7 @@ export namespace cloudtasks_v2beta2 { url?: string | null; } /** - * HTTP target. When specified as a Queue, all the tasks with [HttpRequest] will be overridden according to the target. + * HTTP target. When specified at the Queue level, all tasks with HttpRequest are overridden according to the target. */ export interface Schema$HttpTarget { /** diff --git a/src/apis/cloudtasks/v2beta3.ts b/src/apis/cloudtasks/v2beta3.ts index 5a45526c58b..7a2550a6c37 100644 --- a/src/apis/cloudtasks/v2beta3.ts +++ b/src/apis/cloudtasks/v2beta3.ts @@ -403,7 +403,7 @@ export namespace cloudtasks_v2beta3 { url?: string | null; } /** - * HTTP target. When specified as a Queue, all the tasks with [HttpRequest] will be overridden according to the target. + * HTTP target. When specified at the Queue level, all tasks with HttpRequest are overridden according to the target. */ export interface Schema$HttpTarget { /** diff --git a/src/apis/cloudtrace/package.json b/src/apis/cloudtrace/package.json index 1abd62b991a..144f838837b 100644 --- a/src/apis/cloudtrace/package.json +++ b/src/apis/cloudtrace/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/composer/package.json b/src/apis/composer/package.json index 32206abc1e9..2d7b28d765d 100644 --- a/src/apis/composer/package.json +++ b/src/apis/composer/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/composer/v1.ts b/src/apis/composer/v1.ts index b952ac5a7d7..a369f421d73 100644 --- a/src/apis/composer/v1.ts +++ b/src/apis/composer/v1.ts @@ -358,6 +358,10 @@ export namespace composer_v1 { * Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll\}\p{Lo\}{0,62\} * Values must conform to regexp: [\p{Ll\}\p{Lo\}\p{N\}_-]{0,63\} * Both keys and values are additionally constrained to be <= 128 bytes in size. */ labels?: {[key: string]: string} | null; + /** + * Optional. Selects the environment mode that determines what settings are customizable and what features are available in the environment. + */ + mode?: string | null; /** * Identifier. The resource name of the environment, in the form: "projects/{projectId\}/locations/{locationId\}/environments/{environmentId\}" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. */ @@ -1525,6 +1529,7 @@ export namespace composer_v1 { * // "config": {}, * // "createTime": "my_createTime", * // "labels": {}, + * // "mode": "my_mode", * // "name": "my_name", * // "satisfiesPzi": false, * // "satisfiesPzs": false, @@ -2290,6 +2295,7 @@ export namespace composer_v1 { * // "config": {}, * // "createTime": "my_createTime", * // "labels": {}, + * // "mode": "my_mode", * // "name": "my_name", * // "satisfiesPzi": false, * // "satisfiesPzs": false, @@ -2742,6 +2748,7 @@ export namespace composer_v1 { * // "config": {}, * // "createTime": "my_createTime", * // "labels": {}, + * // "mode": "my_mode", * // "name": "my_name", * // "satisfiesPzi": false, * // "satisfiesPzs": false, diff --git a/src/apis/composer/v1beta1.ts b/src/apis/composer/v1beta1.ts index ad100de9944..87aaaa6a00f 100644 --- a/src/apis/composer/v1beta1.ts +++ b/src/apis/composer/v1beta1.ts @@ -362,6 +362,10 @@ export namespace composer_v1beta1 { * Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll\}\p{Lo\}{0,62\} * Values must conform to regexp: [\p{Ll\}\p{Lo\}\p{N\}_-]{0,63\} * Both keys and values are additionally constrained to be <= 128 bytes in size. */ labels?: {[key: string]: string} | null; + /** + * Optional. Selects the environment mode that determines what settings are customizable and what features are available in the environment. + */ + mode?: string | null; /** * Identifier. The resource name of the environment, in the form: "projects/{projectId\}/locations/{locationId\}/environments/{environmentId\}" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. */ @@ -540,6 +544,10 @@ export namespace composer_v1beta1 { */ secondaryGceZone?: string | null; } + /** + * Request to hibernate a Composer environment. + */ + export interface Schema$HibernateEnvironmentRequest {} /** * Image Version information */ @@ -993,6 +1001,10 @@ export namespace composer_v1beta1 { * Restart Airflow web server. */ export interface Schema$RestartWebServerRequest {} + /** + * Request to resume a Composer environment. + */ + export interface Schema$ResumeEnvironmentRequest {} /** * Request to create a snapshot of a Cloud Composer environment. */ @@ -1550,6 +1562,7 @@ export namespace composer_v1beta1 { * // "config": {}, * // "createTime": "my_createTime", * // "labels": {}, + * // "mode": "my_mode", * // "name": "my_name", * // "satisfiesPzi": false, * // "satisfiesPzs": false, @@ -2314,6 +2327,7 @@ export namespace composer_v1beta1 { * // "config": {}, * // "createTime": "my_createTime", * // "labels": {}, + * // "mode": "my_mode", * // "name": "my_name", * // "satisfiesPzi": false, * // "satisfiesPzs": false, @@ -2416,6 +2430,156 @@ export namespace composer_v1beta1 { } } + /** + * Hibernates (pauses) a running environment. It requests the environment to switch to the HIBERNATED state, keeping its data and minimizing cost, but not running any DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/composer.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const composer = google.composer('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloudcomposer', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await composer.projects.locations.environments.hibernate({ + * // Required. The resource name of the environment to hibernate, in the form: "projects/{project\}/locations/{location\}/environments/{environment\}" + * name: 'projects/my-project/locations/my-location/environments/my-environment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + hibernate( + params: Params$Resource$Projects$Locations$Environments$Hibernate, + options: StreamMethodOptions + ): Promise>; + hibernate( + params?: Params$Resource$Projects$Locations$Environments$Hibernate, + options?: MethodOptions + ): Promise>; + hibernate( + params: Params$Resource$Projects$Locations$Environments$Hibernate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + hibernate( + params: Params$Resource$Projects$Locations$Environments$Hibernate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + hibernate( + params: Params$Resource$Projects$Locations$Environments$Hibernate, + callback: BodyResponseCallback + ): void; + hibernate(callback: BodyResponseCallback): void; + hibernate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Environments$Hibernate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Environments$Hibernate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Environments$Hibernate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:hibernate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * List environments. * @example @@ -2766,6 +2930,7 @@ export namespace composer_v1beta1 { * // "config": {}, * // "createTime": "my_createTime", * // "labels": {}, + * // "mode": "my_mode", * // "name": "my_name", * // "satisfiesPzi": false, * // "satisfiesPzs": false, @@ -3189,6 +3354,155 @@ export namespace composer_v1beta1 { } } + /** + * Resumes (unpauses) a hibernated environment. It requests the environment to switch to the RUNNING state, so that it is ready to use and run DAGs. This method is supported for Cloud Composer environments in development mode in versions composer-3-airflow-*.*.*-build.* and newer. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/composer.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const composer = google.composer('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloudcomposer', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await composer.projects.locations.environments.resume({ + * // Required. The resource name of the environment to resume, in the form: "projects/{project\}/locations/{location\}/environments/{environment\}" + * name: 'projects/my-project/locations/my-location/environments/my-environment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resume( + params: Params$Resource$Projects$Locations$Environments$Resume, + options: StreamMethodOptions + ): Promise>; + resume( + params?: Params$Resource$Projects$Locations$Environments$Resume, + options?: MethodOptions + ): Promise>; + resume( + params: Params$Resource$Projects$Locations$Environments$Resume, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resume( + params: Params$Resource$Projects$Locations$Environments$Resume, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resume( + params: Params$Resource$Projects$Locations$Environments$Resume, + callback: BodyResponseCallback + ): void; + resume(callback: BodyResponseCallback): void; + resume( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Environments$Resume + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Environments$Resume; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Environments$Resume; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://composer.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:resume').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Creates a snapshots of a Cloud Composer environment. As a result of this operation, snapshot of environment's state is stored in a location specified in the SaveSnapshotRequest. * @example @@ -3563,6 +3877,17 @@ export namespace composer_v1beta1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Environments$Hibernate extends StandardParameters { + /** + * Required. The resource name of the environment to hibernate, in the form: "projects/{project\}/locations/{location\}/environments/{environment\}" + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HibernateEnvironmentRequest; + } export interface Params$Resource$Projects$Locations$Environments$List extends StandardParameters { /** * The maximum number of environments to return. @@ -3625,6 +3950,17 @@ export namespace composer_v1beta1 { */ requestBody?: Schema$RestartWebServerRequest; } + export interface Params$Resource$Projects$Locations$Environments$Resume extends StandardParameters { + /** + * Required. The resource name of the environment to resume, in the form: "projects/{project\}/locations/{location\}/environments/{environment\}" + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ResumeEnvironmentRequest; + } export interface Params$Resource$Projects$Locations$Environments$Savesnapshot extends StandardParameters { /** * The resource name of the source environment in the form: "projects/{projectId\}/locations/{locationId\}/environments/{environmentId\}" diff --git a/src/apis/compute/alpha.ts b/src/apis/compute/alpha.ts index f2e023b06bc..3b7d19bc575 100644 --- a/src/apis/compute/alpha.ts +++ b/src/apis/compute/alpha.ts @@ -3806,6 +3806,11 @@ export namespace compute_alpha { * This field can only be specified when the load balancing scheme is set toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy fastIpMove is enabled. */ network?: string | null; + /** + * Optional. The URL of the network attachment that this resource + * belongs to.projects/{project\}/regions/{region_name\}/networkAttachments/{network_attachment_name\}. + */ + networkAttachment?: string | null; /** * Configures traffic steering properties of internal passthrough Network * Load Balancers. @@ -3928,6 +3933,14 @@ export namespace compute_alpha { * If set, lists of backends and health checks must be both empty. */ serviceBindings?: string[] | null; + /** + * Optional. The service class ID associated with this resource. + * Producer Service's Service class ID for the region of this backend + * service. Can only be used with network_attachment. It is not possible to + * use on its own; however, network_attachment can be used without + * service_class_id. + */ + serviceClassId?: string | null; /** * URL to networkservices.ServiceLbPolicy resource. * @@ -4523,7 +4536,8 @@ export namespace compute_alpha { * instance must already be attached to the NEG specified in the * haPolicy.leader.backendGroup. * - * The name must be 1-63 characters long, and comply with RFC1035. + * The value must be a valid RFC1035 name (1-63 characters) or a valid + * instance URL. * Authorization requires the following IAM permission on the * specified resource instance: compute.instances.use */ @@ -5797,17 +5811,17 @@ export namespace compute_alpha { recommendations?: Schema$CalendarModeRecommendation[]; } /** - * A request to recommend the best duration for extending an existing - * Future Reservation in CALENDAR mode, that is equal or less than the specified - * extension duration. + * A request to recommend the maximum duration for extending an existing future + * reservation in calendar mode. The recommended duration is shorter than or + * equal to the specified extension duration. */ export interface Schema$CalendarModeExtensionAdviceRequest { /** - * Required. The desired end time after the Future Reservation is extended. + * Required. The desired end time for the extension. */ endTimeNotLaterThan?: string | null; /** - * Required. Reference to the Future Reservation, in the format: + * Required. Reference to the future reservation, in the format: * projects/{project\}/zones/{zone\}/futureReservations/{name\} * Full URIs that include hostnames (like compute.googleapis.com or * www.googleapis.com) are also supported. @@ -5815,26 +5829,27 @@ export namespace compute_alpha { futureReservation?: string | null; } /** - * A response containing the recommended duration to extend a - * Future Reservation in CALENDAR mode based on the available capacity during - * the extension period. + * A response that contains the recommended duration for extending + * a future reservation in calendar mode based on available capacity + * during the extension period. */ export interface Schema$CalendarModeExtensionAdviceResponse { /** - * The recommended end time for the extension, which will either be - * the end time requested by the caller or the longest alternative for - * which there is sufficient capacity. If extension is not possible, this - * field will be empty, and not_recommended_reason will be populated instead. + * The recommended end time for the extension, which is either the end time + * requested by the caller or the longest alternative with sufficient + * capacity. If the extension is not possible, this field is empty, and + * notRecommendedReason is populated instead. */ endTime?: string | null; /** - * Information regarding the reason why the Future Reservation - * cannot be extended at all. If a recommendation is provided, whether that is - * the requested end time or an alternative, this field will be empty. + * The reason why the future reservation can't be extended. If a + * recommendation is provided, whether for the requested end time or an + * alternative, this field is empty. */ notRecommendedReason?: Schema$CalendarModeExtensionAdviceResponseNotRecommendedReason; /** - * Unique id of the recommendation, a UUID string generated by the API. + * The unique ID of the recommendation, which is a UUID string generated by + * the API. */ recommendationId?: string | null; } @@ -5843,10 +5858,9 @@ export namespace compute_alpha { */ export interface Schema$CalendarModeExtensionAdviceResponseNotRecommendedReason { /** - * Details (human readable) describing why the recommendation - * was not provided. For example, if the status is CONDITION_NOT_MET, - * then this field will contain information about why the requested - * extension duration is not eligible. + * Human-readable details describing why the recommendation wasn't provided. + * For example, if the status is CONDITIONS_NOT_MET, this field explains why + * the requested extension duration isn't possible. */ details?: string | null; /** @@ -8717,6 +8731,16 @@ export namespace compute_alpha { */ seconds?: string | null; } + /** + * Dynamic compression policy for this URL Map's route. + */ + export interface Schema$DynamicCompressionPolicy { + /** + * Compress text responses using Brotli or gzip compression, based on + * the client's Accept-Encoding header. + */ + compressionMode?: string | null; + } /** * Describes the cause of the error with structured details. * @@ -10421,6 +10445,11 @@ export namespace compute_alpha { * APIs, a network must be provided. */ network?: string | null; + /** + * Optional. The URL of the network attachment that this resource + * belongs to.projects/{project\}/regions/{region_name\}/networkAttachments/{network_attachment_name\}. + */ + networkAttachment?: string | null; /** * This signifies the networking tier used for configuring * this load balancer and can only take the following values:PREMIUM, STANDARD. @@ -10525,6 +10554,12 @@ export namespace compute_alpha { * Output only. [Output Only] Server-defined URL for this resource with the resource id. */ selfLinkWithId?: string | null; + /** + * Optional. Producer Service's Service class ID for the region of this forwarding rule. + * Can only be used with network_attachment. It is not possible to use on its + * own; however, network_attachment can be used without service_class_id. + */ + serviceClassId?: string | null; /** * Service Directory resources to register this forwarding rule with. * Currently, only supports a single Service Directory resource. @@ -14360,6 +14395,11 @@ export namespace compute_alpha { * Not supported when the URL map is bound to a target gRPC proxy. */ corsPolicy?: Schema$CorsPolicy; + /** + * Dynamic compression policy for this URL Map's route. Available only for + * Global EXTERNAL_MANAGED load balancer schemes. + */ + dynamicCompressionPolicy?: Schema$DynamicCompressionPolicy; /** * The specification for fault injection introduced into traffic to test * the resiliency of clients to backend service failure. As part of fault @@ -23749,6 +23789,10 @@ export namespace compute_alpha { * information, readVirtual Private Cloud (VPC) Network. */ export interface Schema$Network { + /** + * Output only. [Output Only] Additional tags for this resource. + */ + additionalTags?: string[] | null; /** * Must be set to create a VPC network. If not set, a legacy network is * created. @@ -32458,6 +32502,11 @@ export namespace compute_alpha { * latency. */ host?: string | null; + /** + * Output only. [Output Only] The ID of the machine on which the running instance is + * located. It is only populated for machines which have multiple hosts. + */ + machine?: string | null; /** * [Output Only] The ID of the sub-block in which the running instance is * located. Instances in the same sub-block experience lower network latency @@ -48327,10 +48376,10 @@ export namespace compute_alpha { } /** - * Advise on whether extending an existing Future Reservation is possible - * based on the desired extension end time. If capacity is not available for - * the entire requested duration, the method will recommend the longest - * possible extension. + * Advises on whether extending an existing future reservation is possible + * based on the desired extension end time. If capacity isn't available for + * the entire requested duration, the method recommends the longest possible + * extension. * @example * ```js * // Before running the sample: @@ -55149,6 +55198,7 @@ export namespace compute_alpha { * // "metadatas": {}, * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkPassThroughLbTrafficPolicy": {}, * // "orchestrationInfo": {}, * // "outlierDetection": {}, @@ -55162,6 +55212,7 @@ export namespace compute_alpha { * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", * // "serviceBindings": [], + * // "serviceClassId": "my_serviceClassId", * // "serviceLbPolicy": "my_serviceLbPolicy", * // "sessionAffinity": "my_sessionAffinity", * // "strongSessionAffinityCookie": {}, @@ -55828,6 +55879,7 @@ export namespace compute_alpha { * // "metadatas": {}, * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkPassThroughLbTrafficPolicy": {}, * // "orchestrationInfo": {}, * // "outlierDetection": {}, @@ -55841,6 +55893,7 @@ export namespace compute_alpha { * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", * // "serviceBindings": [], + * // "serviceClassId": "my_serviceClassId", * // "serviceLbPolicy": "my_serviceLbPolicy", * // "sessionAffinity": "my_sessionAffinity", * // "strongSessionAffinityCookie": {}, @@ -56556,6 +56609,7 @@ export namespace compute_alpha { * // "metadatas": {}, * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkPassThroughLbTrafficPolicy": {}, * // "orchestrationInfo": {}, * // "outlierDetection": {}, @@ -56569,6 +56623,7 @@ export namespace compute_alpha { * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", * // "serviceBindings": [], + * // "serviceClassId": "my_serviceClassId", * // "serviceLbPolicy": "my_serviceLbPolicy", * // "sessionAffinity": "my_sessionAffinity", * // "strongSessionAffinityCookie": {}, @@ -57508,6 +57563,7 @@ export namespace compute_alpha { * // "metadatas": {}, * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkPassThroughLbTrafficPolicy": {}, * // "orchestrationInfo": {}, * // "outlierDetection": {}, @@ -57521,6 +57577,7 @@ export namespace compute_alpha { * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", * // "serviceBindings": [], + * // "serviceClassId": "my_serviceClassId", * // "serviceLbPolicy": "my_serviceLbPolicy", * // "sessionAffinity": "my_sessionAffinity", * // "strongSessionAffinityCookie": {}, @@ -79802,6 +79859,7 @@ export namespace compute_alpha { * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkTier": "my_networkTier", * // "noAutomateDnsZone": false, * // "parentForwardingRule": "my_parentForwardingRule", @@ -79812,6 +79870,7 @@ export namespace compute_alpha { * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceClassId": "my_serviceClassId", * // "serviceDirectoryRegistrations": [], * // "serviceLabel": "my_serviceLabel", * // "serviceName": "my_serviceName", @@ -80002,6 +80061,7 @@ export namespace compute_alpha { * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkTier": "my_networkTier", * // "noAutomateDnsZone": false, * // "parentForwardingRule": "my_parentForwardingRule", @@ -80012,6 +80072,7 @@ export namespace compute_alpha { * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceClassId": "my_serviceClassId", * // "serviceDirectoryRegistrations": [], * // "serviceLabel": "my_serviceLabel", * // "serviceName": "my_serviceName", @@ -80481,6 +80542,7 @@ export namespace compute_alpha { * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkTier": "my_networkTier", * // "noAutomateDnsZone": false, * // "parentForwardingRule": "my_parentForwardingRule", @@ -80491,6 +80553,7 @@ export namespace compute_alpha { * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceClassId": "my_serviceClassId", * // "serviceDirectoryRegistrations": [], * // "serviceLabel": "my_serviceLabel", * // "serviceName": "my_serviceName", @@ -86027,6 +86090,7 @@ export namespace compute_alpha { * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkTier": "my_networkTier", * // "noAutomateDnsZone": false, * // "parentForwardingRule": "my_parentForwardingRule", @@ -86037,6 +86101,7 @@ export namespace compute_alpha { * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceClassId": "my_serviceClassId", * // "serviceDirectoryRegistrations": [], * // "serviceLabel": "my_serviceLabel", * // "serviceName": "my_serviceName", @@ -86225,6 +86290,7 @@ export namespace compute_alpha { * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkTier": "my_networkTier", * // "noAutomateDnsZone": false, * // "parentForwardingRule": "my_parentForwardingRule", @@ -86235,6 +86301,7 @@ export namespace compute_alpha { * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceClassId": "my_serviceClassId", * // "serviceDirectoryRegistrations": [], * // "serviceLabel": "my_serviceLabel", * // "serviceName": "my_serviceName", @@ -86700,6 +86767,7 @@ export namespace compute_alpha { * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkTier": "my_networkTier", * // "noAutomateDnsZone": false, * // "parentForwardingRule": "my_parentForwardingRule", @@ -86710,6 +86778,7 @@ export namespace compute_alpha { * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceClassId": "my_serviceClassId", * // "serviceDirectoryRegistrations": [], * // "serviceLabel": "my_serviceLabel", * // "serviceName": "my_serviceName", @@ -164921,6 +164990,7 @@ export namespace compute_alpha { * // Example response * // { * // "IPv4Range": "my_IPv4Range", + * // "additionalTags": [], * // "autoCreateSubnetworks": false, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", @@ -165251,6 +165321,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "IPv4Range": "my_IPv4Range", + * // "additionalTags": [], * // "autoCreateSubnetworks": false, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", @@ -166433,6 +166504,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "IPv4Range": "my_IPv4Range", + * // "additionalTags": [], * // "autoCreateSubnetworks": false, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", @@ -201109,6 +201181,7 @@ export namespace compute_alpha { * // "metadatas": {}, * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkPassThroughLbTrafficPolicy": {}, * // "orchestrationInfo": {}, * // "outlierDetection": {}, @@ -201122,6 +201195,7 @@ export namespace compute_alpha { * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", * // "serviceBindings": [], + * // "serviceClassId": "my_serviceClassId", * // "serviceLbPolicy": "my_serviceLbPolicy", * // "sessionAffinity": "my_sessionAffinity", * // "strongSessionAffinityCookie": {}, @@ -201633,6 +201707,7 @@ export namespace compute_alpha { * // "metadatas": {}, * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkPassThroughLbTrafficPolicy": {}, * // "orchestrationInfo": {}, * // "outlierDetection": {}, @@ -201646,6 +201721,7 @@ export namespace compute_alpha { * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", * // "serviceBindings": [], + * // "serviceClassId": "my_serviceClassId", * // "serviceLbPolicy": "my_serviceLbPolicy", * // "sessionAffinity": "my_sessionAffinity", * // "strongSessionAffinityCookie": {}, @@ -202368,6 +202444,7 @@ export namespace compute_alpha { * // "metadatas": {}, * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkPassThroughLbTrafficPolicy": {}, * // "orchestrationInfo": {}, * // "outlierDetection": {}, @@ -202381,6 +202458,7 @@ export namespace compute_alpha { * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", * // "serviceBindings": [], + * // "serviceClassId": "my_serviceClassId", * // "serviceLbPolicy": "my_serviceLbPolicy", * // "sessionAffinity": "my_sessionAffinity", * // "strongSessionAffinityCookie": {}, @@ -203133,6 +203211,7 @@ export namespace compute_alpha { * // "metadatas": {}, * // "name": "my_name", * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", * // "networkPassThroughLbTrafficPolicy": {}, * // "orchestrationInfo": {}, * // "outlierDetection": {}, @@ -203146,6 +203225,7 @@ export namespace compute_alpha { * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", * // "serviceBindings": [], + * // "serviceClassId": "my_serviceClassId", * // "serviceLbPolicy": "my_serviceLbPolicy", * // "sessionAffinity": "my_sessionAffinity", * // "strongSessionAffinityCookie": {}, diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index bd01228ad9e..84a3ec81e96 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -123,6 +123,7 @@ export namespace compute_beta { backendBuckets: Resource$Backendbuckets; backendServices: Resource$Backendservices; crossSiteNetworks: Resource$Crosssitenetworks; + dhcpOptionsConfigs: Resource$Dhcpoptionsconfigs; disks: Resource$Disks; diskSettings: Resource$Disksettings; diskTypes: Resource$Disktypes; @@ -133,6 +134,7 @@ export namespace compute_beta { futureReservations: Resource$Futurereservations; globalAddresses: Resource$Globaladdresses; globalForwardingRules: Resource$Globalforwardingrules; + globalFrontendSettings: Resource$Globalfrontendsettings; globalNetworkEndpointGroups: Resource$Globalnetworkendpointgroups; globalOperations: Resource$Globaloperations; globalOrganizationOperations: Resource$Globalorganizationoperations; @@ -176,12 +178,14 @@ export namespace compute_beta { organizationRolloutPlans: Resource$Organizationrolloutplans; organizationRollouts: Resource$Organizationrollouts; organizationSecurityPolicies: Resource$Organizationsecuritypolicies; + organizationSnapshotRecycleBinPolicy: Resource$Organizationsnapshotrecyclebinpolicy; packetMirrorings: Resource$Packetmirrorings; previewFeatures: Resource$Previewfeatures; projects: Resource$Projects; projectViews: Resource$Projectviews; publicAdvertisedPrefixes: Resource$Publicadvertisedprefixes; publicDelegatedPrefixes: Resource$Publicdelegatedprefixes; + recoverableSnapshots: Resource$Recoverablesnapshots; regionAutoscalers: Resource$Regionautoscalers; regionBackendBuckets: Resource$Regionbackendbuckets; regionBackendServices: Resource$Regionbackendservices; @@ -232,6 +236,7 @@ export namespace compute_beta { securityPolicies: Resource$Securitypolicies; serviceAttachments: Resource$Serviceattachments; snapshotGroups: Resource$Snapshotgroups; + snapshotRecycleBinPolicy: Resource$Snapshotrecyclebinpolicy; snapshots: Resource$Snapshots; snapshotSettings: Resource$Snapshotsettings; sslCertificates: Resource$Sslcertificates; @@ -268,6 +273,7 @@ export namespace compute_beta { this.backendBuckets = new Resource$Backendbuckets(this.context); this.backendServices = new Resource$Backendservices(this.context); this.crossSiteNetworks = new Resource$Crosssitenetworks(this.context); + this.dhcpOptionsConfigs = new Resource$Dhcpoptionsconfigs(this.context); this.disks = new Resource$Disks(this.context); this.diskSettings = new Resource$Disksettings(this.context); this.diskTypes = new Resource$Disktypes(this.context); @@ -280,6 +286,9 @@ export namespace compute_beta { this.globalForwardingRules = new Resource$Globalforwardingrules( this.context ); + this.globalFrontendSettings = new Resource$Globalfrontendsettings( + this.context + ); this.globalNetworkEndpointGroups = new Resource$Globalnetworkendpointgroups(this.context); this.globalOperations = new Resource$Globaloperations(this.context); @@ -349,6 +358,8 @@ export namespace compute_beta { ); this.organizationSecurityPolicies = new Resource$Organizationsecuritypolicies(this.context); + this.organizationSnapshotRecycleBinPolicy = + new Resource$Organizationsnapshotrecyclebinpolicy(this.context); this.packetMirrorings = new Resource$Packetmirrorings(this.context); this.previewFeatures = new Resource$Previewfeatures(this.context); this.projects = new Resource$Projects(this.context); @@ -359,6 +370,9 @@ export namespace compute_beta { this.publicDelegatedPrefixes = new Resource$Publicdelegatedprefixes( this.context ); + this.recoverableSnapshots = new Resource$Recoverablesnapshots( + this.context + ); this.regionAutoscalers = new Resource$Regionautoscalers(this.context); this.regionBackendBuckets = new Resource$Regionbackendbuckets( this.context @@ -447,6 +461,9 @@ export namespace compute_beta { this.securityPolicies = new Resource$Securitypolicies(this.context); this.serviceAttachments = new Resource$Serviceattachments(this.context); this.snapshotGroups = new Resource$Snapshotgroups(this.context); + this.snapshotRecycleBinPolicy = new Resource$Snapshotrecyclebinpolicy( + this.context + ); this.snapshots = new Resource$Snapshots(this.context); this.snapshotSettings = new Resource$Snapshotsettings(this.context); this.sslCertificates = new Resource$Sslcertificates(this.context); @@ -1080,6 +1097,19 @@ export namespace compute_beta { * An alias IP range attached to an instance's network interface. */ export interface Schema$AliasIpRange { + /** + * Identifies the candidate subnetwork range names for the alias + * IPs to be allocated from. When it is set, the IP would be allocated from + * any subnetwork range defined here if the IPs are available. + * Only one of subnetwork_range_name or candidate_subnetwork_range_names + * should be set. + */ + candidateSubnetworkRangeNames?: string[] | null; + /** + * Output only. [Output Only] The subnetwork range name where the IP is allocated. + * It will be set to the subnetwork range where the IP is allocated only. + */ + effectiveSubnetworkRangeName?: string | null; /** * The IP alias ranges to allocate for this interface. This IP CIDR range * must belong to the specified subnetwork and cannot contain IP addresses @@ -4154,7 +4184,8 @@ export namespace compute_beta { * instance must already be attached to the NEG specified in the * haPolicy.leader.backendGroup. * - * The name must be 1-63 characters long, and comply with RFC1035. + * The value must be a valid RFC1035 name (1-63 characters) or a valid + * instance URL. * Authorization requires the following IAM permission on the * specified resource instance: compute.instances.use */ @@ -5362,6 +5393,64 @@ export namespace compute_beta { */ recommendations?: Schema$CalendarModeRecommendation[]; } + /** + * A request to recommend the maximum duration for extending an existing future + * reservation in calendar mode. The recommended duration is shorter than or + * equal to the specified extension duration. + */ + export interface Schema$CalendarModeExtensionAdviceRequest { + /** + * Required. The desired end time for the extension. + */ + endTimeNotLaterThan?: string | null; + /** + * Required. Reference to the future reservation, in the format: + * projects/{project\}/zones/{zone\}/futureReservations/{name\} + * Full URIs that include hostnames (like compute.googleapis.com or + * www.googleapis.com) are also supported. + */ + futureReservation?: string | null; + } + /** + * A response that contains the recommended duration for extending + * a future reservation in calendar mode based on available capacity + * during the extension period. + */ + export interface Schema$CalendarModeExtensionAdviceResponse { + /** + * The recommended end time for the extension, which is either the end time + * requested by the caller or the longest alternative with sufficient + * capacity. If the extension is not possible, this field is empty, and + * notRecommendedReason is populated instead. + */ + endTime?: string | null; + /** + * The reason why the future reservation can't be extended. If a + * recommendation is provided, whether for the requested end time or an + * alternative, this field is empty. + */ + notRecommendedReason?: Schema$CalendarModeExtensionAdviceResponseNotRecommendedReason; + /** + * The unique ID of the recommendation, which is a UUID string generated by + * the API. + */ + recommendationId?: string | null; + } + /** + * Information about why no recommendation was provided. + */ + export interface Schema$CalendarModeExtensionAdviceResponseNotRecommendedReason { + /** + * Human-readable details describing why the recommendation wasn't provided. + * For example, if the status is CONDITIONS_NOT_MET, this field explains why + * the requested extension duration isn't possible. + */ + details?: string | null; + /** + * Status of recommendation. + */ + status?: string | null; + } /** * A single recommendation to create requested resources. Contains detailed * recommendations for every future resources specification specified in @@ -6734,6 +6823,186 @@ export namespace compute_beta { */ stateOverride?: Schema$RolloutPolicy; } + /** + * A standalone, regional API resource that encapsulates a set of user-defined + * DHCP configurations. + */ + export interface Schema$DhcpOptionsConfig { + /** + * Mapping of user-defined keys to DhcpOptionsConfig to Network associations. + */ + associations?: {[key: string]: Schema$DhcpOptionsConfigAssociation} | null; + /** + * The file path and name of the boot image/file on the TFTP server that the + * client VM guest OS should download and execute during network boot. Used + * when the standard DHCP header 'file' field is overloaded. Corresponds to + * DHCPv4 Option 67. + */ + bootFileIpv4Name?: string | null; + /** + * A list of UTF-8 encoded parameter strings to be passed as arguments to the + * bootloader program or OS kernel after downloading the boot file. + * Corresponds to DHCPv6 Option 60. + */ + bootFileIpv6Parameters?: string[] | null; + /** + * The Uniform Resource Locator (URL) specifying the protocol, server address, + * and file path of the boot file that the client VM guest OS should download + * and execute for network boot (e.g., 'tftp://[2001:db8::1]/bootx64.efi' or + * 'http://[2001:db8::1]/boot.img'). Corresponds to DHCPv6 Option 59. + */ + bootFileIpv6Url?: string | null; + /** + * Output only. [Output Only] Creation timestamp inRFC3339 + * text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. Provide this property when you + * create the resource. + */ + description?: string | null; + /** + * An ordered list of domain suffixes (search paths) that the client VM guest + * OS should append to resolve hostnames that are not fully qualified. Applies + * to both DHCPv4 Option 119 and DHCPv6 Option 24. + */ + dnsSearchPaths?: string[] | null; + /** + * The domain name that the client VM guest OS should use when resolving + * hostnames via DNS (e.g., 'example.com'). It defines the default domain + * suffix for the client. Corresponds to DHCPv4 Option 15. + */ + domainName?: string | null; + /** + * Output only. [Output Only] The unique identifier for the resource type. The server + * generates this identifier. + */ + id?: string | null; + /** + * Output only. [Output Only] Type of the resource. Alwayscompute#dhcpOptionsConfig for dhcp options configs. + */ + kind?: string | null; + /** + * The duration, in seconds, of the IPv4 address lease offered by the DHCP + * server to the client VM guest OS. Corresponds to DHCPv4 Option 51. + */ + leaseTimeSec?: string | null; + /** + * Name of the resource. Provided by the client when the resource is created. + * The name must be 1-63 characters long, and comply withRFC1035. + * 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. + */ + name?: string | null; + /** + * An ordered list of IPv4 addresses of Network Time Protocol (NTP) servers + * available to the client VM guest OS for system clock synchronization, + * listed in order of preference. Corresponds to DHCPv4 Option 42. + */ + ntpServerIpv4Addresses?: string[] | null; + /** + * An ordered list of IPv6 addresses of Network Time Protocol (NTP) servers + * available to the client VM guest OS for system clock synchronization. + * Corresponds to DHCPv6 Option 56. + */ + ntpServerIpv6Addresses?: string[] | null; + /** + * Output only. [Output Only] URL of the region where the resource resides. + */ + region?: string | null; + /** + * Output only. [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * An ordered list of one or more IPv4 addresses of TFTP servers. Provides + * server redundancy and failover support, and is generally prioritized by + * clients over the single hostname specified in Option 66. Corresponds to + * DHCPv4 Option 150. + */ + tftpServerIpv4Addresses?: string[] | null; + /** + * The hostname or IP address of the Trivial File Transfer Protocol (TFTP) + * server from which the client VM guest OS can download boot files. Typically + * used in network booting (PXE) when the standard DHCP header 'sname' field + * is overloaded. Corresponds to DHCPv4 Option 66. + */ + tftpServerIpv4Name?: string | null; + } + /** + * Association represents the relationship between a DHCP options config and a + * network. Association represents the relationship between a DHCP options + * config and a network. + */ + export interface Schema$DhcpOptionsConfigAssociation { + /** + * Required. The target network this DHCP option is attached to. + * You can specify this 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 + */ + network?: string | null; + /** + * Output only. [Output Only] The server-defined ID of the associated Network. + */ + networkId?: string | null; + /** + * Output only. [Output Only] State of the association. + */ + state?: string | null; + } + export interface Schema$DhcpOptionsConfigList { + /** + * Server-defined ETag for optimistic concurrency control. + */ + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of DhcpOptionsConfig resources. + */ + items?: Schema$DhcpOptionsConfig[]; + /** + * Output only. [Output Only] Type of the resource. Alwayscompute#dhcpOptionsConfigList for a list of dhcp options + * configs. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger thanmaxResults, 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. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * Output only. [Output Only] Unreachable resources. + * end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * Represents a Persistent Disk resource. * @@ -7787,6 +8056,16 @@ export namespace compute_beta { */ seconds?: string | null; } + /** + * Dynamic compression policy for this URL Map's route. + */ + export interface Schema$DynamicCompressionPolicy { + /** + * Compress text responses using Brotli or gzip compression, based on + * the client's Accept-Encoding header. + */ + compressionMode?: string | null; + } /** * Describes the cause of the error with structured details. * @@ -10263,6 +10542,40 @@ export namespace compute_beta { aggregateResources?: Schema$FutureResourcesSpecAggregateResources; specificSkuResources?: Schema$FutureResourcesSpecSpecificSKUResources; } + /** + * Metadata for GetHealth operations. + */ + export interface Schema$GetHealthOperationMetadata { + /** + * Output only. The health information. + */ + healthInfo?: Schema$GetHealthOperationMetadataHealthInfo; + } + /** + * Health information. + */ + export interface Schema$GetHealthOperationMetadataHealthInfo { + /** + * Output only. The availability SLO status. + */ + availabilitySloStatus?: string | null; + /** + * Output only. The health status. + */ + healthStatus?: string | null; + /** + * Output only. The repair category. + */ + repairCategory?: string | null; + /** + * Output only. The reason for unhealthy status. + */ + unhealthyReason?: string | null; + /** + * Output only. The time when health info was updated. + */ + updateTime?: string | null; + } export interface Schema$GetVersionOperationMetadata { inlineSbomInfo?: Schema$GetVersionOperationMetadataSbomInfo; } @@ -10296,6 +10609,51 @@ export namespace compute_beta { */ destinationAddress?: string | null; } + /** + * Represents the Global Frontend Bundle settings for a single project. + */ + export interface Schema$GlobalFrontendSettings { + /** + * Customer-settable bundle type. + */ + bundleType?: string | null; + /** + * Output only. [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * Output only. [Output Only] An optional description of this resource. + */ + description?: string | null; + /** + * Output only. For optimistic locking + */ + etag?: string | null; + /** + * Output only. [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string | null; + /** + * Output only. OUTPUT_ONLY fields + * [Output Only] Name of the resource. 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. + */ + name?: string | null; + /** + * Output only. [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + } + /** + * Response to an UpdateGlobalFrontendSettingsRequest. + */ + export interface Schema$GlobalFrontendSettingsPatchResponse { + operation?: Schema$Operation; + } export interface Schema$GlobalNetworkEndpointGroupsAttachEndpointsRequest { /** * The list of network endpoints to be attached. @@ -10837,6 +11195,7 @@ export namespace compute_beta { * - IDPF * - SNP_SVSM_CAPABLE * - CCA_CAPABLE + * - SUSPEND_SAFE_FPR * * * For more information, see @@ -12612,6 +12971,11 @@ export namespace compute_beta { * Not supported when the URL map is bound to a target gRPC proxy. */ corsPolicy?: Schema$CorsPolicy; + /** + * Dynamic compression policy for this URL Map's route. Available only for + * Global EXTERNAL_MANAGED load balancer schemes. + */ + dynamicCompressionPolicy?: Schema$DynamicCompressionPolicy; /** * The specification for fault injection introduced into traffic to test * the resiliency of clients to backend service failure. As part of fault @@ -16089,6 +16453,10 @@ export namespace compute_beta { * Represents the change that you want to make to the instance properties. */ export interface Schema$InstancePropertiesPatch { + /** + * This optional flag exposes the hashed physical host ID. + */ + exposeHostTopology?: boolean | null; /** * The label key-value pairs that you want to patch onto the instance. */ @@ -17144,6 +17512,10 @@ export namespace compute_beta { * Output only. [Output Only] Server-defined URL for the resource. */ selfLink?: string | null; + /** + * Output only. Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; /** * Output only. [Output Only] The current state of Interconnect functionality, which can * take one of the following values: @@ -18886,6 +19258,16 @@ export namespace compute_beta { * may match multiple InterconnectLocations. */ city?: string | null; + /** + * Output only. The maximum unmetered bandwidth for dynamic paths allowable per + * WireGroup for this metro. + */ + maxDynamicPathBandwidthGbps?: string | null; + /** + * Output only. The maximum unmetered bandwidth for fixed paths allowable per WireGroup + * for this metro. + */ + maxFixedPathBandwidthGbps?: string | null; } /** * Response to the list request, and contains a list of interconnect locations. @@ -18963,6 +19345,12 @@ export namespace compute_beta { * MKA session cannot be established with your router. */ failOpen?: boolean | null; + /** + * Optional. URL of the InterconnectKeyGroup resource to use for MACsec, in the + * format: + * projects/{project\}/locations/{region\}/interconnectKeyGroups/{interconnectKeyGroup\}. + */ + interconnectKeyGroup?: string | null; /** * Required. A keychain placeholder describing a set of named key objects * along with their start times. A MACsec CKN/CAK is generated for each @@ -19770,6 +20158,54 @@ export namespace compute_beta { message?: string; } | null; } + export interface Schema$ListVmExtensionStatesResponse { + /** + * Output only. 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 VmExtensionPolicy. An up-to-date + * fingerprint must be provided in order to update the VmExtensionPolicy. + * + * To see the latest value of the fingerprint, make a get() request to + * retrieve a VmExtensionPolicy. + */ + etag?: string | null; + /** + * Output only. Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * Output only. A list of VM extension policy resources. + */ + items?: Schema$VmExtensionState[]; + /** + * Output only. Type of resource. + */ + kind?: string | null; + /** + * Output only. This token allows you to get the next page of results for + * list requests. If the number of results is larger thanmaxResults, 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. + */ + nextPageToken?: string | null; + /** + * Output only. Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * Output only. Unreachable resources. + */ + unreachables?: string[] | null; + /** + * Output only. Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } export interface Schema$LocalDisk { /** * Specifies the number of such disks. @@ -20328,7 +20764,7 @@ export namespace compute_beta { */ shutdownDetails?: Schema$ManagedInstanceShutdownDetails; /** - * Output only. [Output Only] The eventual status of the instance. The instance group + * 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. */ @@ -24027,6 +24463,10 @@ export namespace compute_beta { message?: string; }>; } | null; + /** + * Output only. Metadata for GetHealth operations. + */ + getHealthOperationMetadata?: Schema$GetHealthOperationMetadata; getVersionOperationMetadata?: Schema$GetVersionOperationMetadata; /** * [Output Only] If the operation fails, this field contains the HTTP error @@ -26046,6 +26486,335 @@ export namespace compute_beta { */ rolloutStatus?: string | null; } + /** + * Represents a RecoverableSnapshot resource. + * + * A RecoverableSnapshot represents a snapshot in recycle bin. + */ + export interface Schema$RecoverableSnapshot { + /** + * Output only. [Output Only] Creation timestamp inRFC3339 + * text format. + */ + creationTimestamp?: string | null; + /** + * Optional. An optional description of this resource. + */ + description?: string | null; + /** + * Output only. [Output Only] The unique identifier for the resource. This identifier is + * defined by the server. + */ + id?: string | null; + /** + * Output only. [Output Only] Type of the resource. Alwayscompute#recoverableSnapshot for RecoverableSnapshot + * resources. + */ + kind?: string | null; + /** + * Output only. Identifier. Name of the recoverable snapshot generated on the deletion of the snapshot. + * The name will be 1-63 characters long, and comply withRFC1035. + * Specifically, the name will be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character will be a lowercase letter, and all following characters can be + * a dash, lowercase letter, or digit, except the last character, which cannot + * be a dash. + */ + name?: string | null; + /** + * Output only. Output Only] The original snapshot resource. + */ + originalResource?: Schema$RecoverableSnapshotOriginalSnapshot; + /** + * Output only. [Output Only] Purge timestamp of recoverable snapshot inRFC3339 + * text format. + */ + purgeTimestamp?: string | null; + /** + * Output only. [Output Only] Reserved for future use. + */ + satisfiesPzi?: boolean | null; + /** + * Output only. [Output Only] Reserved for future use. + */ + satisfiesPzs?: boolean | null; + /** + * Output only. [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * Output only. [Output Only] Server-defined URL for this resource's resource id. + */ + selfLinkWithId?: string | null; + /** + * Output only. [Output Only] Status of the recoverable snapshot. + */ + status?: string | null; + } + export interface Schema$RecoverableSnapshotList { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of RecoverableSnapshots resources. + */ + items?: Schema$RecoverableSnapshot[]; + /** + * Output only. [Output Only] Type of resource. Alwayscompute#recoverableSnapshotList for lists of + * recoverablesnapshots. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger thanmaxResults, 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. + */ + nextPageToken?: string | null; + /** + * Output only. [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * Output only. [Output Only] Unreachable resources. + * end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + export interface Schema$RecoverableSnapshotOriginalSnapshot { + /** + * Output only. [Output Only] The architecture of the snapshot. Valid values are + * ARM64 or X86_64. + */ + architecture?: string | null; + /** + * Output only. [Output Only] Set to true if snapshots are automatically created by + * applying resource policy on the target disk. + */ + autoCreated?: boolean | null; + /** + * Creates the new snapshot in the snapshot chain labeled with the + * specified name. The chain name must be 1-63 characters long and comply + * with RFC1035. This is an uncommon option only for advanced service + * owners who needs to create separate snapshot chains, for example, + * for chargeback tracking. When you describe your snapshot resource, this + * field is visible only if it has a non-empty value. + */ + chainName?: string | null; + /** + * Output only. [Output Only] Size in bytes of the snapshot at creation time. + */ + creationSizeBytes?: string | null; + /** + * Output only. [Output Only] Creation timestamp inRFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * Output only. [Output Only] Deletion timestamp of snapshot inRFC3339 text format. + */ + deletionTimestamp?: string | null; + /** + * An optional description of this resource. + */ + description?: string | null; + /** + * Output only. [Output Only] Size of the source disk, specified in GB. + */ + diskSizeGb?: string | null; + /** + * Output only. [Output Only] Number of bytes downloaded to restore a snapshot to a disk. + */ + downloadBytes?: string | null; + /** + * Output only. Whether this snapshot is created from a confidential compute mode disk. + * [Output Only]: This field is not set by user, but from source disk. + */ + enableConfidentialCompute?: boolean | null; + /** + * Output only. [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. + */ + guestOsFeatures?: Schema$GuestOsFeature[]; + /** + * Output only. [Output Only] The unique identifier for the original snapshot. This + * identifier is defined by the server. + */ + id?: string | null; + /** + * 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 error412 conditionNotMet. + * + * To see the latest fingerprint, make a get() request to + * retrieve a snapshot. + */ + labelFingerprint?: string | null; + /** + * Labels to apply to this snapshot. These can be later modified by + * the setLabels method. + * Label values may be empty. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. [Output Only] Integer license codes indicating which licenses are + * attached to this snapshot. + */ + licenseCodes?: string[] | null; + /** + * Output only. [Output Only] A list of public visible licenses that apply to this + * snapshot. + */ + licenses?: string[] | null; + /** + * Number of days the snapshot should be retained before being deleted + * automatically. + */ + maxRetentionDays?: number | null; + /** + * Name of the original snapshot provided by the client. 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. + */ + name?: string | null; + /** + * Output only. [Output Only] URL of the region where the snapshot resides. Only + * applicable for regional snapshots. + */ + region?: string | null; + /** + * Output only. Reserved for future use. + */ + satisfiesPzi?: boolean | null; + /** + * Output only. [Output Only] Reserved for future use. + */ + satisfiesPzs?: boolean | null; + /** + * Output only. [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * Output only. [Output Only] Server-defined URL for this resource's resource id. + */ + selfLinkWithId?: string | null; + /** + * Encrypts the snapshot using acustomer-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. + */ + snapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * Output only. [Output Only] The unique ID of the snapshot group that this snapshot + * belongs to. The usage of snapshot group feature is restricted. + */ + snapshotGroupId?: string | null; + /** + * Output only. [Output only] The snapshot group that this snapshot belongs to. The usage + * of snapshot group feature is restricted. + */ + snapshotGroupName?: string | null; + /** + * Indicates the type of the snapshot. + */ + snapshotType?: string | null; + /** + * The source disk used to create this snapshot. + */ + sourceDisk?: string | null; + /** + * The customer-supplied + * encryption key of the source disk. Required if the source disk is + * protected by a customer-supplied encryption key. + */ + sourceDiskEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * The source disk whose recovery checkpoint will be used to create this + * snapshot. + */ + sourceDiskForRecoveryCheckpoint?: string | null; + /** + * Output only. [Output Only] The ID value of the disk used to create this snapshot + */ + sourceDiskId?: string | null; + /** + * The source instant snapshot used to create this snapshot. + */ + sourceInstantSnapshot?: string | null; + /** + * Customer provided encryption key when creating Snapshot from Instant + * Snapshot. + */ + sourceInstantSnapshotEncryptionKey?: Schema$CustomerEncryptionKey; + /** + * Output only. [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. + */ + sourceInstantSnapshotId?: string | null; + /** + * Output only. [Output Only] URL of the resource policy which created this + * scheduled snapshot. + */ + sourceSnapshotSchedulePolicy?: string | null; + /** + * Output only. [Output Only] ID of the resource policy which created this + * scheduled snapshot. + */ + sourceSnapshotSchedulePolicyId?: string | null; + /** + * Output only. [Output Only] A size of the storage used by the snapshot. + */ + storageBytes?: string | null; + /** + * Output only. [Deprecated] Instead, check the storageBytes field. After + * snapshot creation, the storageBytesStatus field is alwaysUP_TO_DATE. + * [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 unset, meaning the snapshot is + * being created, or UP_TO_DATE, meaning the size of the + * snapshot is up-to-date. + */ + storageBytesStatus?: string | null; + /** + * Cloud Storage bucket storage location of the snapshot (regional or + * multi-regional). + */ + storageLocations?: string[] | null; + } /** * Represents a reference to a resource. */ @@ -28444,6 +29213,11 @@ export namespace compute_beta { * latency. */ host?: string | null; + /** + * Output only. [Output Only] The ID of the machine on which the running instance is + * located. It is only populated for machines which have multiple hosts. + */ + machine?: string | null; /** * [Output Only] The ID of the sub-block in which the running instance is * located. Instances in the same sub-block experience lower network latency @@ -30799,6 +31573,11 @@ export namespace compute_beta { * specified in the spread placement policy attached to the instance. */ availabilityDomain?: number | null; + /** + * This optional flag exposes the hashed physical host ID in the + * ResourceStatus resource of the VM. + */ + exposeHostTopology?: boolean | null; gracefulShutdown?: Schema$SchedulingGracefulShutdown; /** * Specify the time in seconds for host error detection, the value must be @@ -33112,6 +33891,53 @@ export namespace compute_beta { */ resourceManagerTags?: {[key: string]: string} | null; } + /** + * Represents the singleton resource Snapshot Recycle Bin Policy that + * configures the retention duration for snapshots in the recycle bin. + * + * You can configure the retention duration for snapshots in the recycle bin + * at the project or organization level. If you configure the policy at the + * organization level, all projects in that organization will share the same + * policy. If you configure the policy at the project level it will be merged + * with org level policy (if any) and the snapshots in that project will use + * that policy. + */ + export interface Schema$SnapshotRecycleBinPolicy { + /** + * The rules for the snapshot recycle bin policy. The key is either 'default' + * or namespacedName of the TagValue which can be in the format: + * `{organization_id\}/{tag_key_short_name\}/{tag_value_short_name\}` or + * `{project_id\}/{tag_key_short_name\}/{tag_value_short_name\}` or + * `{project_number\}/{tag_key_short_name\}/{tag_value_short_name\}`. The default + * rule is applied if snapshots do not have any of these tags. + * The value is the rule for the key. + */ + rules?: {[key: string]: Schema$SnapshotRecycleBinPolicyRule} | null; + /** + * Output only. The system rules for snapshot recycle bin policy. + * Defines the default rule that applies if no customer-defined rule matches. + */ + systemRules?: {[key: string]: Schema$SnapshotRecycleBinPolicyRule} | null; + } + /** + * A rule that defines the retention policy for snapshots in the recycle bin. + */ + export interface Schema$SnapshotRecycleBinPolicyRule { + /** + * The rule config for standard snapshots. + */ + standardSnapshots?: Schema$SnapshotRecycleBinPolicyRuleRuleConfig; + } + /** + * The rule config for snapshots in the recycle bin. + */ + export interface Schema$SnapshotRecycleBinPolicyRuleRuleConfig { + /** + * The retention duration for snapshots in the recycle bin after which the + * snapshots are automatically deleted from recycle bin. + */ + retentionDurationDays?: string | null; + } export interface Schema$SnapshotSettings { /** * (Regional snapshots use only)Policy of which location is allowed to access @@ -33174,6 +34000,12 @@ export namespace compute_beta { */ name?: string | null; } + export interface Schema$SnapshotsGetEffectiveRecycleBinRuleResponse { + /** + * The retention duration of the snapshot in recycle bin. + */ + retentionDurationDays?: string | null; + } export interface Schema$SnapshotsScopedList { /** * [Output Only] A list of snapshots contained in this scope. @@ -37839,6 +38671,41 @@ export namespace compute_beta { message?: string; } | null; } + /** + * State of an extension on an instance. + */ + export interface Schema$VmExtensionState { + /** + * The status message of the extension if the extension fails to enforce. + */ + enforcementMsg?: string | null; + /** + * The enforcement state of the extension. + * If the extension is not enforced yet, then the health status will not be + * specified. + */ + enforcementState?: string | null; + /** + * The health status message of the extension. + */ + healthMsg?: string | null; + /** + * The health status of the extension. + */ + healthStatus?: string | null; + /** + * The name of the extension. + */ + name?: string | null; + /** + * The id of the policy that is enforced on the extension. + */ + policyId?: string | null; + /** + * The version of the extension. + */ + version?: string | null; + } /** * Represents a HA VPN gateway. * @@ -40278,6 +41145,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -40652,6 +41520,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -41081,6 +41950,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -41274,6 +42144,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -42107,9 +42978,10 @@ export namespace compute_beta { } /** - * Advice on making real-time decisions (such as choosing zone or - * machine types) during deployment to maximize your chances of obtaining - * capacity. + * Advises on whether extending an existing future reservation is possible + * based on the desired extension end time. If capacity isn't available for + * the entire requested duration, the method recommends the longest possible + * extension. * @example * ```js * // Before running the sample: @@ -42141,7 +43013,7 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.advice.capacity({ + * const res = await compute.advice.calendarModeExtension({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -42152,10 +43024,8 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { - * // "distributionPolicy": {}, - * // "instanceFlexibilityPolicy": {}, - * // "instanceProperties": {}, - * // "size": 0 + * // "endTimeNotLaterThan": "my_endTimeNotLaterThan", + * // "futureReservation": "my_futureReservation" * // } * }, * }); @@ -42163,7 +43033,9 @@ export namespace compute_beta { * * // Example response * // { - * // "recommendations": [] + * // "endTime": "my_endTime", + * // "notRecommendedReason": {}, + * // "recommendationId": "my_recommendationId" * // } * } * @@ -42179,214 +43051,61 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - capacity( - params: Params$Resource$Advice$Capacity, + calendarModeExtension( + params: Params$Resource$Advice$Calendarmodeextension, options: StreamMethodOptions ): Promise>; - capacity( - params?: Params$Resource$Advice$Capacity, + calendarModeExtension( + params?: Params$Resource$Advice$Calendarmodeextension, options?: MethodOptions - ): Promise>; - capacity( - params: Params$Resource$Advice$Capacity, + ): Promise< + GaxiosResponseWithHTTP2 + >; + calendarModeExtension( + params: Params$Resource$Advice$Calendarmodeextension, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - capacity( - params: Params$Resource$Advice$Capacity, + calendarModeExtension( + params: Params$Resource$Advice$Calendarmodeextension, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - capacity( - params: Params$Resource$Advice$Capacity, - callback: BodyResponseCallback - ): void; - capacity( - callback: BodyResponseCallback - ): void; - capacity( - paramsOrCallback?: - | Params$Resource$Advice$Capacity - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Advice$Capacity; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Advice$Capacity; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/beta/projects/{project}/regions/{region}/advice/capacity' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets the capacity history. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('beta'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.advice.capacityHistory({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instanceProperties": {}, - * // "locationPolicy": {}, - * // "types": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "location": "my_location", - * // "machineType": "my_machineType", - * // "preemptionHistory": [], - * // "priceHistory": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - capacityHistory( - params: Params$Resource$Advice$Capacityhistory, - options: StreamMethodOptions - ): Promise>; - capacityHistory( - params?: Params$Resource$Advice$Capacityhistory, - options?: MethodOptions - ): Promise>; - capacityHistory( - params: Params$Resource$Advice$Capacityhistory, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - capacityHistory( - params: Params$Resource$Advice$Capacityhistory, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + calendarModeExtension( + params: Params$Resource$Advice$Calendarmodeextension, + callback: BodyResponseCallback ): void; - capacityHistory( - params: Params$Resource$Advice$Capacityhistory, - callback: BodyResponseCallback + calendarModeExtension( + callback: BodyResponseCallback ): void; - capacityHistory( - callback: BodyResponseCallback - ): void; - capacityHistory( + calendarModeExtension( paramsOrCallback?: - | Params$Resource$Advice$Capacityhistory - | BodyResponseCallback + | Params$Resource$Advice$Calendarmodeextension + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advice$Capacityhistory; + {}) as Params$Resource$Advice$Calendarmodeextension; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advice$Capacityhistory; + params = {} as Params$Resource$Advice$Calendarmodeextension; options = {}; } @@ -42401,7 +43120,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/advice/capacityHistory' + '/compute/beta/projects/{project}/regions/{region}/advice/calendarModeExtension' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -42414,73 +43133,407 @@ export namespace compute_beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } - } - - export interface Params$Resource$Advice$Calendarmode extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CalendarModeAdviceRequest; - } - export interface Params$Resource$Advice$Capacity extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CapacityAdviceRequest; - } - export interface Params$Resource$Advice$Capacityhistory extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CapacityHistoryRequest; - } - - export class Resource$Autoscalers { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Retrieves an aggregated list of autoscalers. - * - * To prevent failure, it is recommended that you set the - * `returnPartialSuccess` parameter to `true`. + * Advice on making real-time decisions (such as choosing zone or + * machine types) during deployment to maximize your chances of obtaining + * capacity. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.advice.capacity({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "distributionPolicy": {}, + * // "instanceFlexibilityPolicy": {}, + * // "instanceProperties": {}, + * // "size": 0 + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "recommendations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + capacity( + params: Params$Resource$Advice$Capacity, + options: StreamMethodOptions + ): Promise>; + capacity( + params?: Params$Resource$Advice$Capacity, + options?: MethodOptions + ): Promise>; + capacity( + params: Params$Resource$Advice$Capacity, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + capacity( + params: Params$Resource$Advice$Capacity, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + capacity( + params: Params$Resource$Advice$Capacity, + callback: BodyResponseCallback + ): void; + capacity( + callback: BodyResponseCallback + ): void; + capacity( + paramsOrCallback?: + | Params$Resource$Advice$Capacity + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Advice$Capacity; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advice$Capacity; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/advice/capacity' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the capacity history. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.advice.capacityHistory({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instanceProperties": {}, + * // "locationPolicy": {}, + * // "types": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "location": "my_location", + * // "machineType": "my_machineType", + * // "preemptionHistory": [], + * // "priceHistory": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + capacityHistory( + params: Params$Resource$Advice$Capacityhistory, + options: StreamMethodOptions + ): Promise>; + capacityHistory( + params?: Params$Resource$Advice$Capacityhistory, + options?: MethodOptions + ): Promise>; + capacityHistory( + params: Params$Resource$Advice$Capacityhistory, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + capacityHistory( + params: Params$Resource$Advice$Capacityhistory, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + capacityHistory( + params: Params$Resource$Advice$Capacityhistory, + callback: BodyResponseCallback + ): void; + capacityHistory( + callback: BodyResponseCallback + ): void; + capacityHistory( + paramsOrCallback?: + | Params$Resource$Advice$Capacityhistory + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advice$Capacityhistory; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advice$Capacityhistory; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/advice/capacityHistory' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Advice$Calendarmode extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CalendarModeAdviceRequest; + } + export interface Params$Resource$Advice$Calendarmodeextension extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CalendarModeExtensionAdviceRequest; + } + export interface Params$Resource$Advice$Capacity extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CapacityAdviceRequest; + } + export interface Params$Resource$Advice$Capacityhistory extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CapacityHistoryRequest; + } + + export class Resource$Autoscalers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves an aggregated list of autoscalers. + * + * To prevent failure, it is recommended that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -42794,6 +43847,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -43155,6 +44209,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -43600,6 +44655,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -43963,6 +45019,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -44555,6 +45612,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -44991,6 +46049,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -45177,6 +46236,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -45689,6 +46749,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -46369,6 +47430,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -46560,6 +47622,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -47079,6 +48142,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -47871,6 +48935,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -48310,6 +49375,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -48496,6 +49562,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -49402,6 +50469,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -50125,6 +51193,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -50316,6 +51385,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -50667,6 +51737,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -51066,6 +52137,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -51905,6 +52977,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -52251,6 +53324,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -52692,6 +53766,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -53026,16 +54101,14 @@ export namespace compute_beta { requestBody?: Schema$CrossSiteNetwork; } - export class Resource$Disks { + export class Resource$Dhcpoptionsconfigs { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Adds existing resource policies to a disk. You can only add one - * policy which will be applied to this disk for scheduling snapshot - * creation. + * Deletes the specified DhcpOptionsConfig in the given location * @example * ```js * // Before running the sample: @@ -53067,12 +54140,14 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.addResourcePolicies({ - * // The disk name for this request. - * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.dhcpOptionsConfigs.delete({ + * // Name of the DhcpOptionsConfig resource to delete. + * dhcpOptionsConfig: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -53086,17 +54161,8 @@ export namespace compute_beta { * // The request ID must be * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). + * // end_interface: MixerMutationRequestBuilder * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "resourcePolicies": [] - * // } - * }, * }); * console.log(res.data); * @@ -53107,6 +54173,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -53144,32 +54211,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addResourcePolicies( - params: Params$Resource$Disks$Addresourcepolicies, + delete( + params: Params$Resource$Dhcpoptionsconfigs$Delete, options: StreamMethodOptions ): Promise>; - addResourcePolicies( - params?: Params$Resource$Disks$Addresourcepolicies, + delete( + params?: Params$Resource$Dhcpoptionsconfigs$Delete, options?: MethodOptions ): Promise>; - addResourcePolicies( - params: Params$Resource$Disks$Addresourcepolicies, + delete( + params: Params$Resource$Dhcpoptionsconfigs$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addResourcePolicies( - params: Params$Resource$Disks$Addresourcepolicies, + delete( + params: Params$Resource$Dhcpoptionsconfigs$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addResourcePolicies( - params: Params$Resource$Disks$Addresourcepolicies, + delete( + params: Params$Resource$Dhcpoptionsconfigs$Delete, callback: BodyResponseCallback ): void; - addResourcePolicies(callback: BodyResponseCallback): void; - addResourcePolicies( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Disks$Addresourcepolicies + | Params$Resource$Dhcpoptionsconfigs$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -53184,12 +54251,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Addresourcepolicies; + {}) as Params$Resource$Dhcpoptionsconfigs$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Addresourcepolicies; + params = {} as Params$Resource$Dhcpoptionsconfigs$Delete; options = {}; } @@ -53204,16 +54271,16 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies' + '/compute/beta/projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'region', 'dhcpOptionsConfig'], + pathParams: ['dhcpOptionsConfig', 'project', 'region'], context: this.context, }; if (callback) { @@ -53227,10 +54294,7 @@ export namespace compute_beta { } /** - * Retrieves an aggregated list of persistent disks. - * - * To prevent failure, it is recommended that you set the - * `returnPartialSuccess` parameter to `true`. + * Returns the specified DhcpOptionsConfig resource in the given location. * @example * ```js * // Before running the sample: @@ -53263,121 +54327,37 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // 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`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.dhcpOptionsConfigs.get({ + * // Name of the DhcpOptionsConfig resource to return. + * dhcpOptionsConfig: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "associations": {}, + * // "bootFileIpv4Name": "my_bootFileIpv4Name", + * // "bootFileIpv6Parameters": [], + * // "bootFileIpv6Url": "my_bootFileIpv6Url", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "dnsSearchPaths": [], + * // "domainName": "my_domainName", * // "id": "my_id", - * // "items": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "leaseTimeSec": "my_leaseTimeSec", + * // "name": "my_name", + * // "ntpServerIpv4Addresses": [], + * // "ntpServerIpv6Addresses": [], + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "tftpServerIpv4Addresses": [], + * // "tftpServerIpv4Name": "my_tftpServerIpv4Name" * // } * } * @@ -53393,55 +54373,53 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Disks$Aggregatedlist, + get( + params: Params$Resource$Dhcpoptionsconfigs$Get, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Disks$Aggregatedlist, + get( + params?: Params$Resource$Dhcpoptionsconfigs$Get, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Disks$Aggregatedlist, + ): Promise>; + get( + params: Params$Resource$Dhcpoptionsconfigs$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Disks$Aggregatedlist, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Disks$Aggregatedlist, - callback: BodyResponseCallback + get( + params: Params$Resource$Dhcpoptionsconfigs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + get( + params: Params$Resource$Dhcpoptionsconfigs$Get, + callback: BodyResponseCallback ): void; - aggregatedList( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Disks$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Dhcpoptionsconfigs$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Aggregatedlist; + {}) as Params$Resource$Dhcpoptionsconfigs$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Aggregatedlist; + params = {} as Params$Resource$Dhcpoptionsconfigs$Get; options = {}; } @@ -53455,7 +54433,8 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + '/compute/beta/projects/{project}/aggregated/disks' + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -53463,22 +54442,23 @@ export namespace compute_beta { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region', 'dhcpOptionsConfig'], + pathParams: ['dhcpOptionsConfig', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Bulk create a set of disks. + * Creates a DhcpOptionsConfig in the specified project in the given location + * using the parameters that are included in the request. * @example * ```js * // Before running the sample: @@ -53510,10 +54490,12 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.bulkInsert({ + * const res = await compute.dhcpOptionsConfigs.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -53527,17 +54509,31 @@ export namespace compute_beta { * // The request ID must be * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). + * // end_interface: MixerMutationRequestBuilder * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "instantSnapshotGroupParameters": {}, - * // "snapshotGroupParameters": {}, - * // "sourceConsistencyGroupPolicy": "my_sourceConsistencyGroupPolicy" + * // "associations": {}, + * // "bootFileIpv4Name": "my_bootFileIpv4Name", + * // "bootFileIpv6Parameters": [], + * // "bootFileIpv6Url": "my_bootFileIpv6Url", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "dnsSearchPaths": [], + * // "domainName": "my_domainName", + * // "id": "my_id", + * // "kind": "my_kind", + * // "leaseTimeSec": "my_leaseTimeSec", + * // "name": "my_name", + * // "ntpServerIpv4Addresses": [], + * // "ntpServerIpv6Addresses": [], + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "tftpServerIpv4Addresses": [], + * // "tftpServerIpv4Name": "my_tftpServerIpv4Name" * // } * }, * }); @@ -53550,6 +54546,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -53587,32 +54584,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - bulkInsert( - params: Params$Resource$Disks$Bulkinsert, + insert( + params: Params$Resource$Dhcpoptionsconfigs$Insert, options: StreamMethodOptions ): Promise>; - bulkInsert( - params?: Params$Resource$Disks$Bulkinsert, + insert( + params?: Params$Resource$Dhcpoptionsconfigs$Insert, options?: MethodOptions ): Promise>; - bulkInsert( - params: Params$Resource$Disks$Bulkinsert, + insert( + params: Params$Resource$Dhcpoptionsconfigs$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkInsert( - params: Params$Resource$Disks$Bulkinsert, + insert( + params: Params$Resource$Dhcpoptionsconfigs$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkInsert( - params: Params$Resource$Disks$Bulkinsert, + insert( + params: Params$Resource$Dhcpoptionsconfigs$Insert, callback: BodyResponseCallback ): void; - bulkInsert(callback: BodyResponseCallback): void; - bulkInsert( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Disks$Bulkinsert + | Params$Resource$Dhcpoptionsconfigs$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -53626,12 +54623,13 @@ export namespace compute_beta { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Bulkinsert; + let params = (paramsOrCallback || + {}) as Params$Resource$Dhcpoptionsconfigs$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Bulkinsert; + params = {} as Params$Resource$Dhcpoptionsconfigs$Insert; options = {}; } @@ -53646,7 +54644,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/bulkInsert' + '/compute/beta/projects/{project}/regions/{region}/dhcpOptionsConfigs' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -53654,8 +54652,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -53669,8 +54667,7 @@ export namespace compute_beta { } /** - * Sets the labels on many disks at once. To learn more about labels, read theLabeling - * Resources documentation. + * Lists the DhcpOptionsConfigs for a project in the given location. * @example * ```js * // Before running the sample: @@ -53694,6 +54691,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -53702,68 +54700,113 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.bulkSetLabels({ + * const res = await compute.dhcpOptionsConfigs.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "requests": [] - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "etag": "my_etag", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -53779,52 +54822,54 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - bulkSetLabels( - params: Params$Resource$Disks$Bulksetlabels, + list( + params: Params$Resource$Dhcpoptionsconfigs$List, options: StreamMethodOptions ): Promise>; - bulkSetLabels( - params?: Params$Resource$Disks$Bulksetlabels, + list( + params?: Params$Resource$Dhcpoptionsconfigs$List, options?: MethodOptions - ): Promise>; - bulkSetLabels( - params: Params$Resource$Disks$Bulksetlabels, + ): Promise>; + list( + params: Params$Resource$Dhcpoptionsconfigs$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkSetLabels( - params: Params$Resource$Disks$Bulksetlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Dhcpoptionsconfigs$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - bulkSetLabels( - params: Params$Resource$Disks$Bulksetlabels, - callback: BodyResponseCallback + list( + params: Params$Resource$Dhcpoptionsconfigs$List, + callback: BodyResponseCallback ): void; - bulkSetLabels(callback: BodyResponseCallback): void; - bulkSetLabels( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Disks$Bulksetlabels - | BodyResponseCallback + | Params$Resource$Dhcpoptionsconfigs$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Bulksetlabels; + {}) as Params$Resource$Dhcpoptionsconfigs$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Bulksetlabels; + params = {} as Params$Resource$Dhcpoptionsconfigs$List; options = {}; } @@ -53839,33 +54884,33 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/bulkSetLabels' + '/compute/beta/projects/{project}/regions/{region}/dhcpOptionsConfigs' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Patches the specified DhcpOptionsConfig resource with the data included in + * the request. This method supports PATCH + * semantics and usesJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -53897,15 +54942,14 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.createSnapshot({ - * // Name of the persistent disk to snapshot. - * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // [Input Only] Whether to attempt an application consistent snapshot by - * // informing the OS to prepare for the snapshot process. - * guestFlush: 'placeholder-value', + * const res = await compute.dhcpOptionsConfigs.patch({ + * // Name of the DhcpOptionsConfig resource to patch. + * dhcpOptionsConfig: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -53919,55 +54963,33 @@ export namespace compute_beta { * // The request ID must be * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). + * // end_interface: MixerMutationRequestBuilder * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // update_mask indicates fields to be updated as part of this request. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "architecture": "my_architecture", - * // "autoCreated": false, - * // "chainName": "my_chainName", - * // "creationSizeBytes": "my_creationSizeBytes", + * // "associations": {}, + * // "bootFileIpv4Name": "my_bootFileIpv4Name", + * // "bootFileIpv6Parameters": [], + * // "bootFileIpv6Url": "my_bootFileIpv6Url", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "downloadBytes": "my_downloadBytes", - * // "enableConfidentialCompute": false, - * // "guestFlush": false, - * // "guestOsFeatures": [], + * // "dnsSearchPaths": [], + * // "domainName": "my_domainName", * // "id": "my_id", * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "licenseCodes": [], - * // "licenses": [], - * // "locationHint": "my_locationHint", + * // "leaseTimeSec": "my_leaseTimeSec", * // "name": "my_name", - * // "params": {}, + * // "ntpServerIpv4Addresses": [], + * // "ntpServerIpv6Addresses": [], * // "region": "my_region", - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", - * // "snapshotEncryptionKey": {}, - * // "snapshotGroupId": "my_snapshotGroupId", - * // "snapshotGroupName": "my_snapshotGroupName", - * // "snapshotType": "my_snapshotType", - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskEncryptionKey": {}, - * // "sourceDiskForRecoveryCheckpoint": "my_sourceDiskForRecoveryCheckpoint", - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", - * // "sourceInstantSnapshotEncryptionKey": {}, - * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", - * // "sourceSnapshotSchedulePolicy": "my_sourceSnapshotSchedulePolicy", - * // "sourceSnapshotSchedulePolicyId": "my_sourceSnapshotSchedulePolicyId", - * // "status": "my_status", - * // "storageBytes": "my_storageBytes", - * // "storageBytesStatus": "my_storageBytesStatus", - * // "storageLocations": [] + * // "tftpServerIpv4Addresses": [], + * // "tftpServerIpv4Name": "my_tftpServerIpv4Name" * // } * }, * }); @@ -53980,6 +55002,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -54017,32 +55040,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - createSnapshot( - params: Params$Resource$Disks$Createsnapshot, + patch( + params: Params$Resource$Dhcpoptionsconfigs$Patch, options: StreamMethodOptions ): Promise>; - createSnapshot( - params?: Params$Resource$Disks$Createsnapshot, + patch( + params?: Params$Resource$Dhcpoptionsconfigs$Patch, options?: MethodOptions ): Promise>; - createSnapshot( - params: Params$Resource$Disks$Createsnapshot, + patch( + params: Params$Resource$Dhcpoptionsconfigs$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - createSnapshot( - params: Params$Resource$Disks$Createsnapshot, + patch( + params: Params$Resource$Dhcpoptionsconfigs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - createSnapshot( - params: Params$Resource$Disks$Createsnapshot, + patch( + params: Params$Resource$Dhcpoptionsconfigs$Patch, callback: BodyResponseCallback ): void; - createSnapshot(callback: BodyResponseCallback): void; - createSnapshot( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Disks$Createsnapshot + | Params$Resource$Dhcpoptionsconfigs$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -54057,12 +55080,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Createsnapshot; + {}) as Params$Resource$Dhcpoptionsconfigs$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Createsnapshot; + params = {} as Params$Resource$Dhcpoptionsconfigs$Patch; options = {}; } @@ -54077,16 +55100,16 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/createSnapshot' + '/compute/beta/projects/{project}/regions/{region}/dhcpOptionsConfigs/{dhcpOptionsConfig}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'region', 'dhcpOptionsConfig'], + pathParams: ['dhcpOptionsConfig', 'project', 'region'], context: this.context, }; if (callback) { @@ -54100,11 +55123,7 @@ export namespace compute_beta { } /** - * 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 separatelydelete - * snapshots. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -54128,6 +55147,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -54136,60 +55156,28 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.delete({ - * // Name of the persistent disk to delete. - * disk: '\S{1,66}', + * const res = await compute.dhcpOptionsConfigs.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -54205,51 +55193,56 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Disks$Delete, + testIamPermissions( + params: Params$Resource$Dhcpoptionsconfigs$Testiampermissions, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Disks$Delete, + testIamPermissions( + params?: Params$Resource$Dhcpoptionsconfigs$Testiampermissions, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Disks$Delete, + ): Promise>; + testIamPermissions( + params: Params$Resource$Dhcpoptionsconfigs$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Disks$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Dhcpoptionsconfigs$Testiampermissions, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Disks$Delete, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Dhcpoptionsconfigs$Testiampermissions, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Disks$Delete - | BodyResponseCallback + | Params$Resource$Dhcpoptionsconfigs$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Delete; + let params = (paramsOrCallback || + {}) as Params$Resource$Dhcpoptionsconfigs$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Delete; + params = {} as Params$Resource$Dhcpoptionsconfigs$Testiampermissions; options = {}; } @@ -54264,30 +55257,284 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}' + '/compute/beta/projects/{project}/regions/{region}/dhcpOptionsConfigs/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Dhcpoptionsconfigs$Delete extends StandardParameters { /** - * Returns the specified persistent disk. + * Name of the DhcpOptionsConfig resource to delete. + */ + dhcpOptionsConfig?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + * end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + } + export interface Params$Resource$Dhcpoptionsconfigs$Get extends StandardParameters { + /** + * Name of the DhcpOptionsConfig resource to return. + */ + dhcpOptionsConfig?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + } + export interface Params$Resource$Dhcpoptionsconfigs$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + * end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DhcpOptionsConfig; + } + export interface Params$Resource$Dhcpoptionsconfigs$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Dhcpoptionsconfigs$Patch extends StandardParameters { + /** + * Name of the DhcpOptionsConfig resource to patch. + */ + dhcpOptionsConfig?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + * end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DhcpOptionsConfig; + } + export interface Params$Resource$Dhcpoptionsconfigs$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Disks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Adds existing resource policies to a disk. You can only add one + * policy which will be applied to this disk for scheduling snapshot + * creation. * @example * ```js * // Before running the sample: @@ -54311,7 +55558,6 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -54320,77 +55566,68 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.get({ - * // Name of the persistent disk to return. + * const res = await compute.disks.addResourcePolicies({ + * // The disk name for this request. * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "resourcePolicies": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "accessMode": "my_accessMode", - * // "architecture": "my_architecture", - * // "asyncPrimaryDisk": {}, - * // "asyncSecondaryDisks": {}, + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "diskEncryptionKey": {}, - * // "enableConfidentialCompute": false, - * // "eraseWindowsVssSignature": false, - * // "guestOsFeatures": [], + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "interface": "my_interface", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "lastAttachTimestamp": "my_lastAttachTimestamp", - * // "lastDetachTimestamp": "my_lastDetachTimestamp", - * // "licenseCodes": [], - * // "licenses": [], - * // "locationHint": "my_locationHint", - * // "locked": false, - * // "multiWriter": false, * // "name": "my_name", - * // "options": "my_options", - * // "params": {}, - * // "physicalBlockSizeBytes": "my_physicalBlockSizeBytes", - * // "provisionedIops": "my_provisionedIops", - * // "provisionedThroughput": "my_provisionedThroughput", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", - * // "replicaZones": [], - * // "resourcePolicies": [], - * // "resourceStatus": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", - * // "sizeGb": "my_sizeGb", - * // "sourceConsistencyGroupPolicy": "my_sourceConsistencyGroupPolicy", - * // "sourceConsistencyGroupPolicyId": "my_sourceConsistencyGroupPolicyId", - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceImage": "my_sourceImage", - * // "sourceImageEncryptionKey": {}, - * // "sourceImageId": "my_sourceImageId", - * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", - * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", - * // "sourceMachineImage": "my_sourceMachineImage", - * // "sourceMachineImageDiskDeviceName": "my_sourceMachineImageDiskDeviceName", - * // "sourceMachineImageEncryptionKey": {}, - * // "sourceMachineImageId": "my_sourceMachineImageId", - * // "sourceSnapshot": "my_sourceSnapshot", - * // "sourceSnapshotEncryptionKey": {}, - * // "sourceSnapshotId": "my_sourceSnapshotId", - * // "sourceStorageObject": "my_sourceStorageObject", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", * // "status": "my_status", - * // "storagePool": "my_storagePool", - * // "storageType": "my_storageType", - * // "type": "my_type", - * // "users": [], + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], * // "zone": "my_zone" * // } * } @@ -54407,51 +55644,52 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Disks$Get, + addResourcePolicies( + params: Params$Resource$Disks$Addresourcepolicies, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Disks$Get, + addResourcePolicies( + params?: Params$Resource$Disks$Addresourcepolicies, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Disks$Get, + ): Promise>; + addResourcePolicies( + params: Params$Resource$Disks$Addresourcepolicies, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Disks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + addResourcePolicies( + params: Params$Resource$Disks$Addresourcepolicies, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Disks$Get, - callback: BodyResponseCallback + addResourcePolicies( + params: Params$Resource$Disks$Addresourcepolicies, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + addResourcePolicies(callback: BodyResponseCallback): void; + addResourcePolicies( paramsOrCallback?: - | Params$Resource$Disks$Get - | BodyResponseCallback + | Params$Resource$Disks$Addresourcepolicies + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Addresourcepolicies; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Get; + params = {} as Params$Resource$Disks$Addresourcepolicies; options = {}; } @@ -54466,9 +55704,9 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}' + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -54479,18 +55717,20 @@ export namespace compute_beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. + * Retrieves an aggregated list of persistent disks. + * + * To prevent failure, it is recommended that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -54523,25 +55763,121 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', + * const res = await compute.disks.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // 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`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -54557,52 +55893,55 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Disks$Getiampolicy, + aggregatedList( + params: Params$Resource$Disks$Aggregatedlist, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Disks$Getiampolicy, + aggregatedList( + params?: Params$Resource$Disks$Aggregatedlist, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Disks$Getiampolicy, + ): Promise>; + aggregatedList( + params: Params$Resource$Disks$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Disks$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Disks$Aggregatedlist, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Disks$Getiampolicy, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Disks$Aggregatedlist, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Disks$Getiampolicy - | BodyResponseCallback + | Params$Resource$Disks$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Getiampolicy; + {}) as Params$Resource$Disks$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Getiampolicy; + params = {} as Params$Resource$Disks$Aggregatedlist; options = {}; } @@ -54616,8 +55955,7 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy' + rootUrl + '/compute/beta/projects/{project}/aggregated/disks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -54625,26 +55963,22 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a persistent disk in the specified project using the data - * in the request. You can create a disk from a source - * (sourceImage, sourceSnapshot, orsourceDisk) 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. + * Bulk create a set of disks. * @example * ```js * // Before running the sample: @@ -54676,7 +56010,7 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.insert({ + * const res = await compute.disks.bulkInsert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -54694,8 +56028,6 @@ export namespace compute_beta { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Source image to restore onto a disk. This field is optional. - * sourceImage: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * @@ -54703,65 +56035,9 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { - * // "accessMode": "my_accessMode", - * // "architecture": "my_architecture", - * // "asyncPrimaryDisk": {}, - * // "asyncSecondaryDisks": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "diskEncryptionKey": {}, - * // "enableConfidentialCompute": false, - * // "eraseWindowsVssSignature": false, - * // "guestOsFeatures": [], - * // "id": "my_id", - * // "interface": "my_interface", - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "lastAttachTimestamp": "my_lastAttachTimestamp", - * // "lastDetachTimestamp": "my_lastDetachTimestamp", - * // "licenseCodes": [], - * // "licenses": [], - * // "locationHint": "my_locationHint", - * // "locked": false, - * // "multiWriter": false, - * // "name": "my_name", - * // "options": "my_options", - * // "params": {}, - * // "physicalBlockSizeBytes": "my_physicalBlockSizeBytes", - * // "provisionedIops": "my_provisionedIops", - * // "provisionedThroughput": "my_provisionedThroughput", - * // "region": "my_region", - * // "replicaZones": [], - * // "resourcePolicies": [], - * // "resourceStatus": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "selfLink": "my_selfLink", - * // "sizeGb": "my_sizeGb", - * // "sourceConsistencyGroupPolicy": "my_sourceConsistencyGroupPolicy", - * // "sourceConsistencyGroupPolicyId": "my_sourceConsistencyGroupPolicyId", - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceImage": "my_sourceImage", - * // "sourceImageEncryptionKey": {}, - * // "sourceImageId": "my_sourceImageId", - * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", - * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", - * // "sourceMachineImage": "my_sourceMachineImage", - * // "sourceMachineImageDiskDeviceName": "my_sourceMachineImageDiskDeviceName", - * // "sourceMachineImageEncryptionKey": {}, - * // "sourceMachineImageId": "my_sourceMachineImageId", - * // "sourceSnapshot": "my_sourceSnapshot", - * // "sourceSnapshotEncryptionKey": {}, - * // "sourceSnapshotId": "my_sourceSnapshotId", - * // "sourceStorageObject": "my_sourceStorageObject", - * // "status": "my_status", - * // "storagePool": "my_storagePool", - * // "storageType": "my_storageType", - * // "type": "my_type", - * // "users": [], - * // "zone": "my_zone" + * // "instantSnapshotGroupParameters": {}, + * // "snapshotGroupParameters": {}, + * // "sourceConsistencyGroupPolicy": "my_sourceConsistencyGroupPolicy" * // } * }, * }); @@ -54774,6 +56050,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -54811,32 +56088,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Disks$Insert, + bulkInsert( + params: Params$Resource$Disks$Bulkinsert, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Disks$Insert, + bulkInsert( + params?: Params$Resource$Disks$Bulkinsert, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Disks$Insert, + bulkInsert( + params: Params$Resource$Disks$Bulkinsert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Disks$Insert, + bulkInsert( + params: Params$Resource$Disks$Bulkinsert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Disks$Insert, + bulkInsert( + params: Params$Resource$Disks$Bulkinsert, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + bulkInsert(callback: BodyResponseCallback): void; + bulkInsert( paramsOrCallback?: - | Params$Resource$Disks$Insert + | Params$Resource$Disks$Bulkinsert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -54850,12 +56127,12 @@ export namespace compute_beta { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Insert; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Bulkinsert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Insert; + params = {} as Params$Resource$Disks$Bulkinsert; options = {}; } @@ -54869,7 +56146,8 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + '/compute/beta/projects/{project}/zones/{zone}/disks' + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/bulkInsert' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -54892,8 +56170,8 @@ export namespace compute_beta { } /** - * Retrieves a list of persistent disks contained within - * the specified zone. + * Sets the labels on many disks at once. To learn more about labels, read theLabeling + * Resources documentation. * @example * ```js * // Before running the sample: @@ -54917,7 +56195,6 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -54926,111 +56203,69 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.disks.bulkSetLabels({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "requests": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -55046,51 +56281,52 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Disks$List, + bulkSetLabels( + params: Params$Resource$Disks$Bulksetlabels, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Disks$List, + bulkSetLabels( + params?: Params$Resource$Disks$Bulksetlabels, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Disks$List, + ): Promise>; + bulkSetLabels( + params: Params$Resource$Disks$Bulksetlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Disks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + bulkSetLabels( + params: Params$Resource$Disks$Bulksetlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Disks$List, - callback: BodyResponseCallback + bulkSetLabels( + params: Params$Resource$Disks$Bulksetlabels, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + bulkSetLabels(callback: BodyResponseCallback): void; + bulkSetLabels( paramsOrCallback?: - | Params$Resource$Disks$List - | BodyResponseCallback + | Params$Resource$Disks$Bulksetlabels + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Bulksetlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$List; + params = {} as Params$Resource$Disks$Bulksetlabels; options = {}; } @@ -55104,9 +56340,10 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + '/compute/beta/projects/{project}/zones/{zone}/disks' + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/bulkSetLabels' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -55117,17 +56354,20 @@ export namespace compute_beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Removes resource policies from a disk. + * 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. * @example * ```js * // Before running the sample: @@ -55159,9 +56399,12 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.removeResourcePolicies({ - * // The disk name for this request. + * const res = await compute.disks.createSnapshot({ + * // Name of the persistent disk to snapshot. * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // [Input Only] Whether to attempt an application consistent snapshot by + * // informing the OS to prepare for the snapshot process. + * guestFlush: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -55186,7 +56429,47 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { - * // "resourcePolicies": [] + * // "architecture": "my_architecture", + * // "autoCreated": false, + * // "chainName": "my_chainName", + * // "creationSizeBytes": "my_creationSizeBytes", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "diskSizeGb": "my_diskSizeGb", + * // "downloadBytes": "my_downloadBytes", + * // "enableConfidentialCompute": false, + * // "guestFlush": false, + * // "guestOsFeatures": [], + * // "id": "my_id", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "licenseCodes": [], + * // "licenses": [], + * // "locationHint": "my_locationHint", + * // "name": "my_name", + * // "params": {}, + * // "region": "my_region", + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "snapshotEncryptionKey": {}, + * // "snapshotGroupId": "my_snapshotGroupId", + * // "snapshotGroupName": "my_snapshotGroupName", + * // "snapshotType": "my_snapshotType", + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskEncryptionKey": {}, + * // "sourceDiskForRecoveryCheckpoint": "my_sourceDiskForRecoveryCheckpoint", + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", + * // "sourceInstantSnapshotEncryptionKey": {}, + * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", + * // "sourceSnapshotSchedulePolicy": "my_sourceSnapshotSchedulePolicy", + * // "sourceSnapshotSchedulePolicyId": "my_sourceSnapshotSchedulePolicyId", + * // "status": "my_status", + * // "storageBytes": "my_storageBytes", + * // "storageBytesStatus": "my_storageBytesStatus", + * // "storageLocations": [] * // } * }, * }); @@ -55199,6 +56482,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -55236,34 +56520,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeResourcePolicies( - params: Params$Resource$Disks$Removeresourcepolicies, + createSnapshot( + params: Params$Resource$Disks$Createsnapshot, options: StreamMethodOptions ): Promise>; - removeResourcePolicies( - params?: Params$Resource$Disks$Removeresourcepolicies, + createSnapshot( + params?: Params$Resource$Disks$Createsnapshot, options?: MethodOptions ): Promise>; - removeResourcePolicies( - params: Params$Resource$Disks$Removeresourcepolicies, + createSnapshot( + params: Params$Resource$Disks$Createsnapshot, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeResourcePolicies( - params: Params$Resource$Disks$Removeresourcepolicies, + createSnapshot( + params: Params$Resource$Disks$Createsnapshot, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeResourcePolicies( - params: Params$Resource$Disks$Removeresourcepolicies, - callback: BodyResponseCallback - ): void; - removeResourcePolicies( + createSnapshot( + params: Params$Resource$Disks$Createsnapshot, callback: BodyResponseCallback ): void; - removeResourcePolicies( + createSnapshot(callback: BodyResponseCallback): void; + createSnapshot( paramsOrCallback?: - | Params$Resource$Disks$Removeresourcepolicies + | Params$Resource$Disks$Createsnapshot | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -55278,12 +56560,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Removeresourcepolicies; + {}) as Params$Resource$Disks$Createsnapshot; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Removeresourcepolicies; + params = {} as Params$Resource$Disks$Createsnapshot; options = {}; } @@ -55298,7 +56580,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies' + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/createSnapshot' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -55321,8 +56603,11 @@ export namespace compute_beta { } /** - * Resizes the specified persistent disk. - * You can only increase the size of the disk. + * 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 separatelydelete + * snapshots. * @example * ```js * // Before running the sample: @@ -55354,9 +56639,9 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.resize({ - * // The name of the persistent disk. - * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.disks.delete({ + * // Name of the persistent disk to delete. + * disk: '\S{1,66}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -55376,14 +56661,6 @@ export namespace compute_beta { * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "sizeGb": "my_sizeGb" - * // } - * }, * }); * console.log(res.data); * @@ -55394,6 +56671,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -55431,32 +56709,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - resize( - params: Params$Resource$Disks$Resize, + delete( + params: Params$Resource$Disks$Delete, options: StreamMethodOptions ): Promise>; - resize( - params?: Params$Resource$Disks$Resize, + delete( + params?: Params$Resource$Disks$Delete, options?: MethodOptions ): Promise>; - resize( - params: Params$Resource$Disks$Resize, + delete( + params: Params$Resource$Disks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Disks$Resize, + delete( + params: Params$Resource$Disks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Disks$Resize, + delete( + params: Params$Resource$Disks$Delete, callback: BodyResponseCallback ): void; - resize(callback: BodyResponseCallback): void; - resize( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Disks$Resize + | Params$Resource$Disks$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -55470,12 +56748,12 @@ export namespace compute_beta { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Resize; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Resize; + params = {} as Params$Resource$Disks$Delete; options = {}; } @@ -55490,9 +56768,9 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/resize' + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options @@ -55513,8 +56791,7 @@ export namespace compute_beta { } /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. + * Returns the specified persistent disk. * @example * ```js * // Before running the sample: @@ -55538,6 +56815,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -55546,33 +56824,78 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.setIamPolicy({ + * const res = await compute.disks.get({ + * // Name of the persistent disk to return. + * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "accessMode": "my_accessMode", + * // "architecture": "my_architecture", + * // "asyncPrimaryDisk": {}, + * // "asyncSecondaryDisks": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "diskEncryptionKey": {}, + * // "enableConfidentialCompute": false, + * // "eraseWindowsVssSignature": false, + * // "guestOsFeatures": [], + * // "id": "my_id", + * // "interface": "my_interface", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "lastAttachTimestamp": "my_lastAttachTimestamp", + * // "lastDetachTimestamp": "my_lastDetachTimestamp", + * // "licenseCodes": [], + * // "licenses": [], + * // "locationHint": "my_locationHint", + * // "locked": false, + * // "multiWriter": false, + * // "name": "my_name", + * // "options": "my_options", + * // "params": {}, + * // "physicalBlockSizeBytes": "my_physicalBlockSizeBytes", + * // "provisionedIops": "my_provisionedIops", + * // "provisionedThroughput": "my_provisionedThroughput", + * // "region": "my_region", + * // "replicaZones": [], + * // "resourcePolicies": [], + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "sizeGb": "my_sizeGb", + * // "sourceConsistencyGroupPolicy": "my_sourceConsistencyGroupPolicy", + * // "sourceConsistencyGroupPolicyId": "my_sourceConsistencyGroupPolicyId", + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceImage": "my_sourceImage", + * // "sourceImageEncryptionKey": {}, + * // "sourceImageId": "my_sourceImageId", + * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", + * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", + * // "sourceMachineImage": "my_sourceMachineImage", + * // "sourceMachineImageDiskDeviceName": "my_sourceMachineImageDiskDeviceName", + * // "sourceMachineImageEncryptionKey": {}, + * // "sourceMachineImageId": "my_sourceMachineImageId", + * // "sourceSnapshot": "my_sourceSnapshot", + * // "sourceSnapshotEncryptionKey": {}, + * // "sourceSnapshotId": "my_sourceSnapshotId", + * // "sourceStorageObject": "my_sourceStorageObject", + * // "status": "my_status", + * // "storagePool": "my_storagePool", + * // "storageType": "my_storageType", + * // "type": "my_type", + * // "users": [], + * // "zone": "my_zone" * // } * } * @@ -55588,52 +56911,51 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Disks$Setiampolicy, + get( + params: Params$Resource$Disks$Get, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Disks$Setiampolicy, + get( + params?: Params$Resource$Disks$Get, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Disks$Setiampolicy, + ): Promise>; + get( + params: Params$Resource$Disks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Disks$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Disks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Disks$Setiampolicy, - callback: BodyResponseCallback + get( + params: Params$Resource$Disks$Get, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Disks$Setiampolicy - | BodyResponseCallback + | Params$Resource$Disks$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Setiampolicy; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Setiampolicy; + params = {} as Params$Resource$Disks$Get; options = {}; } @@ -55648,31 +56970,31 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy' + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the labels on a disk. To learn more about labels, read theLabeling - * Resources documentation. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. * @example * ```js * // Before running the sample: @@ -55696,6 +57018,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -55704,69 +57027,25 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.setLabels({ + * const res = await compute.disks.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', * // Name or id of the resource for this request. * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {} - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -55782,51 +57061,52 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Disks$Setlabels, + getIamPolicy( + params: Params$Resource$Disks$Getiampolicy, options: StreamMethodOptions ): Promise>; - setLabels( - params?: Params$Resource$Disks$Setlabels, + getIamPolicy( + params?: Params$Resource$Disks$Getiampolicy, options?: MethodOptions - ): Promise>; - setLabels( - params: Params$Resource$Disks$Setlabels, + ): Promise>; + getIamPolicy( + params: Params$Resource$Disks$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Disks$Setlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Disks$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Disks$Setlabels, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Disks$Getiampolicy, + callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Disks$Setlabels - | BodyResponseCallback + | Params$Resource$Disks$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Setlabels; + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Setlabels; + params = {} as Params$Resource$Disks$Getiampolicy; options = {}; } @@ -55841,9 +57121,9 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/setLabels' + '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -55854,18 +57134,21 @@ export namespace compute_beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Starts asynchronous replication. - * Must be invoked on the primary disk. + * Creates a persistent disk in the specified project using the data + * in the request. You can create a disk from a source + * (sourceImage, sourceSnapshot, orsourceDisk) 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. * @example * ```js * // Before running the sample: @@ -55897,9 +57180,7 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.startAsyncReplication({ - * // The name of the persistent disk. - * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.disks.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -55917,6 +57198,8 @@ export namespace compute_beta { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Source image to restore onto a disk. This field is optional. + * sourceImage: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * @@ -55924,7 +57207,65 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { - * // "asyncSecondaryDisk": "my_asyncSecondaryDisk" + * // "accessMode": "my_accessMode", + * // "architecture": "my_architecture", + * // "asyncPrimaryDisk": {}, + * // "asyncSecondaryDisks": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "diskEncryptionKey": {}, + * // "enableConfidentialCompute": false, + * // "eraseWindowsVssSignature": false, + * // "guestOsFeatures": [], + * // "id": "my_id", + * // "interface": "my_interface", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "lastAttachTimestamp": "my_lastAttachTimestamp", + * // "lastDetachTimestamp": "my_lastDetachTimestamp", + * // "licenseCodes": [], + * // "licenses": [], + * // "locationHint": "my_locationHint", + * // "locked": false, + * // "multiWriter": false, + * // "name": "my_name", + * // "options": "my_options", + * // "params": {}, + * // "physicalBlockSizeBytes": "my_physicalBlockSizeBytes", + * // "provisionedIops": "my_provisionedIops", + * // "provisionedThroughput": "my_provisionedThroughput", + * // "region": "my_region", + * // "replicaZones": [], + * // "resourcePolicies": [], + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "sizeGb": "my_sizeGb", + * // "sourceConsistencyGroupPolicy": "my_sourceConsistencyGroupPolicy", + * // "sourceConsistencyGroupPolicyId": "my_sourceConsistencyGroupPolicyId", + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceImage": "my_sourceImage", + * // "sourceImageEncryptionKey": {}, + * // "sourceImageId": "my_sourceImageId", + * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", + * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", + * // "sourceMachineImage": "my_sourceMachineImage", + * // "sourceMachineImageDiskDeviceName": "my_sourceMachineImageDiskDeviceName", + * // "sourceMachineImageEncryptionKey": {}, + * // "sourceMachineImageId": "my_sourceMachineImageId", + * // "sourceSnapshot": "my_sourceSnapshot", + * // "sourceSnapshotEncryptionKey": {}, + * // "sourceSnapshotId": "my_sourceSnapshotId", + * // "sourceStorageObject": "my_sourceStorageObject", + * // "status": "my_status", + * // "storagePool": "my_storagePool", + * // "storageType": "my_storageType", + * // "type": "my_type", + * // "users": [], + * // "zone": "my_zone" * // } * }, * }); @@ -55937,6 +57278,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -55974,34 +57316,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - startAsyncReplication( - params: Params$Resource$Disks$Startasyncreplication, + insert( + params: Params$Resource$Disks$Insert, options: StreamMethodOptions ): Promise>; - startAsyncReplication( - params?: Params$Resource$Disks$Startasyncreplication, + insert( + params?: Params$Resource$Disks$Insert, options?: MethodOptions ): Promise>; - startAsyncReplication( - params: Params$Resource$Disks$Startasyncreplication, + insert( + params: Params$Resource$Disks$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - startAsyncReplication( - params: Params$Resource$Disks$Startasyncreplication, + insert( + params: Params$Resource$Disks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - startAsyncReplication( - params: Params$Resource$Disks$Startasyncreplication, - callback: BodyResponseCallback - ): void; - startAsyncReplication( + insert( + params: Params$Resource$Disks$Insert, callback: BodyResponseCallback ): void; - startAsyncReplication( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Disks$Startasyncreplication + | Params$Resource$Disks$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56015,13 +57355,12 @@ export namespace compute_beta { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Startasyncreplication; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Startasyncreplication; + params = {} as Params$Resource$Disks$Insert; options = {}; } @@ -56035,8 +57374,7 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication' + rootUrl + '/compute/beta/projects/{project}/zones/{zone}/disks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56044,8 +57382,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -56059,8 +57397,8 @@ export namespace compute_beta { } /** - * Stops asynchronous replication. - * Can be invoked either on the primary or on the secondary disk. + * Retrieves a list of persistent disks contained within + * the specified zone. * @example * ```js * // Before running the sample: @@ -56084,6 +57422,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -56092,20 +57431,253 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.stopAsyncReplication({ - * // The name of the persistent disk. - * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This + * const res = await compute.disks.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Disks$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Disks$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Disks$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Disks$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Disks$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Disks$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Disks$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/projects/{project}/zones/{zone}/disks' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Removes resource policies from a disk. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.disks.removeResourcePolicies({ + * // The disk name for this request. + * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This * // prevents clients from accidentally creating duplicate commitments. * // * // The request ID must be @@ -56114,6 +57686,14 @@ export namespace compute_beta { * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "resourcePolicies": [] + * // } + * }, * }); * console.log(res.data); * @@ -56124,6 +57704,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -56161,34 +57742,34 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - stopAsyncReplication( - params: Params$Resource$Disks$Stopasyncreplication, + removeResourcePolicies( + params: Params$Resource$Disks$Removeresourcepolicies, options: StreamMethodOptions ): Promise>; - stopAsyncReplication( - params?: Params$Resource$Disks$Stopasyncreplication, + removeResourcePolicies( + params?: Params$Resource$Disks$Removeresourcepolicies, options?: MethodOptions ): Promise>; - stopAsyncReplication( - params: Params$Resource$Disks$Stopasyncreplication, + removeResourcePolicies( + params: Params$Resource$Disks$Removeresourcepolicies, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopAsyncReplication( - params: Params$Resource$Disks$Stopasyncreplication, + removeResourcePolicies( + params: Params$Resource$Disks$Removeresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopAsyncReplication( - params: Params$Resource$Disks$Stopasyncreplication, + removeResourcePolicies( + params: Params$Resource$Disks$Removeresourcepolicies, callback: BodyResponseCallback ): void; - stopAsyncReplication( + removeResourcePolicies( callback: BodyResponseCallback ): void; - stopAsyncReplication( + removeResourcePolicies( paramsOrCallback?: - | Params$Resource$Disks$Stopasyncreplication + | Params$Resource$Disks$Removeresourcepolicies | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56203,12 +57784,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Stopasyncreplication; + {}) as Params$Resource$Disks$Removeresourcepolicies; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Stopasyncreplication; + params = {} as Params$Resource$Disks$Removeresourcepolicies; options = {}; } @@ -56223,7 +57804,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication' + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56246,8 +57827,8 @@ export namespace compute_beta { } /** - * Stops asynchronous replication for a consistency group of disks. - * Can be invoked either in the primary or secondary scope. + * Resizes the specified persistent disk. + * You can only increase the size of the disk. * @example * ```js * // Before running the sample: @@ -56279,7 +57860,9 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.stopGroupAsyncReplication({ + * const res = await compute.disks.resize({ + * // The name of the persistent disk. + * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -56297,15 +57880,14 @@ export namespace compute_beta { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. This must be the zone of the primary - * // or secondary disks in the consistency group. + * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "resourcePolicy": "my_resourcePolicy" + * // "sizeGb": "my_sizeGb" * // } * }, * }); @@ -56318,6 +57900,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -56355,34 +57938,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - stopGroupAsyncReplication( - params: Params$Resource$Disks$Stopgroupasyncreplication, + resize( + params: Params$Resource$Disks$Resize, options: StreamMethodOptions ): Promise>; - stopGroupAsyncReplication( - params?: Params$Resource$Disks$Stopgroupasyncreplication, + resize( + params?: Params$Resource$Disks$Resize, options?: MethodOptions ): Promise>; - stopGroupAsyncReplication( - params: Params$Resource$Disks$Stopgroupasyncreplication, + resize( + params: Params$Resource$Disks$Resize, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopGroupAsyncReplication( - params: Params$Resource$Disks$Stopgroupasyncreplication, + resize( + params: Params$Resource$Disks$Resize, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopGroupAsyncReplication( - params: Params$Resource$Disks$Stopgroupasyncreplication, - callback: BodyResponseCallback - ): void; - stopGroupAsyncReplication( + resize( + params: Params$Resource$Disks$Resize, callback: BodyResponseCallback ): void; - stopGroupAsyncReplication( + resize(callback: BodyResponseCallback): void; + resize( paramsOrCallback?: - | Params$Resource$Disks$Stopgroupasyncreplication + | Params$Resource$Disks$Resize | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56396,13 +57977,12 @@ export namespace compute_beta { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Stopgroupasyncreplication; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Resize; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Stopgroupasyncreplication; + params = {} as Params$Resource$Disks$Resize; options = {}; } @@ -56417,7 +57997,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication' + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/resize' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56425,8 +58005,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], context: this.context, }; if (callback) { @@ -56440,7 +58020,8 @@ export namespace compute_beta { } /** - * Returns permissions that a caller has on the specified resource. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -56464,7 +58045,6 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -56473,7 +58053,7 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.testIamPermissions({ + * const res = await compute.disks.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -56486,7 +58066,9 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { - * // "permissions": [] + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} * // } * }, * }); @@ -56494,7 +58076,10 @@ export namespace compute_beta { * * // Example response * // { - * // "permissions": [] + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -56510,56 +58095,52 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Disks$Testiampermissions, + setIamPolicy( + params: Params$Resource$Disks$Setiampolicy, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Disks$Testiampermissions, + setIamPolicy( + params?: Params$Resource$Disks$Setiampolicy, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Disks$Testiampermissions, + ): Promise>; + setIamPolicy( + params: Params$Resource$Disks$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Disks$Testiampermissions, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Disks$Testiampermissions, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Disks$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Disks$Setiampolicy, + callback: BodyResponseCallback ): void; - testIamPermissions( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Disks$Testiampermissions - | BodyResponseCallback + | Params$Resource$Disks$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Testiampermissions; + {}) as Params$Resource$Disks$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Testiampermissions; + params = {} as Params$Resource$Disks$Setiampolicy; options = {}; } @@ -56574,7 +58155,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions' + '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56587,19 +58168,18 @@ export namespace compute_beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Sets the labels on a disk. To learn more about labels, read theLabeling + * Resources documentation. * @example * ```js * // Before running the sample: @@ -56631,11 +58211,7 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.update({ - * // The disk name for this request. - * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * paths: 'placeholder-value', + * const res = await compute.disks.setLabels({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -56653,8 +58229,8 @@ export namespace compute_beta { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // update_mask indicates fields to be updated as part of this request. - * updateMask: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * @@ -56662,65 +58238,8 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { - * // "accessMode": "my_accessMode", - * // "architecture": "my_architecture", - * // "asyncPrimaryDisk": {}, - * // "asyncSecondaryDisks": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "diskEncryptionKey": {}, - * // "enableConfidentialCompute": false, - * // "eraseWindowsVssSignature": false, - * // "guestOsFeatures": [], - * // "id": "my_id", - * // "interface": "my_interface", - * // "kind": "my_kind", * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "lastAttachTimestamp": "my_lastAttachTimestamp", - * // "lastDetachTimestamp": "my_lastDetachTimestamp", - * // "licenseCodes": [], - * // "licenses": [], - * // "locationHint": "my_locationHint", - * // "locked": false, - * // "multiWriter": false, - * // "name": "my_name", - * // "options": "my_options", - * // "params": {}, - * // "physicalBlockSizeBytes": "my_physicalBlockSizeBytes", - * // "provisionedIops": "my_provisionedIops", - * // "provisionedThroughput": "my_provisionedThroughput", - * // "region": "my_region", - * // "replicaZones": [], - * // "resourcePolicies": [], - * // "resourceStatus": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "selfLink": "my_selfLink", - * // "sizeGb": "my_sizeGb", - * // "sourceConsistencyGroupPolicy": "my_sourceConsistencyGroupPolicy", - * // "sourceConsistencyGroupPolicyId": "my_sourceConsistencyGroupPolicyId", - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceImage": "my_sourceImage", - * // "sourceImageEncryptionKey": {}, - * // "sourceImageId": "my_sourceImageId", - * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", - * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", - * // "sourceMachineImage": "my_sourceMachineImage", - * // "sourceMachineImageDiskDeviceName": "my_sourceMachineImageDiskDeviceName", - * // "sourceMachineImageEncryptionKey": {}, - * // "sourceMachineImageId": "my_sourceMachineImageId", - * // "sourceSnapshot": "my_sourceSnapshot", - * // "sourceSnapshotEncryptionKey": {}, - * // "sourceSnapshotId": "my_sourceSnapshotId", - * // "sourceStorageObject": "my_sourceStorageObject", - * // "status": "my_status", - * // "storagePool": "my_storagePool", - * // "storageType": "my_storageType", - * // "type": "my_type", - * // "users": [], - * // "zone": "my_zone" + * // "labels": {} * // } * }, * }); @@ -56733,6 +58252,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -56770,32 +58290,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - update( - params: Params$Resource$Disks$Update, + setLabels( + params: Params$Resource$Disks$Setlabels, options: StreamMethodOptions ): Promise>; - update( - params?: Params$Resource$Disks$Update, + setLabels( + params?: Params$Resource$Disks$Setlabels, options?: MethodOptions ): Promise>; - update( - params: Params$Resource$Disks$Update, + setLabels( + params: Params$Resource$Disks$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Disks$Update, + setLabels( + params: Params$Resource$Disks$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Disks$Update, + setLabels( + params: Params$Resource$Disks$Setlabels, callback: BodyResponseCallback ): void; - update(callback: BodyResponseCallback): void; - update( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Disks$Update + | Params$Resource$Disks$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56809,12 +58329,12 @@ export namespace compute_beta { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Update; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Update; + params = {} as Params$Resource$Disks$Setlabels; options = {}; } @@ -56829,16 +58349,16 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}' + '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { @@ -56852,8 +58372,8 @@ export namespace compute_beta { } /** - * Rotates the customer-managed - * encryption key to the latest version for the specified persistent disk. + * Starts asynchronous replication. + * Must be invoked on the primary disk. * @example * ```js * // Before running the sample: @@ -56885,9 +58405,9 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.disks.updateKmsKey({ - * // Name of the Disk resource, should conform to RFC1035. - * disk: 'placeholder-value', + * const res = await compute.disks.startAsyncReplication({ + * // The name of the persistent disk. + * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -56912,7 +58432,7 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { - * // "kmsKeyName": "my_kmsKeyName" + * // "asyncSecondaryDisk": "my_asyncSecondaryDisk" * // } * }, * }); @@ -56925,6 +58445,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -56962,32 +58483,34 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updateKmsKey( - params: Params$Resource$Disks$Updatekmskey, + startAsyncReplication( + params: Params$Resource$Disks$Startasyncreplication, options: StreamMethodOptions ): Promise>; - updateKmsKey( - params?: Params$Resource$Disks$Updatekmskey, + startAsyncReplication( + params?: Params$Resource$Disks$Startasyncreplication, options?: MethodOptions ): Promise>; - updateKmsKey( - params: Params$Resource$Disks$Updatekmskey, + startAsyncReplication( + params: Params$Resource$Disks$Startasyncreplication, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateKmsKey( - params: Params$Resource$Disks$Updatekmskey, + startAsyncReplication( + params: Params$Resource$Disks$Startasyncreplication, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateKmsKey( - params: Params$Resource$Disks$Updatekmskey, + startAsyncReplication( + params: Params$Resource$Disks$Startasyncreplication, callback: BodyResponseCallback ): void; - updateKmsKey(callback: BodyResponseCallback): void; - updateKmsKey( + startAsyncReplication( + callback: BodyResponseCallback + ): void; + startAsyncReplication( paramsOrCallback?: - | Params$Resource$Disks$Updatekmskey + | Params$Resource$Disks$Startasyncreplication | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -57002,12 +58525,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Updatekmskey; + {}) as Params$Resource$Disks$Startasyncreplication; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Updatekmskey; + params = {} as Params$Resource$Disks$Startasyncreplication; options = {}; } @@ -57022,7 +58545,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/updateKmsKey' + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -57043,206 +58566,1196 @@ export namespace compute_beta { return createAPIRequest(parameters); } } - } - export interface Params$Resource$Disks$Addresourcepolicies extends StandardParameters { - /** - * The disk name for this request. - */ - disk?: string; - /** - * Project ID for this request. - */ - project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Stops asynchronous replication. + * Can be invoked either on the primary or on the secondary disk. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DisksAddResourcePoliciesRequest; - } - export interface Params$Resource$Disks$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. + * // Do the magic + * const res = await compute.disks.stopAsyncReplication({ + * // The name of the persistent disk. + * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) * ``` * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stopAsyncReplication( + params: Params$Resource$Disks$Stopasyncreplication, + options: StreamMethodOptions + ): Promise>; + stopAsyncReplication( + params?: Params$Resource$Disks$Stopasyncreplication, + options?: MethodOptions + ): Promise>; + stopAsyncReplication( + params: Params$Resource$Disks$Stopasyncreplication, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stopAsyncReplication( + params: Params$Resource$Disks$Stopasyncreplication, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stopAsyncReplication( + params: Params$Resource$Disks$Stopasyncreplication, + callback: BodyResponseCallback + ): void; + stopAsyncReplication( + callback: BodyResponseCallback + ): void; + stopAsyncReplication( + paramsOrCallback?: + | Params$Resource$Disks$Stopasyncreplication + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Stopasyncreplication; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Stopasyncreplication; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Stops asynchronous replication for a consistency group of disks. + * Can be invoked either in the primary or secondary scope. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * 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`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * // Do the magic + * const res = await compute.disks.stopGroupAsyncReplication({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. This must be the zone of the primary + * // or secondary disks in the consistency group. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "resourcePolicy": "my_resourcePolicy" + * // } + * }, + * }); + * console.log(res.data); * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Disks$Bulkinsert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * ``` * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$BulkInsertDiskResource; - } - export interface Params$Resource$Disks$Bulksetlabels extends StandardParameters { - /** - * Project ID for this request. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same + stopGroupAsyncReplication( + params: Params$Resource$Disks$Stopgroupasyncreplication, + options: StreamMethodOptions + ): Promise>; + stopGroupAsyncReplication( + params?: Params$Resource$Disks$Stopgroupasyncreplication, + options?: MethodOptions + ): Promise>; + stopGroupAsyncReplication( + params: Params$Resource$Disks$Stopgroupasyncreplication, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stopGroupAsyncReplication( + params: Params$Resource$Disks$Stopgroupasyncreplication, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stopGroupAsyncReplication( + params: Params$Resource$Disks$Stopgroupasyncreplication, + callback: BodyResponseCallback + ): void; + stopGroupAsyncReplication( + callback: BodyResponseCallback + ): void; + stopGroupAsyncReplication( + paramsOrCallback?: + | Params$Resource$Disks$Stopgroupasyncreplication + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Stopgroupasyncreplication; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Stopgroupasyncreplication; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.disks.testIamPermissions({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Disks$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Disks$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Disks$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Disks$Testiampermissions, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Disks$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Disks$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.disks.update({ + * // The disk name for this request. + * disk: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * paths: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // update_mask indicates fields to be updated as part of this request. + * updateMask: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessMode": "my_accessMode", + * // "architecture": "my_architecture", + * // "asyncPrimaryDisk": {}, + * // "asyncSecondaryDisks": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "diskEncryptionKey": {}, + * // "enableConfidentialCompute": false, + * // "eraseWindowsVssSignature": false, + * // "guestOsFeatures": [], + * // "id": "my_id", + * // "interface": "my_interface", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "lastAttachTimestamp": "my_lastAttachTimestamp", + * // "lastDetachTimestamp": "my_lastDetachTimestamp", + * // "licenseCodes": [], + * // "licenses": [], + * // "locationHint": "my_locationHint", + * // "locked": false, + * // "multiWriter": false, + * // "name": "my_name", + * // "options": "my_options", + * // "params": {}, + * // "physicalBlockSizeBytes": "my_physicalBlockSizeBytes", + * // "provisionedIops": "my_provisionedIops", + * // "provisionedThroughput": "my_provisionedThroughput", + * // "region": "my_region", + * // "replicaZones": [], + * // "resourcePolicies": [], + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "sizeGb": "my_sizeGb", + * // "sourceConsistencyGroupPolicy": "my_sourceConsistencyGroupPolicy", + * // "sourceConsistencyGroupPolicyId": "my_sourceConsistencyGroupPolicyId", + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceImage": "my_sourceImage", + * // "sourceImageEncryptionKey": {}, + * // "sourceImageId": "my_sourceImageId", + * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", + * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", + * // "sourceMachineImage": "my_sourceMachineImage", + * // "sourceMachineImageDiskDeviceName": "my_sourceMachineImageDiskDeviceName", + * // "sourceMachineImageEncryptionKey": {}, + * // "sourceMachineImageId": "my_sourceMachineImageId", + * // "sourceSnapshot": "my_sourceSnapshot", + * // "sourceSnapshotEncryptionKey": {}, + * // "sourceSnapshotId": "my_sourceSnapshotId", + * // "sourceStorageObject": "my_sourceStorageObject", + * // "status": "my_status", + * // "storagePool": "my_storagePool", + * // "storageType": "my_storageType", + * // "type": "my_type", + * // "users": [], + * // "zone": "my_zone" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + update( + params: Params$Resource$Disks$Update, + options: StreamMethodOptions + ): Promise>; + update( + params?: Params$Resource$Disks$Update, + options?: MethodOptions + ): Promise>; + update( + params: Params$Resource$Disks$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Disks$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Disks$Update, + callback: BodyResponseCallback + ): void; + update(callback: BodyResponseCallback): void; + update( + paramsOrCallback?: + | Params$Resource$Disks$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Update; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Rotates the customer-managed + * encryption key to the latest version for the specified persistent disk. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.disks.updateKmsKey({ + * // Name of the Disk resource, should conform to RFC1035. + * disk: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "kmsKeyName": "my_kmsKeyName" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateKmsKey( + params: Params$Resource$Disks$Updatekmskey, + options: StreamMethodOptions + ): Promise>; + updateKmsKey( + params?: Params$Resource$Disks$Updatekmskey, + options?: MethodOptions + ): Promise>; + updateKmsKey( + params: Params$Resource$Disks$Updatekmskey, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateKmsKey( + params: Params$Resource$Disks$Updatekmskey, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateKmsKey( + params: Params$Resource$Disks$Updatekmskey, + callback: BodyResponseCallback + ): void; + updateKmsKey(callback: BodyResponseCallback): void; + updateKmsKey( + paramsOrCallback?: + | Params$Resource$Disks$Updatekmskey + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Updatekmskey; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Updatekmskey; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/disks/{disk}/updateKmsKey' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Disks$Addresourcepolicies extends StandardParameters { + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DisksAddResourcePoliciesRequest; + } + export interface Params$Resource$Disks$Aggregatedlist extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * 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`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Disks$Bulkinsert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BulkInsertDiskResource; + } + export interface Params$Resource$Disks$Bulksetlabels extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same * request ID was received, and if so, will ignore the second request. This * prevents clients from accidentally creating duplicate commitments. * @@ -58051,6 +60564,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -59178,6 +61692,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -59532,6 +62047,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -59949,6 +62465,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -60505,6 +63022,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -60708,6 +63226,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -60913,6 +63432,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -61094,6 +63614,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -61273,6 +63794,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -62255,6 +64777,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -62829,6 +65352,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -63033,6 +65557,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -63238,6 +65763,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -63446,6 +65972,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -63627,6 +66154,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -63808,6 +66336,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -63992,6 +66521,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -65033,6 +67563,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -65403,6 +67934,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -65848,6 +68380,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -66215,6 +68748,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -66906,6 +69440,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -67329,6 +69864,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -67805,6 +70341,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -68000,6 +70537,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -68193,6 +70731,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -69233,6 +71772,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -69417,6 +71957,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -69813,6 +72354,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -70283,6 +72825,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -70844,6 +73387,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -71216,6 +73760,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -71640,6 +74185,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -71818,6 +74364,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -72391,6 +74938,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -72811,6 +75359,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -73283,6 +75832,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -73462,6 +76012,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -73653,6 +76204,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -74192,6 +76744,353 @@ export namespace compute_beta { requestBody?: Schema$TestPermissionsRequest; } + export class Resource$Globalfrontendsettings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the Global Frontend Billing Bundle Settings for a project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.globalFrontendSettings.get({ + * project: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "bundleType": "my_bundleType", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "etag": "my_etag", + * // "id": "my_id", + * // "name": "my_name", + * // "selfLink": "my_selfLink" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Globalfrontendsettings$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Globalfrontendsettings$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Globalfrontendsettings$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Globalfrontendsettings$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Globalfrontendsettings$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Globalfrontendsettings$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Globalfrontendsettings$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Globalfrontendsettings$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/globalFrontendSettings' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the Global Frontend Billing Bundle Settings for a project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.globalFrontendSettings.patch({ + * project: 'placeholder-value', + * + * requestId: 'placeholder-value', + * // e.g., "type" + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bundleType": "my_bundleType", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "etag": "my_etag", + * // "id": "my_id", + * // "name": "my_name", + * // "selfLink": "my_selfLink" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "operation": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Globalfrontendsettings$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Globalfrontendsettings$Patch, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + patch( + params: Params$Resource$Globalfrontendsettings$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Globalfrontendsettings$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Globalfrontendsettings$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Globalfrontendsettings$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Globalfrontendsettings$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Globalfrontendsettings$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/globalFrontendSettings' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Globalfrontendsettings$Get extends StandardParameters { + /** + * + */ + project?: string; + } + export interface Params$Resource$Globalfrontendsettings$Patch extends StandardParameters { + /** + * + */ + project?: string; + /** + * + */ + requestId?: string; + /** + * e.g., "type" + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalFrontendSettings; + } + export class Resource$Globalnetworkendpointgroups { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -74270,6 +77169,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -74457,6 +77357,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -74648,6 +77549,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -75039,6 +77941,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -76432,6 +79335,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -76852,6 +79756,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -77421,6 +80326,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -77970,6 +80876,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -78342,6 +81249,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -78792,6 +81700,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -79458,6 +82367,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -79816,6 +82726,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -80259,6 +83170,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -81025,6 +83937,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -81397,6 +84310,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -81844,6 +84758,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -82210,6 +85125,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -82927,6 +85843,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -83530,6 +86447,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -83887,6 +86805,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -84328,6 +87247,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -84686,6 +87606,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -85120,6 +88041,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -85477,6 +88399,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -85919,6 +88842,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -86277,6 +89201,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -86880,6 +89805,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -87075,6 +90001,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -87809,6 +90736,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -88275,6 +91203,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -88607,6 +91536,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -89435,6 +92365,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -89637,6 +92568,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -90044,6 +92976,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -90758,6 +93691,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -91202,6 +94136,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -91401,6 +94336,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -91601,6 +94537,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -91792,6 +94729,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -92003,6 +94941,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -92186,6 +95125,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -92772,6 +95712,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -94012,6 +96953,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -94209,6 +97151,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -94420,6 +97363,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -94631,6 +97575,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -94840,6 +97785,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -95048,6 +97994,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -95243,6 +98190,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -95441,6 +98389,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -95641,6 +98590,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -95849,6 +98799,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -96070,6 +99021,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -96288,6 +99240,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -96685,6 +99638,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -96882,6 +99836,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -98493,6 +101448,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -98935,6 +101891,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -99303,6 +102260,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -100002,6 +102960,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -100196,6 +103155,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -101117,6 +104077,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -101332,6 +104293,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -101526,6 +104488,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -101999,6 +104962,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -102198,6 +105162,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -102385,6 +105350,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -102572,6 +105538,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -102769,6 +105736,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -102958,6 +105926,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -104515,6 +107484,163 @@ export namespace compute_beta { } } + /** + * Retrieves details of a specific VM extension state. + * This is a read-only API. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instances.getVmExtensionState({ + * // The name of the extension to get the state for. + * extensionName: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name or id of the instance resource. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "enforcementMsg": "my_enforcementMsg", + * // "enforcementState": "my_enforcementState", + * // "healthMsg": "my_healthMsg", + * // "healthStatus": "my_healthStatus", + * // "name": "my_name", + * // "policyId": "my_policyId", + * // "version": "my_version" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getVmExtensionState( + params: Params$Resource$Instances$Getvmextensionstate, + options: StreamMethodOptions + ): Promise>; + getVmExtensionState( + params?: Params$Resource$Instances$Getvmextensionstate, + options?: MethodOptions + ): Promise>; + getVmExtensionState( + params: Params$Resource$Instances$Getvmextensionstate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getVmExtensionState( + params: Params$Resource$Instances$Getvmextensionstate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getVmExtensionState( + params: Params$Resource$Instances$Getvmextensionstate, + callback: BodyResponseCallback + ): void; + getVmExtensionState( + callback: BodyResponseCallback + ): void; + getVmExtensionState( + paramsOrCallback?: + | Params$Resource$Instances$Getvmextensionstate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Getvmextensionstate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Getvmextensionstate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/vmExtensionStates/{extensionName}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance', 'extensionName'], + pathParams: ['extensionName', 'instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Creates an instance resource in the specified project using the data * included in the request. @@ -104659,6 +107785,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -105264,7 +108391,8 @@ export namespace compute_beta { } /** - * Patches partner metadata of the specified instance. + * Lists all VM extensions states for a specific instance. + * This is a read-only API. * @example * ```js * // Before running the sample: @@ -105288,6 +108416,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -105296,69 +108425,115 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.patchPartnerMetadata({ - * // Name of the instance scoping this request. + * const res = await compute.instances.listVmExtensionStates({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // Name of the target instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // 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`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // Required. Name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "fingerprint": "my_fingerprint", - * // "partnerMetadata": {} - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "etag": "my_etag", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -105374,54 +108549,57 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchPartnerMetadata( - params: Params$Resource$Instances$Patchpartnermetadata, + listVmExtensionStates( + params: Params$Resource$Instances$Listvmextensionstates, options: StreamMethodOptions ): Promise>; - patchPartnerMetadata( - params?: Params$Resource$Instances$Patchpartnermetadata, + listVmExtensionStates( + params?: Params$Resource$Instances$Listvmextensionstates, options?: MethodOptions - ): Promise>; - patchPartnerMetadata( - params: Params$Resource$Instances$Patchpartnermetadata, + ): Promise>; + listVmExtensionStates( + params: Params$Resource$Instances$Listvmextensionstates, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchPartnerMetadata( - params: Params$Resource$Instances$Patchpartnermetadata, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listVmExtensionStates( + params: Params$Resource$Instances$Listvmextensionstates, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patchPartnerMetadata( - params: Params$Resource$Instances$Patchpartnermetadata, - callback: BodyResponseCallback + listVmExtensionStates( + params: Params$Resource$Instances$Listvmextensionstates, + callback: BodyResponseCallback ): void; - patchPartnerMetadata( - callback: BodyResponseCallback + listVmExtensionStates( + callback: BodyResponseCallback ): void; - patchPartnerMetadata( + listVmExtensionStates( paramsOrCallback?: - | Params$Resource$Instances$Patchpartnermetadata - | BodyResponseCallback + | Params$Resource$Instances$Listvmextensionstates + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Patchpartnermetadata; + {}) as Params$Resource$Instances$Listvmextensionstates; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Patchpartnermetadata; + params = {} as Params$Resource$Instances$Listvmextensionstates; options = {}; } @@ -105436,9 +108614,9 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata' + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/vmExtensionStates' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -105449,17 +108627,215 @@ export namespace compute_beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Perform a manual maintenance on the instance. + * Patches partner metadata of the specified instance. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instances.patchPartnerMetadata({ + * // Name of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "fingerprint": "my_fingerprint", + * // "partnerMetadata": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patchPartnerMetadata( + params: Params$Resource$Instances$Patchpartnermetadata, + options: StreamMethodOptions + ): Promise>; + patchPartnerMetadata( + params?: Params$Resource$Instances$Patchpartnermetadata, + options?: MethodOptions + ): Promise>; + patchPartnerMetadata( + params: Params$Resource$Instances$Patchpartnermetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchPartnerMetadata( + params: Params$Resource$Instances$Patchpartnermetadata, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchPartnerMetadata( + params: Params$Resource$Instances$Patchpartnermetadata, + callback: BodyResponseCallback + ): void; + patchPartnerMetadata( + callback: BodyResponseCallback + ): void; + patchPartnerMetadata( + paramsOrCallback?: + | Params$Resource$Instances$Patchpartnermetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Patchpartnermetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Patchpartnermetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Perform a manual maintenance on the instance. * @example * ```js * // Before running the sample: @@ -105523,6 +108899,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -105715,6 +109092,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -105910,6 +109288,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -106096,6 +109475,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -106289,6 +109669,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -106612,6 +109993,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -106803,6 +110185,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -107161,6 +110544,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -107354,6 +110738,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -107547,6 +110932,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -107742,6 +111128,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -107937,6 +111324,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -108130,6 +111518,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -108315,6 +111704,7 @@ export namespace compute_beta { * // { * // "automaticRestart": false, * // "availabilityDomain": 0, + * // "exposeHostTopology": false, * // "gracefulShutdown": {}, * // "hostErrorTimeoutSeconds": 0, * // "instanceTerminationAction": "my_instanceTerminationAction", @@ -108344,6 +111734,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -108540,6 +111931,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -108735,6 +112127,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -108930,6 +112323,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -109128,6 +112522,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -109324,6 +112719,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -109512,6 +112908,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -109700,6 +113097,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -109893,6 +113291,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -110090,6 +113489,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -110284,6 +113684,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -110702,6 +114103,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -110907,6 +114309,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -111102,6 +114505,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -111323,6 +114727,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -111522,6 +114927,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -111721,6 +115127,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -112460,6 +115867,24 @@ export namespace compute_beta { */ zone?: string; } + export interface Params$Resource$Instances$Getvmextensionstate extends StandardParameters { + /** + * The name of the extension to get the state for. + */ + extensionName?: string; + /** + * Name or id of the instance resource. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } export interface Params$Resource$Instances$Insert extends StandardParameters { /** * Project ID for this request. @@ -112740,6 +116165,118 @@ export namespace compute_beta { */ zone?: string; } + export interface Params$Resource$Instances$Listvmextensionstates extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * Name of the target instance scoping this request. + */ + instance?: string; + /** + * 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`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * Required. Name of the zone for this request. + */ + zone?: string; + } export interface Params$Resource$Instances$Patchpartnermetadata extends StandardParameters { /** * Name of the instance scoping this request. @@ -114130,6 +117667,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -114623,6 +118161,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -115128,6 +118667,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -116208,6 +119748,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -116720,6 +120261,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -117976,6 +121518,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -118505,6 +122048,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -119096,6 +122640,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -119838,6 +123383,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -120508,6 +124054,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -120963,6 +124510,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -121988,6 +125536,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -122421,6 +125970,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -122904,6 +126454,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -123099,6 +126650,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -123837,6 +127389,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -124020,6 +127573,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -124679,6 +128233,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -125128,6 +128683,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -126960,6 +130516,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -127159,6 +130716,7 @@ export namespace compute_beta { * // "requestedLinkCount": 0, * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", * // "state": "my_state", * // "subzone": "my_subzone", * // "wireGroups": [] @@ -127670,6 +131228,7 @@ export namespace compute_beta { * // "requestedLinkCount": 0, * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", * // "state": "my_state", * // "subzone": "my_subzone", * // "wireGroups": [] @@ -127685,6 +131244,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -128132,6 +131692,7 @@ export namespace compute_beta { * // "requestedLinkCount": 0, * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", * // "state": "my_state", * // "subzone": "my_subzone", * // "wireGroups": [] @@ -128147,6 +131708,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -128326,6 +131888,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -129618,6 +133181,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -130150,6 +133714,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -130922,6 +134487,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -131358,6 +134924,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -131885,6 +135452,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -132453,6 +136021,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -134693,6 +138262,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -135210,6 +138780,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -135658,6 +139229,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -136825,6 +140397,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -137186,6 +140759,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -137392,6 +140966,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -138095,6 +141670,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -138287,6 +141863,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -138482,6 +142059,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -138880,6 +142458,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -140264,6 +143843,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -140476,6 +144056,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -140691,6 +144272,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -141137,6 +144719,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -141319,6 +144902,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -142316,6 +145900,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -142757,6 +146342,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -142965,6 +146551,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -143176,6 +146763,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -143360,6 +146948,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -143545,6 +147134,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -143732,6 +147322,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -145474,6 +149065,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -145666,6 +149258,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -145850,6 +149443,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -146374,6 +149968,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -147062,6 +150657,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -147251,6 +150847,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -147442,6 +151039,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -147626,6 +151224,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -147973,6 +151572,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -148698,6 +152298,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -149135,6 +152736,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -149327,6 +152929,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -149850,6 +153453,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -150534,6 +154138,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -150726,6 +154331,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -151076,6 +154682,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -151269,6 +154876,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -152558,6 +156166,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -153076,6 +156685,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -155070,6 +158680,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -155416,6 +159027,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -156008,6 +159620,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -156194,6 +159807,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -156375,6 +159989,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -156962,6 +160577,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -157147,6 +160763,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -157628,6 +161245,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -157836,6 +161454,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -158022,6 +161641,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -158205,6 +161825,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -158909,6 +162530,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -159731,6 +163353,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -159946,6 +163569,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -160158,6 +163782,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -160344,6 +163969,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -160531,6 +164157,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -161174,17 +164801,14 @@ export namespace compute_beta { securityPolicy?: string; } - export class Resource$Packetmirrorings { + export class Resource$Organizationsnapshotrecyclebinpolicy { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves an aggregated list of packetMirrorings. - * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. + * Returns the specified SnapshotRecycleBinPolicy. * @example * ```js * // Before running the sample: @@ -161217,121 +164841,207 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.packetMirrorings.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // 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`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. + * const res = await compute.organizationSnapshotRecycleBinPolicy.get({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "rules": {}, + * // "systemRules": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizationsnapshotrecyclebinpolicy$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationsnapshotrecyclebinpolicy$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationsnapshotrecyclebinpolicy$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/snapshotRecycleBinPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization'], + pathParams: ['organization'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Patches the SnapshotRecycleBinPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationSnapshotRecycleBinPolicy.patch({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "rules": {}, + * // "systemRules": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": {}, + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -161347,57 +165057,53 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Packetmirrorings$Aggregatedlist, + patch( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Packetmirrorings$Aggregatedlist, + patch( + params?: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Packetmirrorings$Aggregatedlist, + ): Promise>; + patch( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Packetmirrorings$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Packetmirrorings$Aggregatedlist, - callback: BodyResponseCallback + patch( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + patch( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, + callback: BodyResponseCallback ): void; - aggregatedList( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Packetmirrorings$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Packetmirrorings$Aggregatedlist; + {}) as Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Packetmirrorings$Aggregatedlist; + params = + {} as Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch; options = {}; } @@ -161412,32 +165118,327 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/aggregated/packetMirrorings' + '/compute/beta/{+organization}/global/snapshotRecycleBinPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['organization'], + pathParams: ['organization'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Organizationsnapshotrecyclebinpolicy$Get extends StandardParameters { /** - * Deletes the specified PacketMirroring resource. + * Organization ID for this request. + */ + organization?: string; + } + export interface Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch extends StandardParameters { + /** + * Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SnapshotRecycleBinPolicy; + } + + export class Resource$Packetmirrorings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves an aggregated list of packetMirrorings. + * + * To prevent failure, Google recommends that you set the + * `returnPartialSuccess` parameter to `true`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.packetMirrorings.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // 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`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Packetmirrorings$Aggregatedlist, + options: StreamMethodOptions + ): Promise>; + aggregatedList( + params?: Params$Resource$Packetmirrorings$Aggregatedlist, + options?: MethodOptions + ): Promise>; + aggregatedList( + params: Params$Resource$Packetmirrorings$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Packetmirrorings$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Packetmirrorings$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Packetmirrorings$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Packetmirrorings$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Packetmirrorings$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/aggregated/packetMirrorings' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Deletes the specified PacketMirroring resource. * @example * ```js * // Before running the sample: @@ -161501,6 +165502,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -161862,6 +165864,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -162307,6 +166310,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -163415,6 +167419,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -163748,6 +167753,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -163936,6 +167942,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -164115,6 +168122,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -164304,6 +168312,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -165298,6 +169307,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -165375,12 +169385,2044 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Movedisk; + {}) as Params$Resource$Projects$Movedisk; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Movedisk; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/projects/{project}/moveDisk' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Moves an instance and its attached persistent disks from one zone to + * another. + * *Note*: Moving VMs or disks by using this method might + * cause unexpected behavior. For more information, see the [known + * issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). + * [Deprecated] This method is deprecated. See [moving instance across + * zones](/compute/docs/instances/moving-instance-across-zones) instead. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.projects.moveInstance({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "destinationZone": "my_destinationZone", + * // "targetInstance": "my_targetInstance" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + moveInstance( + params: Params$Resource$Projects$Moveinstance, + options: StreamMethodOptions + ): Promise>; + moveInstance( + params?: Params$Resource$Projects$Moveinstance, + options?: MethodOptions + ): Promise>; + moveInstance( + params: Params$Resource$Projects$Moveinstance, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveInstance( + params: Params$Resource$Projects$Moveinstance, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveInstance( + params: Params$Resource$Projects$Moveinstance, + callback: BodyResponseCallback + ): void; + moveInstance(callback: BodyResponseCallback): void; + moveInstance( + paramsOrCallback?: + | Params$Resource$Projects$Moveinstance + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Moveinstance; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Moveinstance; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/projects/{project}/moveInstance' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the + * billing account of the project must be subscribed to Cloud Armor + * Enterprise. See Subscribing + * to Cloud Armor Enterprise for more information. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.projects.setCloudArmorTier({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "cloudArmorTier": "my_cloudArmorTier" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setCloudArmorTier( + params: Params$Resource$Projects$Setcloudarmortier, + options: StreamMethodOptions + ): Promise>; + setCloudArmorTier( + params?: Params$Resource$Projects$Setcloudarmortier, + options?: MethodOptions + ): Promise>; + setCloudArmorTier( + params: Params$Resource$Projects$Setcloudarmortier, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setCloudArmorTier( + params: Params$Resource$Projects$Setcloudarmortier, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setCloudArmorTier( + params: Params$Resource$Projects$Setcloudarmortier, + callback: BodyResponseCallback + ): void; + setCloudArmorTier(callback: BodyResponseCallback): void; + setCloudArmorTier( + paramsOrCallback?: + | Params$Resource$Projects$Setcloudarmortier + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Setcloudarmortier; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Setcloudarmortier; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/projects/{project}/setCloudArmorTier' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets metadata common to all instances within the specified project using + * the data included in the request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.projects.setCommonInstanceMetadata({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "fingerprint": "my_fingerprint", + * // "items": [], + * // "kind": "my_kind" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setCommonInstanceMetadata( + params: Params$Resource$Projects$Setcommoninstancemetadata, + options: StreamMethodOptions + ): Promise>; + setCommonInstanceMetadata( + params?: Params$Resource$Projects$Setcommoninstancemetadata, + options?: MethodOptions + ): Promise>; + setCommonInstanceMetadata( + params: Params$Resource$Projects$Setcommoninstancemetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setCommonInstanceMetadata( + params: Params$Resource$Projects$Setcommoninstancemetadata, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setCommonInstanceMetadata( + params: Params$Resource$Projects$Setcommoninstancemetadata, + callback: BodyResponseCallback + ): void; + setCommonInstanceMetadata( + callback: BodyResponseCallback + ): void; + setCommonInstanceMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Setcommoninstancemetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Setcommoninstancemetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Setcommoninstancemetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/setCommonInstanceMetadata' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.projects.setDefaultNetworkTier({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "networkTier": "my_networkTier" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setDefaultNetworkTier( + params: Params$Resource$Projects$Setdefaultnetworktier, + options: StreamMethodOptions + ): Promise>; + setDefaultNetworkTier( + params?: Params$Resource$Projects$Setdefaultnetworktier, + options?: MethodOptions + ): Promise>; + setDefaultNetworkTier( + params: Params$Resource$Projects$Setdefaultnetworktier, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setDefaultNetworkTier( + params: Params$Resource$Projects$Setdefaultnetworktier, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setDefaultNetworkTier( + params: Params$Resource$Projects$Setdefaultnetworktier, + callback: BodyResponseCallback + ): void; + setDefaultNetworkTier( + callback: BodyResponseCallback + ): void; + setDefaultNetworkTier( + paramsOrCallback?: + | Params$Resource$Projects$Setdefaultnetworktier + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Setdefaultnetworktier; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Setdefaultnetworktier; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/projects/{project}/setDefaultNetworkTier' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the Cloud Armor Managed Protection (CAMP) tier of the project. To set + * PLUS or above the billing account of the project must be subscribed to + * Managed Protection Plus. See Subscribing + * to Managed Protection Plus for more information. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.projects.setManagedProtectionTier({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "managedProtectionTier": "my_managedProtectionTier" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setManagedProtectionTier( + params: Params$Resource$Projects$Setmanagedprotectiontier, + options: StreamMethodOptions + ): Promise>; + setManagedProtectionTier( + params?: Params$Resource$Projects$Setmanagedprotectiontier, + options?: MethodOptions + ): Promise>; + setManagedProtectionTier( + params: Params$Resource$Projects$Setmanagedprotectiontier, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setManagedProtectionTier( + params: Params$Resource$Projects$Setmanagedprotectiontier, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setManagedProtectionTier( + params: Params$Resource$Projects$Setmanagedprotectiontier, + callback: BodyResponseCallback + ): void; + setManagedProtectionTier( + callback: BodyResponseCallback + ): void; + setManagedProtectionTier( + paramsOrCallback?: + | Params$Resource$Projects$Setmanagedprotectiontier + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Setmanagedprotectiontier; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Setmanagedprotectiontier; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/setManagedProtectionTier' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Enables the usage export feature and sets theusage export bucket + * where reports are stored. If you provide an empty request body using this + * method, the usage export feature will be disabled. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/devstorage.full_control', + * 'https://www.googleapis.com/auth/devstorage.read_only', + * 'https://www.googleapis.com/auth/devstorage.read_write', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.projects.setUsageExportBucket({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bucketName": "my_bucketName", + * // "reportNamePrefix": "my_reportNamePrefix" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setUsageExportBucket( + params: Params$Resource$Projects$Setusageexportbucket, + options: StreamMethodOptions + ): Promise>; + setUsageExportBucket( + params?: Params$Resource$Projects$Setusageexportbucket, + options?: MethodOptions + ): Promise>; + setUsageExportBucket( + params: Params$Resource$Projects$Setusageexportbucket, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setUsageExportBucket( + params: Params$Resource$Projects$Setusageexportbucket, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setUsageExportBucket( + params: Params$Resource$Projects$Setusageexportbucket, + callback: BodyResponseCallback + ): void; + setUsageExportBucket( + callback: BodyResponseCallback + ): void; + setUsageExportBucket( + paramsOrCallback?: + | Params$Resource$Projects$Setusageexportbucket + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Setusageexportbucket; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Setusageexportbucket; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/projects/{project}/setUsageExportBucket' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Disablexpnhost extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Disablexpnresource extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsDisableXpnResourceRequest; + } + export interface Params$Resource$Projects$Enablexpnhost extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Enablexpnresource extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsEnableXpnResourceRequest; + } + export interface Params$Resource$Projects$Get extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Projects$Getxpnhost extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Projects$Getxpnresources extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Projects$Listxpnhosts extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsListXpnHostsRequest; + } + export interface Params$Resource$Projects$Movedisk extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DiskMoveRequest; + } + export interface Params$Resource$Projects$Moveinstance extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceMoveRequest; + } + export interface Params$Resource$Projects$Setcloudarmortier extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsSetCloudArmorTierRequest; + } + export interface Params$Resource$Projects$Setcommoninstancemetadata extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Metadata; + } + export interface Params$Resource$Projects$Setdefaultnetworktier extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsSetDefaultNetworkTierRequest; + } + export interface Params$Resource$Projects$Setmanagedprotectiontier extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProjectsSetManagedProtectionTierRequest; + } + export interface Params$Resource$Projects$Setusageexportbucket extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UsageExportLocation; + } + + export class Resource$Projectviews { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the specified global ProjectViews resource, with a regional + * context. + * This regional API endpoint reads resource metadata from regional + * read-only replicas. Because changes are copied to these regional replicas + * asynchronously, for real-time resource reads or any write operations + * (creating, updating, or deleting resources), use the global + * [projects.get](https://cloud.google.com/compute/docs/reference/rest/v1/projects/get) + * endpoint. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.projectViews.get({ + * // Required. Project ID for this request. This is part of the URL path. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Required. Name of the region for this request. This is part of the URL path. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "project": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projectviews$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projectviews$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projectviews$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projectviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projectviews$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projectviews$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Projectviews$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projectviews$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/projectViews' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projectviews$Get extends StandardParameters { + /** + * Required. Project ID for this request. This is part of the URL path. + */ + project?: string; + /** + * Required. Name of the region for this request. This is part of the URL path. + */ + region?: string; + } + + export class Resource$Publicadvertisedprefixes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Announces the specified PublicAdvertisedPrefix + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.publicAdvertisedPrefixes.announce({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the public advertised prefix. It should comply with RFC1035. + * publicAdvertisedPrefix: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + announce( + params: Params$Resource$Publicadvertisedprefixes$Announce, + options: StreamMethodOptions + ): Promise>; + announce( + params?: Params$Resource$Publicadvertisedprefixes$Announce, + options?: MethodOptions + ): Promise>; + announce( + params: Params$Resource$Publicadvertisedprefixes$Announce, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + announce( + params: Params$Resource$Publicadvertisedprefixes$Announce, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + announce( + params: Params$Resource$Publicadvertisedprefixes$Announce, + callback: BodyResponseCallback + ): void; + announce(callback: BodyResponseCallback): void; + announce( + paramsOrCallback?: + | Params$Resource$Publicadvertisedprefixes$Announce + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Publicadvertisedprefixes$Announce; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Movedisk; + params = {} as Params$Resource$Publicadvertisedprefixes$Announce; options = {}; } @@ -165394,7 +171436,8 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + '/compute/beta/projects/{project}/moveDisk' + rootUrl + + '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -165402,8 +171445,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'publicAdvertisedPrefix'], + pathParams: ['project', 'publicAdvertisedPrefix'], context: this.context, }; if (callback) { @@ -165417,13 +171460,7 @@ export namespace compute_beta { } /** - * Moves an instance and its attached persistent disks from one zone to - * another. - * *Note*: Moving VMs or disks by using this method might - * cause unexpected behavior. For more information, see the [known - * issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). - * [Deprecated] This method is deprecated. See [moving instance across - * zones](/compute/docs/instances/moving-instance-across-zones) instead. + * Deletes the specified PublicAdvertisedPrefix * @example * ```js * // Before running the sample: @@ -165455,10 +171492,13 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.projects.moveInstance({ + * const res = await compute.publicAdvertisedPrefixes.delete({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the PublicAdvertisedPrefix resource to delete. + * publicAdvertisedPrefix: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -165473,15 +171513,6 @@ export namespace compute_beta { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "destinationZone": "my_destinationZone", - * // "targetInstance": "my_targetInstance" - * // } - * }, * }); * console.log(res.data); * @@ -165492,6 +171523,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -165529,32 +171561,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - moveInstance( - params: Params$Resource$Projects$Moveinstance, + delete( + params: Params$Resource$Publicadvertisedprefixes$Delete, options: StreamMethodOptions ): Promise>; - moveInstance( - params?: Params$Resource$Projects$Moveinstance, + delete( + params?: Params$Resource$Publicadvertisedprefixes$Delete, options?: MethodOptions ): Promise>; - moveInstance( - params: Params$Resource$Projects$Moveinstance, + delete( + params: Params$Resource$Publicadvertisedprefixes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - moveInstance( - params: Params$Resource$Projects$Moveinstance, + delete( + params: Params$Resource$Publicadvertisedprefixes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - moveInstance( - params: Params$Resource$Projects$Moveinstance, + delete( + params: Params$Resource$Publicadvertisedprefixes$Delete, callback: BodyResponseCallback ): void; - moveInstance(callback: BodyResponseCallback): void; - moveInstance( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Moveinstance + | Params$Resource$Publicadvertisedprefixes$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -165569,12 +171601,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Moveinstance; + {}) as Params$Resource$Publicadvertisedprefixes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Moveinstance; + params = {} as Params$Resource$Publicadvertisedprefixes$Delete; options = {}; } @@ -165588,16 +171620,17 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + '/compute/beta/projects/{project}/moveInstance' + rootUrl + + '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'publicAdvertisedPrefix'], + pathParams: ['project', 'publicAdvertisedPrefix'], context: this.context, }; if (callback) { @@ -165611,10 +171644,7 @@ export namespace compute_beta { } /** - * Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the - * billing account of the project must be subscribed to Cloud Armor - * Enterprise. See Subscribing - * to Cloud Armor Enterprise for more information. + * Returns the specified PublicAdvertisedPrefix resource. * @example * ```js * // Before running the sample: @@ -165638,6 +171668,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -165646,64 +171677,34 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.projects.setCloudArmorTier({ + * const res = await compute.publicAdvertisedPrefixes.get({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "cloudArmorTier": "my_cloudArmorTier" - * // } - * }, + * // Name of the PublicAdvertisedPrefix resource to return. + * publicAdvertisedPrefix: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", + * // "byoipApiVersion": "my_byoipApiVersion", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "dnsVerificationIp": "my_dnsVerificationIp", + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "ipCidrRange": "my_ipCidrRange", + * // "ipv6AccessType": "my_ipv6AccessType", * // "kind": "my_kind", * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "networkTier": "my_networkTier", + * // "pdpScope": "my_pdpScope", + * // "publicDelegatedPrefixs": [], * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "sharedSecret": "my_sharedSecret", + * // "status": "my_status" * // } * } * @@ -165719,52 +171720,54 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setCloudArmorTier( - params: Params$Resource$Projects$Setcloudarmortier, + get( + params: Params$Resource$Publicadvertisedprefixes$Get, options: StreamMethodOptions ): Promise>; - setCloudArmorTier( - params?: Params$Resource$Projects$Setcloudarmortier, + get( + params?: Params$Resource$Publicadvertisedprefixes$Get, options?: MethodOptions - ): Promise>; - setCloudArmorTier( - params: Params$Resource$Projects$Setcloudarmortier, + ): Promise>; + get( + params: Params$Resource$Publicadvertisedprefixes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setCloudArmorTier( - params: Params$Resource$Projects$Setcloudarmortier, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Publicadvertisedprefixes$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setCloudArmorTier( - params: Params$Resource$Projects$Setcloudarmortier, - callback: BodyResponseCallback + get( + params: Params$Resource$Publicadvertisedprefixes$Get, + callback: BodyResponseCallback ): void; - setCloudArmorTier(callback: BodyResponseCallback): void; - setCloudArmorTier( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Setcloudarmortier - | BodyResponseCallback + | Params$Resource$Publicadvertisedprefixes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Setcloudarmortier; + {}) as Params$Resource$Publicadvertisedprefixes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Setcloudarmortier; + params = {} as Params$Resource$Publicadvertisedprefixes$Get; options = {}; } @@ -165778,31 +171781,32 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + '/compute/beta/projects/{project}/setCloudArmorTier' + rootUrl + + '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'publicAdvertisedPrefix'], + pathParams: ['project', 'publicAdvertisedPrefix'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets metadata common to all instances within the specified project using - * the data included in the request. + * Creates a PublicAdvertisedPrefix in the specified project + * using the parameters that are included in the request. * @example * ```js * // Before running the sample: @@ -165834,7 +171838,7 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.projects.setCommonInstanceMetadata({ + * const res = await compute.publicAdvertisedPrefixes.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -165857,9 +171861,22 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { + * // "byoipApiVersion": "my_byoipApiVersion", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "dnsVerificationIp": "my_dnsVerificationIp", * // "fingerprint": "my_fingerprint", - * // "items": [], - * // "kind": "my_kind" + * // "id": "my_id", + * // "ipCidrRange": "my_ipCidrRange", + * // "ipv6AccessType": "my_ipv6AccessType", + * // "kind": "my_kind", + * // "name": "my_name", + * // "networkTier": "my_networkTier", + * // "pdpScope": "my_pdpScope", + * // "publicDelegatedPrefixs": [], + * // "selfLink": "my_selfLink", + * // "sharedSecret": "my_sharedSecret", + * // "status": "my_status" * // } * }, * }); @@ -165872,6 +171889,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -165909,34 +171927,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setCommonInstanceMetadata( - params: Params$Resource$Projects$Setcommoninstancemetadata, + insert( + params: Params$Resource$Publicadvertisedprefixes$Insert, options: StreamMethodOptions ): Promise>; - setCommonInstanceMetadata( - params?: Params$Resource$Projects$Setcommoninstancemetadata, + insert( + params?: Params$Resource$Publicadvertisedprefixes$Insert, options?: MethodOptions ): Promise>; - setCommonInstanceMetadata( - params: Params$Resource$Projects$Setcommoninstancemetadata, + insert( + params: Params$Resource$Publicadvertisedprefixes$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setCommonInstanceMetadata( - params: Params$Resource$Projects$Setcommoninstancemetadata, + insert( + params: Params$Resource$Publicadvertisedprefixes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setCommonInstanceMetadata( - params: Params$Resource$Projects$Setcommoninstancemetadata, - callback: BodyResponseCallback - ): void; - setCommonInstanceMetadata( + insert( + params: Params$Resource$Publicadvertisedprefixes$Insert, callback: BodyResponseCallback ): void; - setCommonInstanceMetadata( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Projects$Setcommoninstancemetadata + | Params$Resource$Publicadvertisedprefixes$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -165951,12 +171967,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Setcommoninstancemetadata; + {}) as Params$Resource$Publicadvertisedprefixes$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Setcommoninstancemetadata; + params = {} as Params$Resource$Publicadvertisedprefixes$Insert; options = {}; } @@ -165971,7 +171987,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/setCommonInstanceMetadata' + '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -165994,9 +172010,7 @@ export namespace compute_beta { } /** - * 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. + * Lists the PublicAdvertisedPrefixes for a project. * @example * ```js * // Before running the sample: @@ -166020,6 +172034,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -166028,64 +172043,109 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.projects.setDefaultNetworkTier({ + * const res = await compute.publicAdvertisedPrefixes.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "networkTier": "my_networkTier" - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -166101,54 +172161,56 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setDefaultNetworkTier( - params: Params$Resource$Projects$Setdefaultnetworktier, + list( + params: Params$Resource$Publicadvertisedprefixes$List, options: StreamMethodOptions ): Promise>; - setDefaultNetworkTier( - params?: Params$Resource$Projects$Setdefaultnetworktier, + list( + params?: Params$Resource$Publicadvertisedprefixes$List, options?: MethodOptions - ): Promise>; - setDefaultNetworkTier( - params: Params$Resource$Projects$Setdefaultnetworktier, + ): Promise>; + list( + params: Params$Resource$Publicadvertisedprefixes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setDefaultNetworkTier( - params: Params$Resource$Projects$Setdefaultnetworktier, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Publicadvertisedprefixes$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setDefaultNetworkTier( - params: Params$Resource$Projects$Setdefaultnetworktier, - callback: BodyResponseCallback + list( + params: Params$Resource$Publicadvertisedprefixes$List, + callback: BodyResponseCallback ): void; - setDefaultNetworkTier( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - setDefaultNetworkTier( + list( paramsOrCallback?: - | Params$Resource$Projects$Setdefaultnetworktier - | BodyResponseCallback + | Params$Resource$Publicadvertisedprefixes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Setdefaultnetworktier; + {}) as Params$Resource$Publicadvertisedprefixes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Setdefaultnetworktier; + params = {} as Params$Resource$Publicadvertisedprefixes$List; options = {}; } @@ -166162,9 +172224,10 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + '/compute/beta/projects/{project}/setDefaultNetworkTier' + rootUrl + + '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -166175,20 +172238,20 @@ export namespace compute_beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the Cloud Armor Managed Protection (CAMP) tier of the project. To set - * PLUS or above the billing account of the project must be subscribed to - * Managed Protection Plus. See Subscribing - * to Managed Protection Plus for more information. + * Patches the specified Router resource with the data included in the + * request. This method supportsPATCH + * semantics and usesJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -166220,10 +172283,13 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.projects.setManagedProtectionTier({ + * const res = await compute.publicAdvertisedPrefixes.patch({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the PublicAdvertisedPrefix resource to patch. + * publicAdvertisedPrefix: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -166243,7 +172309,22 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { - * // "managedProtectionTier": "my_managedProtectionTier" + * // "byoipApiVersion": "my_byoipApiVersion", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "dnsVerificationIp": "my_dnsVerificationIp", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "ipCidrRange": "my_ipCidrRange", + * // "ipv6AccessType": "my_ipv6AccessType", + * // "kind": "my_kind", + * // "name": "my_name", + * // "networkTier": "my_networkTier", + * // "pdpScope": "my_pdpScope", + * // "publicDelegatedPrefixs": [], + * // "selfLink": "my_selfLink", + * // "sharedSecret": "my_sharedSecret", + * // "status": "my_status" * // } * }, * }); @@ -166256,6 +172337,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -166293,34 +172375,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setManagedProtectionTier( - params: Params$Resource$Projects$Setmanagedprotectiontier, + patch( + params: Params$Resource$Publicadvertisedprefixes$Patch, options: StreamMethodOptions ): Promise>; - setManagedProtectionTier( - params?: Params$Resource$Projects$Setmanagedprotectiontier, + patch( + params?: Params$Resource$Publicadvertisedprefixes$Patch, options?: MethodOptions ): Promise>; - setManagedProtectionTier( - params: Params$Resource$Projects$Setmanagedprotectiontier, + patch( + params: Params$Resource$Publicadvertisedprefixes$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setManagedProtectionTier( - params: Params$Resource$Projects$Setmanagedprotectiontier, + patch( + params: Params$Resource$Publicadvertisedprefixes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setManagedProtectionTier( - params: Params$Resource$Projects$Setmanagedprotectiontier, - callback: BodyResponseCallback - ): void; - setManagedProtectionTier( + patch( + params: Params$Resource$Publicadvertisedprefixes$Patch, callback: BodyResponseCallback ): void; - setManagedProtectionTier( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Setmanagedprotectiontier + | Params$Resource$Publicadvertisedprefixes$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -166335,12 +172415,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Setmanagedprotectiontier; + {}) as Params$Resource$Publicadvertisedprefixes$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Setmanagedprotectiontier; + params = {} as Params$Resource$Publicadvertisedprefixes$Patch; options = {}; } @@ -166355,16 +172435,16 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/setManagedProtectionTier' + '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'publicAdvertisedPrefix'], + pathParams: ['project', 'publicAdvertisedPrefix'], context: this.context, }; if (callback) { @@ -166378,9 +172458,7 @@ export namespace compute_beta { } /** - * Enables the usage export feature and sets theusage export bucket - * where reports are stored. If you provide an empty request body using this - * method, the usage export feature will be disabled. + * Withdraws the specified PublicAdvertisedPrefix * @example * ```js * // Before running the sample: @@ -166404,9 +172482,6 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/devstorage.full_control', - * 'https://www.googleapis.com/auth/devstorage.read_only', - * 'https://www.googleapis.com/auth/devstorage.read_write', * ], * }); * @@ -166415,10 +172490,12 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.projects.setUsageExportBucket({ + * const res = await compute.publicAdvertisedPrefixes.withdraw({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the public advertised prefix. It should comply with RFC1035. + * publicAdvertisedPrefix: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -166433,15 +172510,6 @@ export namespace compute_beta { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "bucketName": "my_bucketName", - * // "reportNamePrefix": "my_reportNamePrefix" - * // } - * }, * }); * console.log(res.data); * @@ -166452,6 +172520,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -166489,34 +172558,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setUsageExportBucket( - params: Params$Resource$Projects$Setusageexportbucket, + withdraw( + params: Params$Resource$Publicadvertisedprefixes$Withdraw, options: StreamMethodOptions ): Promise>; - setUsageExportBucket( - params?: Params$Resource$Projects$Setusageexportbucket, + withdraw( + params?: Params$Resource$Publicadvertisedprefixes$Withdraw, options?: MethodOptions ): Promise>; - setUsageExportBucket( - params: Params$Resource$Projects$Setusageexportbucket, + withdraw( + params: Params$Resource$Publicadvertisedprefixes$Withdraw, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setUsageExportBucket( - params: Params$Resource$Projects$Setusageexportbucket, + withdraw( + params: Params$Resource$Publicadvertisedprefixes$Withdraw, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setUsageExportBucket( - params: Params$Resource$Projects$Setusageexportbucket, - callback: BodyResponseCallback - ): void; - setUsageExportBucket( + withdraw( + params: Params$Resource$Publicadvertisedprefixes$Withdraw, callback: BodyResponseCallback ): void; - setUsageExportBucket( + withdraw(callback: BodyResponseCallback): void; + withdraw( paramsOrCallback?: - | Params$Resource$Projects$Setusageexportbucket + | Params$Resource$Publicadvertisedprefixes$Withdraw | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -166531,12 +172598,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Setusageexportbucket; + {}) as Params$Resource$Publicadvertisedprefixes$Withdraw; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Setusageexportbucket; + params = {} as Params$Resource$Publicadvertisedprefixes$Withdraw; options = {}; } @@ -166550,7 +172617,8 @@ export namespace compute_beta { options: Object.assign( { url: ( - rootUrl + '/compute/beta/projects/{project}/setUsageExportBucket' + rootUrl + + '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -166558,8 +172626,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'publicAdvertisedPrefix'], + pathParams: ['project', 'publicAdvertisedPrefix'], context: this.context, }; if (callback) { @@ -166573,11 +172641,15 @@ export namespace compute_beta { } } - export interface Params$Resource$Projects$Disablexpnhost extends StandardParameters { + export interface Params$Resource$Publicadvertisedprefixes$Announce extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * The name of the public advertised prefix. It should comply with RFC1035. + */ + publicAdvertisedPrefix?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -166595,11 +172667,15 @@ export namespace compute_beta { */ requestId?: string; } - export interface Params$Resource$Projects$Disablexpnresource extends StandardParameters { + export interface Params$Resource$Publicadvertisedprefixes$Delete extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * Name of the PublicAdvertisedPrefix resource to delete. + */ + publicAdvertisedPrefix?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -166616,35 +172692,18 @@ export namespace compute_beta { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ProjectsDisableXpnResourceRequest; } - export interface Params$Resource$Projects$Enablexpnhost extends StandardParameters { + export interface Params$Resource$Publicadvertisedprefixes$Get extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Name of the PublicAdvertisedPrefix resource to return. */ - requestId?: string; + publicAdvertisedPrefix?: string; } - export interface Params$Resource$Projects$Enablexpnresource extends StandardParameters { + export interface Params$Resource$Publicadvertisedprefixes$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -166669,125 +172728,9 @@ export namespace compute_beta { /** * Request body metadata */ - requestBody?: Schema$ProjectsEnableXpnResourceRequest; - } - export interface Params$Resource$Projects$Get extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Projects$Getxpnhost extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Projects$Getxpnresources extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; + requestBody?: Schema$PublicAdvertisedPrefix; } - export interface Params$Resource$Projects$Listxpnhosts extends StandardParameters { + export interface Params$Resource$Publicadvertisedprefixes$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -166890,125 +172833,16 @@ export namespace compute_beta { * with an error code. */ returnPartialSuccess?: boolean; - - /** - * Request body metadata - */ - requestBody?: Schema$ProjectsListXpnHostsRequest; - } - export interface Params$Resource$Projects$Movedisk extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DiskMoveRequest; - } - export interface Params$Resource$Projects$Moveinstance extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceMoveRequest; - } - export interface Params$Resource$Projects$Setcloudarmortier extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ProjectsSetCloudArmorTierRequest; } - export interface Params$Resource$Projects$Setcommoninstancemetadata extends StandardParameters { + export interface Params$Resource$Publicadvertisedprefixes$Patch extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Metadata; - } - export interface Params$Resource$Projects$Setdefaultnetworktier extends StandardParameters { - /** - * Project ID for this request. + * Name of the PublicAdvertisedPrefix resource to patch. */ - project?: string; + publicAdvertisedPrefix?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -167029,40 +172863,17 @@ export namespace compute_beta { /** * Request body metadata */ - requestBody?: Schema$ProjectsSetDefaultNetworkTierRequest; + requestBody?: Schema$PublicAdvertisedPrefix; } - export interface Params$Resource$Projects$Setmanagedprotectiontier extends StandardParameters { + export interface Params$Resource$Publicadvertisedprefixes$Withdraw extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ProjectsSetManagedProtectionTierRequest; - } - export interface Params$Resource$Projects$Setusageexportbucket extends StandardParameters { - /** - * Project ID for this request. + * The name of the public advertised prefix. It should comply with RFC1035. */ - project?: string; + publicAdvertisedPrefix?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -167079,28 +172890,20 @@ export namespace compute_beta { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$UsageExportLocation; } - export class Resource$Projectviews { + export class Resource$Publicdelegatedprefixes { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Returns the specified global ProjectViews resource, with a regional - * context. - * This regional API endpoint reads resource metadata from regional - * read-only replicas. Because changes are copied to these regional replicas - * asynchronously, for real-time resource reads or any write operations - * (creating, updating, or deleting resources), use the global - * [projects.get](https://cloud.google.com/compute/docs/reference/rest/v1/projects/get) - * endpoint. + * Lists all PublicDelegatedPrefix resources owned by the specific project + * across all scopes. + * + * To prevent failure, Google recommends that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -167133,18 +172936,121 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.projectViews.get({ - * // Required. Project ID for this request. This is part of the URL path. + * const res = await compute.publicDelegatedPrefixes.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // 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`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Name of the project scoping this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Required. Name of the region for this request. This is part of the URL path. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "project": {} + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -167159,53 +173065,62 @@ export namespace compute_beta { * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Projectviews$Get, + */ + aggregatedList( + params: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projectviews$Get, + aggregatedList( + params?: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projectviews$Get, + ): Promise< + GaxiosResponseWithHTTP2 + >; + aggregatedList( + params: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projectviews$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projectviews$Get, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Projectviews$Get - | BodyResponseCallback + | Params$Resource$Publicdelegatedprefixes$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Projectviews$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Publicdelegatedprefixes$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projectviews$Get; + params = {} as Params$Resource$Publicdelegatedprefixes$Aggregatedlist; options = {}; } @@ -167220,7 +173135,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/projectViews' + '/compute/beta/projects/{project}/aggregated/publicDelegatedPrefixes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -167228,40 +173143,24 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } - } - - export interface Params$Resource$Projectviews$Get extends StandardParameters { - /** - * Required. Project ID for this request. This is part of the URL path. - */ - project?: string; - /** - * Required. Name of the region for this request. This is part of the URL path. - */ - region?: string; - } - - export class Resource$Publicadvertisedprefixes { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Announces the specified PublicAdvertisedPrefix + * Announces the specified PublicDelegatedPrefix in the given region. * @example * ```js * // Before running the sample: @@ -167293,12 +173192,15 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicAdvertisedPrefixes.announce({ + * const res = await compute.publicDelegatedPrefixes.announce({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the public advertised prefix. It should comply with RFC1035. - * publicAdvertisedPrefix: 'placeholder-value', + * // The name of the public delegated prefix. It should comply with RFC1035. + * publicDelegatedPrefix: 'placeholder-value', + * // The name of theregion where + * // the public delegated prefix is located. It should comply with RFC1035. + * region: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -167323,6 +173225,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -167361,31 +173264,31 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ announce( - params: Params$Resource$Publicadvertisedprefixes$Announce, + params: Params$Resource$Publicdelegatedprefixes$Announce, options: StreamMethodOptions ): Promise>; announce( - params?: Params$Resource$Publicadvertisedprefixes$Announce, + params?: Params$Resource$Publicdelegatedprefixes$Announce, options?: MethodOptions ): Promise>; announce( - params: Params$Resource$Publicadvertisedprefixes$Announce, + params: Params$Resource$Publicdelegatedprefixes$Announce, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; announce( - params: Params$Resource$Publicadvertisedprefixes$Announce, + params: Params$Resource$Publicdelegatedprefixes$Announce, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; announce( - params: Params$Resource$Publicadvertisedprefixes$Announce, + params: Params$Resource$Publicdelegatedprefixes$Announce, callback: BodyResponseCallback ): void; announce(callback: BodyResponseCallback): void; announce( paramsOrCallback?: - | Params$Resource$Publicadvertisedprefixes$Announce + | Params$Resource$Publicdelegatedprefixes$Announce | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -167400,12 +173303,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicadvertisedprefixes$Announce; + {}) as Params$Resource$Publicdelegatedprefixes$Announce; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicadvertisedprefixes$Announce; + params = {} as Params$Resource$Publicdelegatedprefixes$Announce; options = {}; } @@ -167420,7 +173323,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce' + '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -167428,8 +173331,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'publicAdvertisedPrefix'], - pathParams: ['project', 'publicAdvertisedPrefix'], + requiredParams: ['project', 'region', 'publicDelegatedPrefix'], + pathParams: ['project', 'publicDelegatedPrefix', 'region'], context: this.context, }; if (callback) { @@ -167443,7 +173346,7 @@ export namespace compute_beta { } /** - * Deletes the specified PublicAdvertisedPrefix + * Deletes the specified PublicDelegatedPrefix in the given region. * @example * ```js * // Before running the sample: @@ -167475,13 +173378,14 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicAdvertisedPrefixes.delete({ + * const res = await compute.publicDelegatedPrefixes.delete({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicAdvertisedPrefix resource to delete. - * publicAdvertisedPrefix: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the PublicDelegatedPrefix resource to delete. + * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -167506,6 +173410,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -167544,31 +173449,31 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Publicadvertisedprefixes$Delete, + params: Params$Resource$Publicdelegatedprefixes$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Publicadvertisedprefixes$Delete, + params?: Params$Resource$Publicdelegatedprefixes$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Publicadvertisedprefixes$Delete, + params: Params$Resource$Publicdelegatedprefixes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Publicadvertisedprefixes$Delete, + params: Params$Resource$Publicdelegatedprefixes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Publicadvertisedprefixes$Delete, + params: Params$Resource$Publicdelegatedprefixes$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Publicadvertisedprefixes$Delete + | Params$Resource$Publicdelegatedprefixes$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -167583,12 +173488,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicadvertisedprefixes$Delete; + {}) as Params$Resource$Publicdelegatedprefixes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicadvertisedprefixes$Delete; + params = {} as Params$Resource$Publicdelegatedprefixes$Delete; options = {}; } @@ -167603,7 +173508,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}' + '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -167611,8 +173516,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'publicAdvertisedPrefix'], - pathParams: ['project', 'publicAdvertisedPrefix'], + requiredParams: ['project', 'region', 'publicDelegatedPrefix'], + pathParams: ['project', 'publicDelegatedPrefix', 'region'], context: this.context, }; if (callback) { @@ -167626,7 +173531,7 @@ export namespace compute_beta { } /** - * Returns the specified PublicAdvertisedPrefix resource. + * Returns the specified PublicDelegatedPrefix resource in the given region. * @example * ```js * // Before running the sample: @@ -167659,33 +173564,38 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicAdvertisedPrefixes.get({ + * const res = await compute.publicDelegatedPrefixes.get({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicAdvertisedPrefix resource to return. - * publicAdvertisedPrefix: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the PublicDelegatedPrefix resource to return. + * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "allocatablePrefixLength": 0, * // "byoipApiVersion": "my_byoipApiVersion", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "dnsVerificationIp": "my_dnsVerificationIp", + * // "enableEnhancedIpv4Allocation": false, * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "ipCidrRange": "my_ipCidrRange", * // "ipv6AccessType": "my_ipv6AccessType", + * // "isLiveMigration": false, * // "kind": "my_kind", + * // "mode": "my_mode", * // "name": "my_name", * // "networkTier": "my_networkTier", - * // "pdpScope": "my_pdpScope", - * // "publicDelegatedPrefixs": [], + * // "parentPrefix": "my_parentPrefix", + * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "sharedSecret": "my_sharedSecret", * // "status": "my_status" * // } * } @@ -167703,53 +173613,53 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Publicadvertisedprefixes$Get, + params: Params$Resource$Publicdelegatedprefixes$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Publicadvertisedprefixes$Get, + params?: Params$Resource$Publicdelegatedprefixes$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Publicadvertisedprefixes$Get, + params: Params$Resource$Publicdelegatedprefixes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Publicadvertisedprefixes$Get, + params: Params$Resource$Publicdelegatedprefixes$Get, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Publicadvertisedprefixes$Get, - callback: BodyResponseCallback + params: Params$Resource$Publicdelegatedprefixes$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Publicadvertisedprefixes$Get - | BodyResponseCallback + | Params$Resource$Publicdelegatedprefixes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicadvertisedprefixes$Get; + {}) as Params$Resource$Publicdelegatedprefixes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicadvertisedprefixes$Get; + params = {} as Params$Resource$Publicdelegatedprefixes$Get; options = {}; } @@ -167764,7 +173674,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}' + '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -167772,23 +173682,23 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'publicAdvertisedPrefix'], - pathParams: ['project', 'publicAdvertisedPrefix'], + requiredParams: ['project', 'region', 'publicDelegatedPrefix'], + pathParams: ['project', 'publicDelegatedPrefix', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a PublicAdvertisedPrefix in the specified project - * using the parameters that are included in the request. + * Creates a PublicDelegatedPrefix in the specified project in the given + * region using the parameters that are included in the request. * @example * ```js * // Before running the sample: @@ -167820,10 +173730,12 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicAdvertisedPrefixes.insert({ + * const res = await compute.publicDelegatedPrefixes.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -167843,21 +173755,25 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { + * // "allocatablePrefixLength": 0, * // "byoipApiVersion": "my_byoipApiVersion", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "dnsVerificationIp": "my_dnsVerificationIp", + * // "enableEnhancedIpv4Allocation": false, * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "ipCidrRange": "my_ipCidrRange", * // "ipv6AccessType": "my_ipv6AccessType", + * // "isLiveMigration": false, * // "kind": "my_kind", + * // "mode": "my_mode", * // "name": "my_name", * // "networkTier": "my_networkTier", - * // "pdpScope": "my_pdpScope", - * // "publicDelegatedPrefixs": [], + * // "parentPrefix": "my_parentPrefix", + * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "sharedSecret": "my_sharedSecret", * // "status": "my_status" * // } * }, @@ -167871,6 +173787,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -167909,31 +173826,31 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Publicadvertisedprefixes$Insert, + params: Params$Resource$Publicdelegatedprefixes$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Publicadvertisedprefixes$Insert, + params?: Params$Resource$Publicdelegatedprefixes$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Publicadvertisedprefixes$Insert, + params: Params$Resource$Publicdelegatedprefixes$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Publicadvertisedprefixes$Insert, + params: Params$Resource$Publicdelegatedprefixes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Publicadvertisedprefixes$Insert, + params: Params$Resource$Publicdelegatedprefixes$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Publicadvertisedprefixes$Insert + | Params$Resource$Publicdelegatedprefixes$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -167948,12 +173865,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicadvertisedprefixes$Insert; + {}) as Params$Resource$Publicdelegatedprefixes$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicadvertisedprefixes$Insert; + params = {} as Params$Resource$Publicdelegatedprefixes$Insert; options = {}; } @@ -167968,7 +173885,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes' + '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -167976,8 +173893,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -167991,7 +173908,7 @@ export namespace compute_beta { } /** - * Lists the PublicAdvertisedPrefixes for a project. + * Lists the PublicDelegatedPrefixes for a project in the given region. * @example * ```js * // Before running the sample: @@ -168024,7 +173941,7 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicAdvertisedPrefixes.list({ + * const res = await compute.publicDelegatedPrefixes.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -168109,6 +174026,8 @@ export namespace compute_beta { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -168143,55 +174062,55 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Publicadvertisedprefixes$List, + params: Params$Resource$Publicdelegatedprefixes$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Publicadvertisedprefixes$List, + params?: Params$Resource$Publicdelegatedprefixes$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Publicadvertisedprefixes$List, + params: Params$Resource$Publicdelegatedprefixes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Publicadvertisedprefixes$List, + params: Params$Resource$Publicdelegatedprefixes$List, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Publicadvertisedprefixes$List, - callback: BodyResponseCallback + params: Params$Resource$Publicdelegatedprefixes$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Publicadvertisedprefixes$List - | BodyResponseCallback + | Params$Resource$Publicdelegatedprefixes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicadvertisedprefixes$List; + {}) as Params$Resource$Publicdelegatedprefixes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicadvertisedprefixes$List; + params = {} as Params$Resource$Publicdelegatedprefixes$List; options = {}; } @@ -168206,7 +174125,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes' + '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -168214,23 +174133,23 @@ export namespace compute_beta { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified Router resource with the data included in the - * request. This method supportsPATCH + * Patches the specified PublicDelegatedPrefix resource with the data included + * in the request. This method supportsPATCH * semantics and usesJSON merge * patch format and processing rules. * @example @@ -168264,13 +174183,14 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicAdvertisedPrefixes.patch({ + * const res = await compute.publicDelegatedPrefixes.patch({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicAdvertisedPrefix resource to patch. - * publicAdvertisedPrefix: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the PublicDelegatedPrefix resource to patch. + * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -168290,21 +174210,25 @@ export namespace compute_beta { * requestBody: { * // request body parameters * // { + * // "allocatablePrefixLength": 0, * // "byoipApiVersion": "my_byoipApiVersion", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "dnsVerificationIp": "my_dnsVerificationIp", + * // "enableEnhancedIpv4Allocation": false, * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "ipCidrRange": "my_ipCidrRange", * // "ipv6AccessType": "my_ipv6AccessType", + * // "isLiveMigration": false, * // "kind": "my_kind", + * // "mode": "my_mode", * // "name": "my_name", * // "networkTier": "my_networkTier", - * // "pdpScope": "my_pdpScope", - * // "publicDelegatedPrefixs": [], + * // "parentPrefix": "my_parentPrefix", + * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "sharedSecret": "my_sharedSecret", * // "status": "my_status" * // } * }, @@ -168318,6 +174242,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -168356,31 +174281,31 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Publicadvertisedprefixes$Patch, + params: Params$Resource$Publicdelegatedprefixes$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Publicadvertisedprefixes$Patch, + params?: Params$Resource$Publicdelegatedprefixes$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Publicadvertisedprefixes$Patch, + params: Params$Resource$Publicdelegatedprefixes$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Publicadvertisedprefixes$Patch, + params: Params$Resource$Publicdelegatedprefixes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Publicadvertisedprefixes$Patch, + params: Params$Resource$Publicdelegatedprefixes$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Publicadvertisedprefixes$Patch + | Params$Resource$Publicdelegatedprefixes$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -168395,12 +174320,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicadvertisedprefixes$Patch; + {}) as Params$Resource$Publicdelegatedprefixes$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicadvertisedprefixes$Patch; + params = {} as Params$Resource$Publicdelegatedprefixes$Patch; options = {}; } @@ -168415,7 +174340,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}' + '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -168423,8 +174348,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'publicAdvertisedPrefix'], - pathParams: ['project', 'publicAdvertisedPrefix'], + requiredParams: ['project', 'region', 'publicDelegatedPrefix'], + pathParams: ['project', 'publicDelegatedPrefix', 'region'], context: this.context, }; if (callback) { @@ -168438,7 +174363,7 @@ export namespace compute_beta { } /** - * Withdraws the specified PublicAdvertisedPrefix + * Withdraws the specified PublicDelegatedPrefix in the given region. * @example * ```js * // Before running the sample: @@ -168470,12 +174395,15 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicAdvertisedPrefixes.withdraw({ + * const res = await compute.publicDelegatedPrefixes.withdraw({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the public advertised prefix. It should comply with RFC1035. - * publicAdvertisedPrefix: 'placeholder-value', + * // The name of the public delegated prefix. It should comply with RFC1035. + * publicDelegatedPrefix: 'placeholder-value', + * // The name of theregion where + * // the public delegated prefix is located. It should comply with RFC1035. + * region: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -168500,6 +174428,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -168538,31 +174467,31 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ withdraw( - params: Params$Resource$Publicadvertisedprefixes$Withdraw, + params: Params$Resource$Publicdelegatedprefixes$Withdraw, options: StreamMethodOptions ): Promise>; withdraw( - params?: Params$Resource$Publicadvertisedprefixes$Withdraw, + params?: Params$Resource$Publicdelegatedprefixes$Withdraw, options?: MethodOptions ): Promise>; withdraw( - params: Params$Resource$Publicadvertisedprefixes$Withdraw, + params: Params$Resource$Publicdelegatedprefixes$Withdraw, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; withdraw( - params: Params$Resource$Publicadvertisedprefixes$Withdraw, + params: Params$Resource$Publicdelegatedprefixes$Withdraw, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; withdraw( - params: Params$Resource$Publicadvertisedprefixes$Withdraw, + params: Params$Resource$Publicdelegatedprefixes$Withdraw, callback: BodyResponseCallback ): void; withdraw(callback: BodyResponseCallback): void; withdraw( paramsOrCallback?: - | Params$Resource$Publicadvertisedprefixes$Withdraw + | Params$Resource$Publicdelegatedprefixes$Withdraw | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -168577,12 +174506,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicadvertisedprefixes$Withdraw; + {}) as Params$Resource$Publicdelegatedprefixes$Withdraw; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicadvertisedprefixes$Withdraw; + params = {} as Params$Resource$Publicdelegatedprefixes$Withdraw; options = {}; } @@ -168597,7 +174526,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw' + '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -168605,8 +174534,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'publicAdvertisedPrefix'], - pathParams: ['project', 'publicAdvertisedPrefix'], + requiredParams: ['project', 'region', 'publicDelegatedPrefix'], + pathParams: ['project', 'publicDelegatedPrefix', 'region'], context: this.context, }; if (callback) { @@ -168620,15 +174549,139 @@ export namespace compute_beta { } } - export interface Params$Resource$Publicadvertisedprefixes$Announce extends StandardParameters { + export interface Params$Resource$Publicdelegatedprefixes$Aggregatedlist extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * 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`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Publicdelegatedprefixes$Announce extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * The name of the public advertised prefix. It should comply with RFC1035. + * The name of the public delegated prefix. It should comply with RFC1035. */ - publicAdvertisedPrefix?: string; + publicDelegatedPrefix?: string; + /** + * The name of theregion where + * the public delegated prefix is located. It should comply with RFC1035. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -168646,15 +174699,19 @@ export namespace compute_beta { */ requestId?: string; } - export interface Params$Resource$Publicadvertisedprefixes$Delete extends StandardParameters { + export interface Params$Resource$Publicdelegatedprefixes$Delete extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the PublicAdvertisedPrefix resource to delete. + * Name of the PublicDelegatedPrefix resource to delete. */ - publicAdvertisedPrefix?: string; + publicDelegatedPrefix?: string; + /** + * Name of the region of this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -168672,21 +174729,29 @@ export namespace compute_beta { */ requestId?: string; } - export interface Params$Resource$Publicadvertisedprefixes$Get extends StandardParameters { + export interface Params$Resource$Publicdelegatedprefixes$Get extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the PublicAdvertisedPrefix resource to return. + * Name of the PublicDelegatedPrefix resource to return. */ - publicAdvertisedPrefix?: string; + publicDelegatedPrefix?: string; + /** + * Name of the region of this request. + */ + region?: string; } - export interface Params$Resource$Publicadvertisedprefixes$Insert extends StandardParameters { + export interface Params$Resource$Publicdelegatedprefixes$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * Name of the region of this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -168707,9 +174772,9 @@ export namespace compute_beta { /** * Request body metadata */ - requestBody?: Schema$PublicAdvertisedPrefix; + requestBody?: Schema$PublicDelegatedPrefix; } - export interface Params$Resource$Publicadvertisedprefixes$List extends StandardParameters { + export interface Params$Resource$Publicdelegatedprefixes$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -168803,6 +174868,10 @@ export namespace compute_beta { * Project ID for this request. */ project?: string; + /** + * Name of the region of this request. + */ + region?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -168813,15 +174882,19 @@ export namespace compute_beta { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Publicadvertisedprefixes$Patch extends StandardParameters { + export interface Params$Resource$Publicdelegatedprefixes$Patch extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the PublicAdvertisedPrefix resource to patch. + * Name of the PublicDelegatedPrefix resource to patch. */ - publicAdvertisedPrefix?: string; + publicDelegatedPrefix?: string; + /** + * Name of the region for this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -168842,17 +174915,22 @@ export namespace compute_beta { /** * Request body metadata */ - requestBody?: Schema$PublicAdvertisedPrefix; + requestBody?: Schema$PublicDelegatedPrefix; } - export interface Params$Resource$Publicadvertisedprefixes$Withdraw extends StandardParameters { + export interface Params$Resource$Publicdelegatedprefixes$Withdraw extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * The name of the public advertised prefix. It should comply with RFC1035. + * The name of the public delegated prefix. It should comply with RFC1035. */ - publicAdvertisedPrefix?: string; + publicDelegatedPrefix?: string; + /** + * The name of theregion where + * the public delegated prefix is located. It should comply with RFC1035. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -168871,460 +174949,15 @@ export namespace compute_beta { requestId?: string; } - export class Resource$Publicdelegatedprefixes { + export class Resource$Recoverablesnapshots { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Lists all PublicDelegatedPrefix resources owned by the specific project - * across all scopes. - * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('beta'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.publicDelegatedPrefixes.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // 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`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Name of the project scoping this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "id": "my_id", - * // "items": {}, - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - aggregatedList( - params: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, - options: StreamMethodOptions - ): Promise>; - aggregatedList( - params?: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - aggregatedList( - params: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Publicdelegatedprefixes$Aggregatedlist, - callback: BodyResponseCallback - ): void; - aggregatedList( - callback: BodyResponseCallback - ): void; - aggregatedList( - paramsOrCallback?: - | Params$Resource$Publicdelegatedprefixes$Aggregatedlist - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Publicdelegatedprefixes$Aggregatedlist; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Publicdelegatedprefixes$Aggregatedlist; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/beta/projects/{project}/aggregated/publicDelegatedPrefixes' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Announces the specified PublicDelegatedPrefix in the given region. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('beta'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.publicDelegatedPrefixes.announce({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the public delegated prefix. It should comply with RFC1035. - * publicDelegatedPrefix: 'placeholder-value', - * // The name of theregion where - * // the public delegated prefix is located. It should comply with RFC1035. - * region: 'placeholder-value', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - announce( - params: Params$Resource$Publicdelegatedprefixes$Announce, - options: StreamMethodOptions - ): Promise>; - announce( - params?: Params$Resource$Publicdelegatedprefixes$Announce, - options?: MethodOptions - ): Promise>; - announce( - params: Params$Resource$Publicdelegatedprefixes$Announce, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - announce( - params: Params$Resource$Publicdelegatedprefixes$Announce, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - announce( - params: Params$Resource$Publicdelegatedprefixes$Announce, - callback: BodyResponseCallback - ): void; - announce(callback: BodyResponseCallback): void; - announce( - paramsOrCallback?: - | Params$Resource$Publicdelegatedprefixes$Announce - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Publicdelegatedprefixes$Announce; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Publicdelegatedprefixes$Announce; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region', 'publicDelegatedPrefix'], - pathParams: ['project', 'publicDelegatedPrefix', 'region'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes the specified PublicDelegatedPrefix in the given region. + * Deletes the specified RecoverableSnapshot. Deleting a recoverable snapshot + * will delete the underlying PD snapshot and is irreversible. * @example * ```js * // Before running the sample: @@ -169356,14 +174989,12 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicDelegatedPrefixes.delete({ + * const res = await compute.recoverableSnapshots.delete({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicDelegatedPrefix resource to delete. - * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Name of the region of this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the recoverable Snapshot resource to delete. + * recoverableSnapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -169388,6 +175019,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -169426,31 +175058,31 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Publicdelegatedprefixes$Delete, + params: Params$Resource$Recoverablesnapshots$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Publicdelegatedprefixes$Delete, + params?: Params$Resource$Recoverablesnapshots$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Publicdelegatedprefixes$Delete, + params: Params$Resource$Recoverablesnapshots$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Publicdelegatedprefixes$Delete, + params: Params$Resource$Recoverablesnapshots$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Publicdelegatedprefixes$Delete, + params: Params$Resource$Recoverablesnapshots$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Publicdelegatedprefixes$Delete + | Params$Resource$Recoverablesnapshots$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -169465,12 +175097,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicdelegatedprefixes$Delete; + {}) as Params$Resource$Recoverablesnapshots$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicdelegatedprefixes$Delete; + params = {} as Params$Resource$Recoverablesnapshots$Delete; options = {}; } @@ -169485,7 +175117,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}' + '/compute/beta/projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -169493,8 +175125,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region', 'publicDelegatedPrefix'], - pathParams: ['project', 'publicDelegatedPrefix', 'region'], + requiredParams: ['project', 'recoverableSnapshot'], + pathParams: ['project', 'recoverableSnapshot'], context: this.context, }; if (callback) { @@ -169508,7 +175140,7 @@ export namespace compute_beta { } /** - * Returns the specified PublicDelegatedPrefix resource in the given region. + * Returns the specified RecoverableSnapshot resource. * @example * ```js * // Before running the sample: @@ -169541,38 +175173,28 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicDelegatedPrefixes.get({ + * const res = await compute.recoverableSnapshots.get({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicDelegatedPrefix resource to return. - * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Name of the region of this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the Snapshot resource to return. + * recoverableSnapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "allocatablePrefixLength": 0, - * // "byoipApiVersion": "my_byoipApiVersion", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "enableEnhancedIpv4Allocation": false, - * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "ipCidrRange": "my_ipCidrRange", - * // "ipv6AccessType": "my_ipv6AccessType", - * // "isLiveMigration": false, * // "kind": "my_kind", - * // "mode": "my_mode", * // "name": "my_name", - * // "networkTier": "my_networkTier", - * // "parentPrefix": "my_parentPrefix", - * // "publicDelegatedSubPrefixs": [], - * // "purpose": "my_purpose", - * // "region": "my_region", + * // "originalResource": {}, + * // "purgeTimestamp": "my_purgeTimestamp", + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", * // "status": "my_status" * // } * } @@ -169590,53 +175212,52 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Publicdelegatedprefixes$Get, + params: Params$Resource$Recoverablesnapshots$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Publicdelegatedprefixes$Get, + params?: Params$Resource$Recoverablesnapshots$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Publicdelegatedprefixes$Get, + params: Params$Resource$Recoverablesnapshots$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Publicdelegatedprefixes$Get, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Recoverablesnapshots$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Publicdelegatedprefixes$Get, - callback: BodyResponseCallback + params: Params$Resource$Recoverablesnapshots$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Publicdelegatedprefixes$Get - | BodyResponseCallback + | Params$Resource$Recoverablesnapshots$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicdelegatedprefixes$Get; + {}) as Params$Resource$Recoverablesnapshots$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicdelegatedprefixes$Get; + params = {} as Params$Resource$Recoverablesnapshots$Get; options = {}; } @@ -169651,7 +175272,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}' + '/compute/beta/projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -169659,23 +175280,23 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region', 'publicDelegatedPrefix'], - pathParams: ['project', 'publicDelegatedPrefix', 'region'], + requiredParams: ['project', 'recoverableSnapshot'], + pathParams: ['project', 'recoverableSnapshot'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a PublicDelegatedPrefix in the specified project in the given - * region using the parameters that are included in the request. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. * @example * ```js * // Before running the sample: @@ -169699,6 +175320,7 @@ export namespace compute_beta { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -169707,85 +175329,23 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicDelegatedPrefixes.insert({ + * const res = await compute.recoverableSnapshots.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region of this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "allocatablePrefixLength": 0, - * // "byoipApiVersion": "my_byoipApiVersion", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "enableEnhancedIpv4Allocation": false, - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "ipCidrRange": "my_ipCidrRange", - * // "ipv6AccessType": "my_ipv6AccessType", - * // "isLiveMigration": false, - * // "kind": "my_kind", - * // "mode": "my_mode", - * // "name": "my_name", - * // "networkTier": "my_networkTier", - * // "parentPrefix": "my_parentPrefix", - * // "publicDelegatedSubPrefixs": [], - * // "purpose": "my_purpose", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "status": "my_status" - * // } - * }, + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -169801,52 +175361,52 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Publicdelegatedprefixes$Insert, + getIamPolicy( + params: Params$Resource$Recoverablesnapshots$Getiampolicy, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Publicdelegatedprefixes$Insert, + getIamPolicy( + params?: Params$Resource$Recoverablesnapshots$Getiampolicy, options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Publicdelegatedprefixes$Insert, + ): Promise>; + getIamPolicy( + params: Params$Resource$Recoverablesnapshots$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Publicdelegatedprefixes$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Recoverablesnapshots$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Publicdelegatedprefixes$Insert, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Recoverablesnapshots$Getiampolicy, + callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Publicdelegatedprefixes$Insert - | BodyResponseCallback + | Params$Resource$Recoverablesnapshots$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicdelegatedprefixes$Insert; + {}) as Params$Resource$Recoverablesnapshots$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicdelegatedprefixes$Insert; + params = {} as Params$Resource$Recoverablesnapshots$Getiampolicy; options = {}; } @@ -169861,30 +175421,30 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes' + '/compute/beta/projects/{project}/global/recoverableSnapshots/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists the PublicDelegatedPrefixes for a project in the given region. + * Retrieves a list of all of the RecoverableSnapshots in your project. * @example * ```js * // Before running the sample: @@ -169917,7 +175477,7 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicDelegatedPrefixes.list({ + * const res = await compute.recoverableSnapshots.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -170002,8 +175562,6 @@ export namespace compute_beta { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region of this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -170016,11 +175574,13 @@ export namespace compute_beta { * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -170038,55 +175598,53 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Publicdelegatedprefixes$List, + params: Params$Resource$Recoverablesnapshots$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Publicdelegatedprefixes$List, + params?: Params$Resource$Recoverablesnapshots$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Publicdelegatedprefixes$List, + params: Params$Resource$Recoverablesnapshots$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Publicdelegatedprefixes$List, + params: Params$Resource$Recoverablesnapshots$List, options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Publicdelegatedprefixes$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback + params: Params$Resource$Recoverablesnapshots$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Publicdelegatedprefixes$List - | BodyResponseCallback + | Params$Resource$Recoverablesnapshots$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicdelegatedprefixes$List; + {}) as Params$Resource$Recoverablesnapshots$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicdelegatedprefixes$List; + params = {} as Params$Resource$Recoverablesnapshots$List; options = {}; } @@ -170101,7 +175659,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes' + '/compute/beta/projects/{project}/global/recoverableSnapshots' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -170109,25 +175667,22 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified PublicDelegatedPrefix resource with the data included - * in the request. This method supportsPATCH - * semantics and usesJSON merge - * patch format and processing rules. + * Recovers the specified RecoverableSnapshot. * @example * ```js * // Before running the sample: @@ -170159,14 +175714,12 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicDelegatedPrefixes.patch({ - * // Project ID for this request. + * const res = await compute.recoverableSnapshots.recover({ + * // Project Id of the request * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicDelegatedPrefix resource to patch. - * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the recoverable resource to recover + * recoverableSnapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -170181,33 +175734,14 @@ export namespace compute_beta { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "allocatablePrefixLength": 0, - * // "byoipApiVersion": "my_byoipApiVersion", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "enableEnhancedIpv4Allocation": false, - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "ipCidrRange": "my_ipCidrRange", - * // "ipv6AccessType": "my_ipv6AccessType", - * // "isLiveMigration": false, - * // "kind": "my_kind", - * // "mode": "my_mode", - * // "name": "my_name", - * // "networkTier": "my_networkTier", - * // "parentPrefix": "my_parentPrefix", - * // "publicDelegatedSubPrefixs": [], - * // "purpose": "my_purpose", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "status": "my_status" - * // } - * }, + * // Optional. Name of the snapshot after the recovery + * // The name will be 1-63 characters long, and comply withRFC1035. + * // Specifically, the name will be 1-63 characters long and match the regular + * // expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * // character will be a lowercase letter, and all following characters can be + * // a dash, lowercase letter, or digit, except the last character, which cannot + * // be a dash. + * snapshotName: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -170218,6 +175752,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -170255,32 +175790,32 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Publicdelegatedprefixes$Patch, + recover( + params: Params$Resource$Recoverablesnapshots$Recover, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Publicdelegatedprefixes$Patch, + recover( + params?: Params$Resource$Recoverablesnapshots$Recover, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Publicdelegatedprefixes$Patch, + recover( + params: Params$Resource$Recoverablesnapshots$Recover, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Publicdelegatedprefixes$Patch, + recover( + params: Params$Resource$Recoverablesnapshots$Recover, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Publicdelegatedprefixes$Patch, + recover( + params: Params$Resource$Recoverablesnapshots$Recover, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + recover(callback: BodyResponseCallback): void; + recover( paramsOrCallback?: - | Params$Resource$Publicdelegatedprefixes$Patch + | Params$Resource$Recoverablesnapshots$Recover | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -170295,12 +175830,12 @@ export namespace compute_beta { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicdelegatedprefixes$Patch; + {}) as Params$Resource$Recoverablesnapshots$Recover; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicdelegatedprefixes$Patch; + params = {} as Params$Resource$Recoverablesnapshots$Recover; options = {}; } @@ -170315,16 +175850,16 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}' + '/compute/beta/projects/{project}/global/recoverableSnapshots/{recoverableSnapshot}/recover' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'publicDelegatedPrefix'], - pathParams: ['project', 'publicDelegatedPrefix', 'region'], + requiredParams: ['project', 'recoverableSnapshot'], + pathParams: ['project', 'recoverableSnapshot'], context: this.context, }; if (callback) { @@ -170338,7 +175873,8 @@ export namespace compute_beta { } /** - * Withdraws the specified PublicDelegatedPrefix in the given region. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -170370,61 +175906,31 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.publicDelegatedPrefixes.withdraw({ + * const res = await compute.recoverableSnapshots.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the public delegated prefix. It should comply with RFC1035. - * publicDelegatedPrefix: 'placeholder-value', - * // The name of theregion where - * // the public delegated prefix is located. It should comply with RFC1035. - * region: 'placeholder-value', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -170440,52 +175946,52 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - withdraw( - params: Params$Resource$Publicdelegatedprefixes$Withdraw, + setIamPolicy( + params: Params$Resource$Recoverablesnapshots$Setiampolicy, options: StreamMethodOptions ): Promise>; - withdraw( - params?: Params$Resource$Publicdelegatedprefixes$Withdraw, + setIamPolicy( + params?: Params$Resource$Recoverablesnapshots$Setiampolicy, options?: MethodOptions - ): Promise>; - withdraw( - params: Params$Resource$Publicdelegatedprefixes$Withdraw, + ): Promise>; + setIamPolicy( + params: Params$Resource$Recoverablesnapshots$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - withdraw( - params: Params$Resource$Publicdelegatedprefixes$Withdraw, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Recoverablesnapshots$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - withdraw( - params: Params$Resource$Publicdelegatedprefixes$Withdraw, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Recoverablesnapshots$Setiampolicy, + callback: BodyResponseCallback ): void; - withdraw(callback: BodyResponseCallback): void; - withdraw( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Publicdelegatedprefixes$Withdraw - | BodyResponseCallback + | Params$Resource$Recoverablesnapshots$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Publicdelegatedprefixes$Withdraw; + {}) as Params$Resource$Recoverablesnapshots$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Publicdelegatedprefixes$Withdraw; + params = {} as Params$Resource$Recoverablesnapshots$Setiampolicy; options = {}; } @@ -170500,7 +176006,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw' + '/compute/beta/projects/{project}/global/recoverableSnapshots/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -170508,22 +176014,227 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region', 'publicDelegatedPrefix'], - pathParams: ['project', 'publicDelegatedPrefix', 'region'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.recoverableSnapshots.testIamPermissions({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Recoverablesnapshots$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Recoverablesnapshots$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Recoverablesnapshots$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Recoverablesnapshots$Testiampermissions, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Recoverablesnapshots$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Recoverablesnapshots$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Recoverablesnapshots$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Recoverablesnapshots$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/recoverableSnapshots/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); } } } - export interface Params$Resource$Publicdelegatedprefixes$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Recoverablesnapshots$Delete extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the recoverable Snapshot resource to delete. + */ + recoverableSnapshot?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Recoverablesnapshots$Get extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the Snapshot resource to return. + */ + recoverableSnapshot?: string; + } + export interface Params$Resource$Recoverablesnapshots$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } + export interface Params$Resource$Recoverablesnapshots$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -170585,16 +176296,6 @@ export namespace compute_beta { * expressions. */ filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -170624,7 +176325,7 @@ export namespace compute_beta { */ pageToken?: string; /** - * Name of the project scoping this request. + * Project ID for this request. */ project?: string; /** @@ -170636,56 +176337,16 @@ export namespace compute_beta { * with an error code. */ returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Publicdelegatedprefixes$Announce extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the public delegated prefix. It should comply with RFC1035. - */ - publicDelegatedPrefix?: string; - /** - * The name of theregion where - * the public delegated prefix is located. It should comply with RFC1035. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; } - export interface Params$Resource$Publicdelegatedprefixes$Delete extends StandardParameters { + export interface Params$Resource$Recoverablesnapshots$Recover extends StandardParameters { /** - * Project ID for this request. + * Project Id of the request */ project?: string; /** - * Name of the PublicDelegatedPrefix resource to delete. + * Name of the recoverable resource to recover */ - publicDelegatedPrefix?: string; - /** - * Name of the region of this request. - */ - region?: string; + recoverableSnapshot?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -170702,225 +176363,46 @@ export namespace compute_beta { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - } - export interface Params$Resource$Publicdelegatedprefixes$Get extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; /** - * Name of the PublicDelegatedPrefix resource to return. - */ - publicDelegatedPrefix?: string; - /** - * Name of the region of this request. + * Optional. Name of the snapshot after the recovery + * The name will be 1-63 characters long, and comply withRFC1035. + * Specifically, the name will be 1-63 characters long and match the regular + * expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first + * character will be a lowercase letter, and all following characters can be + * a dash, lowercase letter, or digit, except the last character, which cannot + * be a dash. */ - region?: string; + snapshotName?: string; } - export interface Params$Resource$Publicdelegatedprefixes$Insert extends StandardParameters { + export interface Params$Resource$Recoverablesnapshots$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the region of this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Name or id of the resource for this request. */ - requestId?: string; + resource?: string; /** * Request body metadata */ - requestBody?: Schema$PublicDelegatedPrefix; - } - export interface Params$Resource$Publicdelegatedprefixes$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region of this request. - */ - region?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; + requestBody?: Schema$GlobalSetPolicyRequest; } - export interface Params$Resource$Publicdelegatedprefixes$Patch extends StandardParameters { + export interface Params$Resource$Recoverablesnapshots$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the PublicDelegatedPrefix resource to patch. - */ - publicDelegatedPrefix?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Name or id of the resource for this request. */ - requestId?: string; + resource?: string; /** * Request body metadata */ - requestBody?: Schema$PublicDelegatedPrefix; - } - export interface Params$Resource$Publicdelegatedprefixes$Withdraw extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the public delegated prefix. It should comply with RFC1035. - */ - publicDelegatedPrefix?: string; - /** - * The name of theregion where - * the public delegated prefix is located. It should comply with RFC1035. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; + requestBody?: Schema$TestPermissionsRequest; } export class Resource$Regionautoscalers { @@ -170994,6 +176476,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -171356,6 +176839,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -171803,6 +177287,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -172166,6 +177651,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -172635,6 +178121,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -173153,6 +178640,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -173844,6 +179332,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -174742,6 +180231,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -175495,6 +180985,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -176225,6 +181716,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -176578,6 +182070,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -176982,6 +182475,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -178100,6 +183594,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -178717,6 +184212,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -178910,6 +184406,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -179733,6 +185230,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -180243,6 +185741,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -180687,6 +186186,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -181418,6 +186918,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -181610,6 +187111,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -181845,6 +187347,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -182033,6 +187536,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -182637,6 +188141,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -183065,6 +188570,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -183259,6 +188765,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -183610,6 +189117,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -183803,6 +189311,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -183990,6 +189499,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -184184,6 +189694,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -184598,6 +190109,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -184791,6 +190303,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -185759,6 +191272,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -186781,6 +192295,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -187142,6 +192657,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -187590,6 +193106,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -188297,6 +193814,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -188674,6 +194192,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -189127,6 +194646,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -189497,6 +195017,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -190223,6 +195744,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -190585,6 +196107,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -191032,6 +196555,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -191995,6 +197519,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -192503,6 +198028,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -192947,6 +198473,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -193675,6 +199202,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -193877,6 +199405,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -194283,6 +199812,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -194997,6 +200527,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -195198,6 +200729,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -195383,6 +200915,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -195585,6 +201118,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -195774,6 +201308,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -195984,6 +201519,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -196165,6 +201701,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -196585,6 +202122,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -197820,6 +203358,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -198017,6 +203556,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -198227,6 +203767,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -198427,6 +203968,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -198637,6 +204179,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -198845,6 +204388,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -199040,6 +204584,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -199236,6 +204781,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -199431,6 +204977,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -199639,6 +205186,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -199860,6 +205408,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -200078,6 +205627,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -200476,6 +206026,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -200672,6 +206223,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -202772,6 +208324,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -203429,6 +208982,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -203653,6 +209207,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -204010,6 +209565,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -204634,6 +210190,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -205147,6 +210704,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -206148,6 +211706,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -206677,6 +212236,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -207268,6 +212828,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -208428,6 +213989,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -208779,6 +214341,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -209402,6 +214965,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -209592,6 +215156,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -209788,6 +215353,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -210186,6 +215752,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -211271,6 +216838,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -211486,6 +217054,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -211672,6 +217241,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -211856,6 +217426,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -212859,6 +218430,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -213305,6 +218877,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -213502,6 +219075,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -213713,6 +219287,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -213899,6 +219474,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -214086,6 +219662,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -215196,6 +220773,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -215397,6 +220975,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -215838,6 +221417,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -216515,6 +222095,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -216955,6 +222536,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -217160,6 +222742,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -217349,6 +222932,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -217536,6 +223120,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -218541,6 +224126,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -218893,6 +224479,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -219929,6 +225516,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -220354,6 +225942,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -221253,6 +226842,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -221437,6 +227027,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -221984,6 +227575,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -222441,6 +228033,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -222642,6 +228235,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -222814,6 +228408,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -223009,6 +228604,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -223559,6 +229155,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -224126,6 +229723,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -224717,6 +230315,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -225067,6 +230666,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -225722,6 +231322,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -225959,6 +231560,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -226324,6 +231926,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -227116,6 +232719,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -227269,34 +232873,185 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionSslPolicies.get({ + * const res = await compute.regionSslPolicies.get({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the SSL policy to update. The name must be 1-63 characters long, + * // and comply with RFC1035. + * sslPolicy: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "customFeatures": [], + * // "description": "my_description", + * // "enabledFeatures": [], + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "minTlsVersion": "my_minTlsVersion", + * // "name": "my_name", + * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", + * // "profile": "my_profile", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "warnings": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Regionsslpolicies$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Regionsslpolicies$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Regionsslpolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Regionsslpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Regionsslpolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Regionsslpolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsslpolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsslpolicies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/sslPolicies/{sslPolicy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'sslPolicy'], + pathParams: ['project', 'region', 'sslPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionSslPolicies.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. + * // The name of the region for this request. * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name of the SSL policy to update. The name must be 1-63 characters long, - * // and comply with RFC1035. - * sslPolicy: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "customFeatures": [], - * // "description": "my_description", - * // "enabledFeatures": [], - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "minTlsVersion": "my_minTlsVersion", - * // "name": "my_name", - * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", - * // "profile": "my_profile", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "warnings": [] + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -227312,52 +233067,52 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Regionsslpolicies$Get, + getIamPolicy( + params: Params$Resource$Regionsslpolicies$Getiampolicy, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Regionsslpolicies$Get, + getIamPolicy( + params?: Params$Resource$Regionsslpolicies$Getiampolicy, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Regionsslpolicies$Get, + ): Promise>; + getIamPolicy( + params: Params$Resource$Regionsslpolicies$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Regionsslpolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Regionsslpolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Regionsslpolicies$Get, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Regionsslpolicies$Getiampolicy, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Regionsslpolicies$Get - | BodyResponseCallback + | Params$Resource$Regionsslpolicies$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionsslpolicies$Get; + {}) as Params$Resource$Regionsslpolicies$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionsslpolicies$Get; + params = {} as Params$Resource$Regionsslpolicies$Getiampolicy; options = {}; } @@ -227372,7 +233127,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/sslPolicies/{sslPolicy}' + '/compute/beta/projects/{project}/regions/{region}/sslPolicies/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -227380,17 +233135,17 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region', 'sslPolicy'], - pathParams: ['project', 'region', 'sslPolicy'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -227479,6 +233234,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -228112,48 +233868,230 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionSslPolicies.patch({ + * const res = await compute.regionSslPolicies.patch({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the SSL policy to update. The name must be 1-63 characters long, + * // and comply with RFC1035. + * sslPolicy: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "customFeatures": [], + * // "description": "my_description", + * // "enabledFeatures": [], + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "minTlsVersion": "my_minTlsVersion", + * // "name": "my_name", + * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", + * // "profile": "my_profile", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "warnings": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Regionsslpolicies$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Regionsslpolicies$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Regionsslpolicies$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Regionsslpolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Regionsslpolicies$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Regionsslpolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsslpolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsslpolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/sslPolicies/{sslPolicy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'sslPolicy'], + pathParams: ['project', 'region', 'sslPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. + * Replaces any existing policy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionSslPolicies.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. + * // The name of the region for this request. * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name of the SSL policy to update. The name must be 1-63 characters long, - * // and comply with RFC1035. - * sslPolicy: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "customFeatures": [], - * // "description": "my_description", - * // "enabledFeatures": [], - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "minTlsVersion": "my_minTlsVersion", - * // "name": "my_name", - * // "postQuantumKeyExchange": "my_postQuantumKeyExchange", - * // "profile": "my_profile", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "warnings": [] + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} * // } * }, * }); @@ -228161,33 +234099,10 @@ export namespace compute_beta { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -228203,52 +234118,52 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Regionsslpolicies$Patch, + setIamPolicy( + params: Params$Resource$Regionsslpolicies$Setiampolicy, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Regionsslpolicies$Patch, + setIamPolicy( + params?: Params$Resource$Regionsslpolicies$Setiampolicy, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Regionsslpolicies$Patch, + ): Promise>; + setIamPolicy( + params: Params$Resource$Regionsslpolicies$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Regionsslpolicies$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Regionsslpolicies$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Regionsslpolicies$Patch, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Regionsslpolicies$Setiampolicy, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Regionsslpolicies$Patch - | BodyResponseCallback + | Params$Resource$Regionsslpolicies$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Regionsslpolicies$Patch; + {}) as Params$Resource$Regionsslpolicies$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionsslpolicies$Patch; + params = {} as Params$Resource$Regionsslpolicies$Setiampolicy; options = {}; } @@ -228263,25 +234178,25 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/sslPolicies/{sslPolicy}' + '/compute/beta/projects/{project}/regions/{region}/sslPolicies/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'sslPolicy'], - pathParams: ['project', 'region', 'sslPolicy'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -228489,6 +234404,24 @@ export namespace compute_beta { */ sslPolicy?: string; } + export interface Params$Resource$Regionsslpolicies$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } export interface Params$Resource$Regionsslpolicies$Insert extends StandardParameters { /** * Project ID for this request. @@ -228772,6 +234705,25 @@ export namespace compute_beta { */ requestBody?: Schema$SslPolicy; } + export interface Params$Resource$Regionsslpolicies$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } export interface Params$Resource$Regionsslpolicies$Testiampermissions extends StandardParameters { /** * Project ID for this request. @@ -228863,6 +234815,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -229222,6 +235175,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -229652,6 +235606,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -230239,6 +236194,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -230616,6 +236572,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -231070,6 +237027,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -231263,6 +237221,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -231456,6 +237415,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -232114,6 +238074,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -232471,6 +238432,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -233250,6 +239212,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -233607,6 +239570,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -233794,6 +239758,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -234231,6 +240196,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -234586,6 +240552,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -236641,6 +242608,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -237651,6 +243619,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -238194,6 +244163,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -238624,6 +244594,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -238818,6 +244789,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -239356,6 +245328,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -240109,6 +246082,184 @@ export namespace compute_beta { } } + /** + * Get health info on a reservation slot. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.reservationSlots.getHealth({ + * // The name of the parent reservation, parent block and parent sub-block. In + * // the format of + * // reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\}/reservationSubBlocks/{reservation_sub_block_name\} + * parentName: + * 'reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})', + * // Project ID for this request. + * project: 'placeholder-value', + * // An optional request ID to identify requests. + * requestId: 'placeholder-value', + * // The name of the reservation slot. + * // Name should conform to RFC1035 or be a resource ID. + * reservationSlot: 'placeholder-value', + * // Name of the zone for this request. Zone name should conform to RFC1035. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getHealth( + params: Params$Resource$Reservationslots$Gethealth, + options: StreamMethodOptions + ): Promise>; + getHealth( + params?: Params$Resource$Reservationslots$Gethealth, + options?: MethodOptions + ): Promise>; + getHealth( + params: Params$Resource$Reservationslots$Gethealth, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getHealth( + params: Params$Resource$Reservationslots$Gethealth, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getHealth( + params: Params$Resource$Reservationslots$Gethealth, + callback: BodyResponseCallback + ): void; + getHealth(callback: BodyResponseCallback): void; + getHealth( + paramsOrCallback?: + | Params$Resource$Reservationslots$Gethealth + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservationslots$Gethealth; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservationslots$Gethealth; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getHealth' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'parentName', 'reservationSlot'], + pathParams: ['parentName', 'project', 'reservationSlot', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Allows customers to get SBOM versions of a reservation slot. * @example @@ -240186,6 +246337,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -240624,6 +246776,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -240764,6 +246917,31 @@ export namespace compute_beta { */ zone?: string; } + export interface Params$Resource$Reservationslots$Gethealth extends StandardParameters { + /** + * The name of the parent reservation, parent block and parent sub-block. In + * the format of + * reservations/{reservation_name\}/reservationBlocks/{reservation_block_name\}/reservationSubBlocks/{reservation_sub_block_name\} + */ + parentName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. + */ + requestId?: string; + /** + * The name of the reservation slot. + * Name should conform to RFC1035 or be a resource ID. + */ + reservationSlot?: string; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + } export interface Params$Resource$Reservationslots$Getversion extends StandardParameters { /** * The name of the parent reservation and parent block. In the format of @@ -241345,6 +247523,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -241788,6 +247967,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -241991,6 +248171,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -243087,6 +249268,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -243600,6 +249782,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -244046,6 +250229,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -244948,6 +251132,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -245295,6 +251480,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -245889,6 +252075,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -246075,6 +252262,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -246256,6 +252444,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -246834,6 +253023,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -247019,6 +253209,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -247729,6 +253920,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -247914,6 +254106,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -248100,6 +254293,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -249323,6 +255517,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -250517,6 +256712,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -250712,6 +256908,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -250908,6 +257105,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -251447,6 +257645,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -251642,6 +257841,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -251838,6 +258038,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -253200,6 +259401,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -253580,6 +259782,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -254349,6 +260552,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -254789,6 +260993,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -255330,6 +261535,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -256024,6 +262230,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -256223,6 +262430,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -256393,6 +262601,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -256572,6 +262781,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -257709,6 +263919,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -258243,6 +264454,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -258699,6 +264911,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -259602,6 +265815,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -260104,6 +266318,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -260983,6 +267198,381 @@ export namespace compute_beta { requestBody?: Schema$TestPermissionsRequest; } + export class Resource$Snapshotrecyclebinpolicy { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the specified SnapshotRecycleBinPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.snapshotRecycleBinPolicy.get({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "rules": {}, + * // "systemRules": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Snapshotrecyclebinpolicy$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Snapshotrecyclebinpolicy$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Snapshotrecyclebinpolicy$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Snapshotrecyclebinpolicy$Get, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Snapshotrecyclebinpolicy$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Snapshotrecyclebinpolicy$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Snapshotrecyclebinpolicy$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Snapshotrecyclebinpolicy$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/snapshotRecycleBinPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Patches the SnapshotRecycleBinPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.snapshotRecycleBinPolicy.patch({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "rules": {}, + * // "systemRules": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Snapshotrecyclebinpolicy$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Snapshotrecyclebinpolicy$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Snapshotrecyclebinpolicy$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Snapshotrecyclebinpolicy$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Snapshotrecyclebinpolicy$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Snapshotrecyclebinpolicy$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Snapshotrecyclebinpolicy$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Snapshotrecyclebinpolicy$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/snapshotRecycleBinPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Snapshotrecyclebinpolicy$Get extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Snapshotrecyclebinpolicy$Patch extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SnapshotRecycleBinPolicy; + } + export class Resource$Snapshots { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -261283,58 +267873,385 @@ export namespace compute_beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.snapshots.delete({ + * const res = await compute.snapshots.delete({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the Snapshot resource to delete. + * snapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getHealthOperationMetadata": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Snapshots$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Snapshots$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Snapshots$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Snapshots$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Snapshots$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Snapshots$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Snapshots$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Snapshots$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/snapshots/{snapshot}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'snapshot'], + pathParams: ['project', 'snapshot'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the specified Snapshot resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.snapshots.get({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the Snapshot resource to return. + * snapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "architecture": "my_architecture", + * // "autoCreated": false, + * // "chainName": "my_chainName", + * // "creationSizeBytes": "my_creationSizeBytes", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "diskSizeGb": "my_diskSizeGb", + * // "downloadBytes": "my_downloadBytes", + * // "enableConfidentialCompute": false, + * // "guestFlush": false, + * // "guestOsFeatures": [], + * // "id": "my_id", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "licenseCodes": [], + * // "licenses": [], + * // "locationHint": "my_locationHint", + * // "name": "my_name", + * // "params": {}, + * // "region": "my_region", + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "snapshotEncryptionKey": {}, + * // "snapshotGroupId": "my_snapshotGroupId", + * // "snapshotGroupName": "my_snapshotGroupName", + * // "snapshotType": "my_snapshotType", + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskEncryptionKey": {}, + * // "sourceDiskForRecoveryCheckpoint": "my_sourceDiskForRecoveryCheckpoint", + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", + * // "sourceInstantSnapshotEncryptionKey": {}, + * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", + * // "sourceSnapshotSchedulePolicy": "my_sourceSnapshotSchedulePolicy", + * // "sourceSnapshotSchedulePolicyId": "my_sourceSnapshotSchedulePolicyId", + * // "status": "my_status", + * // "storageBytes": "my_storageBytes", + * // "storageBytesStatus": "my_storageBytesStatus", + * // "storageLocations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Snapshots$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Snapshots$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Snapshots$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Snapshots$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Snapshots$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Snapshots$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Snapshots$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Snapshots$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/snapshots/{snapshot}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'snapshot'], + pathParams: ['project', 'snapshot'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the effective recycle bin rule for a snapshot by merging org and + * project level rules. If no rules are defined at org and project level, the + * standard default rule is returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.snapshots.getEffectiveRecycleBinRule({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name of the Snapshot resource to delete. + * // Name of the Snapshot resource to get the effective recycle bin rule for. * snapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "retentionDurationDays": "my_retentionDurationDays" * // } * } * @@ -261350,233 +268267,61 @@ export namespace compute_beta { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Snapshots$Delete, + getEffectiveRecycleBinRule( + params: Params$Resource$Snapshots$Geteffectiverecyclebinrule, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Snapshots$Delete, + getEffectiveRecycleBinRule( + params?: Params$Resource$Snapshots$Geteffectiverecyclebinrule, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Snapshots$Delete, + ): Promise< + GaxiosResponseWithHTTP2 + >; + getEffectiveRecycleBinRule( + params: Params$Resource$Snapshots$Geteffectiverecyclebinrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Snapshots$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Snapshots$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Snapshots$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: + getEffectiveRecycleBinRule( + params: Params$Resource$Snapshots$Geteffectiverecyclebinrule, + options: | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Snapshots$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Snapshots$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/beta/projects/{project}/global/snapshots/{snapshot}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'snapshot'], - pathParams: ['project', 'snapshot'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns the specified Snapshot resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('beta'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.snapshots.get({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the Snapshot resource to return. - * snapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "architecture": "my_architecture", - * // "autoCreated": false, - * // "chainName": "my_chainName", - * // "creationSizeBytes": "my_creationSizeBytes", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "downloadBytes": "my_downloadBytes", - * // "enableConfidentialCompute": false, - * // "guestFlush": false, - * // "guestOsFeatures": [], - * // "id": "my_id", - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "licenseCodes": [], - * // "licenses": [], - * // "locationHint": "my_locationHint", - * // "name": "my_name", - * // "params": {}, - * // "region": "my_region", - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "selfLink": "my_selfLink", - * // "snapshotEncryptionKey": {}, - * // "snapshotGroupId": "my_snapshotGroupId", - * // "snapshotGroupName": "my_snapshotGroupName", - * // "snapshotType": "my_snapshotType", - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskEncryptionKey": {}, - * // "sourceDiskForRecoveryCheckpoint": "my_sourceDiskForRecoveryCheckpoint", - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceInstantSnapshot": "my_sourceInstantSnapshot", - * // "sourceInstantSnapshotEncryptionKey": {}, - * // "sourceInstantSnapshotId": "my_sourceInstantSnapshotId", - * // "sourceSnapshotSchedulePolicy": "my_sourceSnapshotSchedulePolicy", - * // "sourceSnapshotSchedulePolicyId": "my_sourceSnapshotSchedulePolicyId", - * // "status": "my_status", - * // "storageBytes": "my_storageBytes", - * // "storageBytesStatus": "my_storageBytesStatus", - * // "storageLocations": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Snapshots$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Snapshots$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Snapshots$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Snapshots$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getEffectiveRecycleBinRule( + params: Params$Resource$Snapshots$Geteffectiverecyclebinrule, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Snapshots$Get, - callback: BodyResponseCallback + getEffectiveRecycleBinRule( + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + getEffectiveRecycleBinRule( paramsOrCallback?: - | Params$Resource$Snapshots$Get - | BodyResponseCallback + | Params$Resource$Snapshots$Geteffectiverecyclebinrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - BodyResponseCallback | BodyResponseCallback + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Snapshots$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Snapshots$Geteffectiverecyclebinrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Snapshots$Get; + params = {} as Params$Resource$Snapshots$Geteffectiverecyclebinrule; options = {}; } @@ -261591,7 +268336,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/global/snapshots/{snapshot}' + '/compute/beta/projects/{project}/global/snapshots/{snapshot}/getEffectiveRecycleBinRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -261604,12 +268349,14 @@ export namespace compute_beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } @@ -261875,6 +268622,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -262441,6 +269189,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -262787,6 +269536,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -263062,6 +269812,16 @@ export namespace compute_beta { */ snapshot?: string; } + export interface Params$Resource$Snapshots$Geteffectiverecyclebinrule extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the Snapshot resource to get the effective recycle bin rule for. + */ + snapshot?: string; + } export interface Params$Resource$Snapshots$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. @@ -263505,6 +270265,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -263989,6 +270750,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -264348,6 +271110,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -265488,6 +272251,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -265763,6 +272527,155 @@ export namespace compute_beta { } } + /** + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.sslPolicies.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Sslpolicies$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Sslpolicies$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Sslpolicies$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Sslpolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Sslpolicies$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Sslpolicies$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Sslpolicies$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Sslpolicies$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies/{resource}/getIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Returns the specified SSL policy resource. * @example @@ -265845,6 +272758,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -266523,6 +273437,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -266642,6 +273557,162 @@ export namespace compute_beta { } } + /** + * Sets the access control policy on the specified resource. + * Replaces any existing policy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.sslPolicies.setIamPolicy({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Sslpolicies$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Sslpolicies$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Sslpolicies$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Sslpolicies$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Sslpolicies$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Sslpolicies$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Sslpolicies$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Sslpolicies$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/sslPolicies/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Returns permissions that a caller has on the specified resource. * @example @@ -266955,6 +274026,20 @@ export namespace compute_beta { */ sslPolicy?: string; } + export interface Params$Resource$Sslpolicies$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } export interface Params$Resource$Sslpolicies$Insert extends StandardParameters { /** * Project ID for this request. @@ -267222,6 +274307,21 @@ export namespace compute_beta { */ requestBody?: Schema$SslPolicy; } + export interface Params$Resource$Sslpolicies$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } export interface Params$Resource$Sslpolicies$Testiampermissions extends StandardParameters { /** * Project ID for this request. @@ -267567,6 +274667,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -268097,6 +275198,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -269115,6 +276217,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -270979,6 +278082,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -271171,6 +278275,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -271729,6 +278834,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -272458,6 +279564,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -272809,6 +279916,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -273767,6 +280875,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -274118,6 +281227,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -274555,6 +281665,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -275370,6 +282481,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -275725,6 +282837,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -276165,6 +283278,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -276355,6 +283469,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -277320,6 +284435,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -277693,6 +284809,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -278143,6 +285260,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -278334,6 +285452,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -278525,6 +285644,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -278716,6 +285836,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -278910,6 +286031,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -279101,6 +286223,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -280196,6 +287319,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -280553,6 +287677,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -280986,6 +288111,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -281700,6 +288826,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -281892,6 +289019,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -282329,6 +289457,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -282847,6 +289976,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -283276,6 +290406,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -283468,6 +290599,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -283662,6 +290794,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -283857,6 +290990,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -284759,6 +291893,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -285112,6 +292247,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -285539,6 +292675,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -285730,6 +292867,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -285920,6 +293058,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -286111,6 +293250,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -286305,6 +293445,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -287248,6 +294389,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -287601,6 +294743,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -288028,6 +295171,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -288218,6 +295362,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -289185,6 +296330,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -289548,6 +296694,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -289981,6 +297128,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -290937,6 +298085,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -291299,6 +298448,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -291493,6 +298643,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -291935,6 +299086,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -292296,6 +299448,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -293305,6 +300458,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -293818,6 +300972,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -294249,6 +301404,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -295220,6 +302376,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -295607,6 +302764,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -296038,6 +303196,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -296743,6 +303902,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -297103,6 +304263,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -297551,6 +304712,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -298102,6 +305264,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -298526,6 +305689,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -299378,6 +306542,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -299740,6 +306905,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, @@ -300185,6 +307351,7 @@ export namespace compute_beta { * // "description": "my_description", * // "endTime": "my_endTime", * // "error": {}, + * // "getHealthOperationMetadata": {}, * // "getVersionOperationMetadata": {}, * // "httpErrorMessage": "my_httpErrorMessage", * // "httpErrorStatusCode": 0, diff --git a/src/apis/compute/package.json b/src/apis/compute/package.json index 6b5ae4f5d0c..c265147515c 100644 --- a/src/apis/compute/package.json +++ b/src/apis/compute/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index b25da00d087..cb1beb2c18d 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -174,6 +174,7 @@ export namespace compute_v1 { packetMirrorings: Resource$Packetmirrorings; previewFeatures: Resource$Previewfeatures; projects: Resource$Projects; + projectViews: Resource$Projectviews; publicAdvertisedPrefixes: Resource$Publicadvertisedprefixes; publicDelegatedPrefixes: Resource$Publicdelegatedprefixes; regionAutoscalers: Resource$Regionautoscalers; @@ -332,6 +333,7 @@ export namespace compute_v1 { this.packetMirrorings = new Resource$Packetmirrorings(this.context); this.previewFeatures = new Resource$Previewfeatures(this.context); this.projects = new Resource$Projects(this.context); + this.projectViews = new Resource$Projectviews(this.context); this.publicAdvertisedPrefixes = new Resource$Publicadvertisedprefixes( this.context ); @@ -3996,7 +3998,8 @@ export namespace compute_v1 { * instance must already be attached to the NEG specified in the * haPolicy.leader.backendGroup. * - * The name must be 1-63 characters long, and comply with RFC1035. + * The value must be a valid RFC1035 name (1-63 characters) or a valid + * instance URL. * Authorization requires the following IAM permission on the * specified resource instance: compute.instances.use */ @@ -5213,6 +5216,294 @@ export namespace compute_v1 { [key: string]: Schema$FutureResourcesRecommendation; } | null; } + /** + * A request to provide Assistant Scores. These scores determine VM + * obtainability and preemption likelihood. + */ + export interface Schema$CapacityAdviceRequest { + /** + * Policy specifying the distribution of instances across + * zones within the requested region. + */ + distributionPolicy?: Schema$CapacityAdviceRequestDistributionPolicy; + /** + * Policy for instance selectors. + */ + instanceFlexibilityPolicy?: Schema$CapacityAdviceRequestInstanceFlexibilityPolicy; + /** + * Instance properties for this request. + */ + instanceProperties?: Schema$CapacityAdviceRequestInstanceProperties; + /** + * The number of VM instances to request. + */ + size?: number | null; + } + /** + * Distribution policy. + */ + export interface Schema$CapacityAdviceRequestDistributionPolicy { + /** + * Target distribution shape. You can specify the following values:ANY, ANY_SINGLE_ZONE, or BALANCED. + */ + targetShape?: string | null; + /** + * Zones where Capacity Advisor looks for capacity. + */ + zones?: Schema$CapacityAdviceRequestDistributionPolicyZoneConfiguration[]; + } + /** + * Zone configuration for the distribution policy. + */ + export interface Schema$CapacityAdviceRequestDistributionPolicyZoneConfiguration { + /** + * The URL of the zone. It can be a + * partial or full URL. For example, the following are valid values: + * + * + * - https://www.googleapis.com/compute/v1/projects/project/zones/zone + * - projects/project/zones/zone + * - zones/zone + */ + zone?: string | null; + } + /** + * Specification of alternative, flexible instance configurations. + */ + export interface Schema$CapacityAdviceRequestInstanceFlexibilityPolicy { + /** + * Named instance selections to configure properties. + * The key is an arbitrary, unique RFC1035 string that identifies the + * instance selection. + */ + instanceSelections?: { + [ + key: string + ]: Schema$CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection; + } | null; + } + /** + * Machine specification. + */ + export interface Schema$CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection { + /** + * Local SSDs. + */ + disks?: Schema$CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk[]; + /** + * Accelerators configuration. + */ + guestAccelerators?: Schema$AcceleratorConfig[]; + /** + * Full machine-type names, e.g. "n1-standard-16". + */ + machineTypes?: string[] | null; + } + /** + * Attached disk configuration. + */ + export interface Schema$CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk { + /** + * Specifies the type of the disk. + */ + type?: string | null; + } + /** + * Instance provisioning properties. + */ + export interface Schema$CapacityAdviceRequestInstanceProperties { + /** + * Specifies the scheduling options. + */ + scheduling?: Schema$CapacityAdviceRequestInstancePropertiesScheduling; + } + /** + * Defines the instance scheduling options. + */ + export interface Schema$CapacityAdviceRequestInstancePropertiesScheduling { + /** + * Specifies the provisioning model. + */ + provisioningModel?: string | null; + } + /** + * A response contains scoring recommendations. + */ + export interface Schema$CapacityAdviceResponse { + /** + * Initially the API will provide one recommendation which balances the + * individual scores according to the service provider's preference. + */ + recommendations?: Schema$CapacityAdviceResponseRecommendation[]; + } + /** + * Recommendation. + */ + export interface Schema$CapacityAdviceResponseRecommendation { + /** + * Scores for the recommendation. + */ + scores?: Schema$CapacityAdviceResponseRecommendationScores; + /** + * Shards represent blocks of uniform capacity in recommendations. + */ + shards?: Schema$CapacityAdviceResponseRecommendationShard[]; + } + /** + * Groups information about a shard of capacity. + */ + export interface Schema$CapacityAdviceResponseRecommendationScores { + /** + * The estimated run time of the majority of Spot VMs in the request + * before preemption. The estimate is best-effort only. It is based on + * historical data and current conditions. + */ + estimatedUptime?: string | null; + /** + * The obtainability score indicates the likelihood of successfully + * obtaining (provisioning) the requested number of VMs. + * The score range is 0.0 through 1.0. Higher is better. + */ + obtainability?: number | null; + } + /** + * Shards represent blocks of uniform capacity in recommendations. + * Each shard is for a single zone and a single machine shape. Each shard + * defines a size expressed as the number of VMs. + */ + export interface Schema$CapacityAdviceResponseRecommendationShard { + /** + * The number of instances. + */ + instanceCount?: number | null; + /** + * The machine type corresponds to the instance selection in the request. + */ + machineType?: string | null; + /** + * The provisioning model that you want to view recommendations for. + */ + provisioningModel?: string | null; + /** + * Output only. The zone name for this shard. + */ + zone?: string | null; + } + /** + * A request to get the capacity history. + */ + export interface Schema$CapacityHistoryRequest { + /** + * Instance properties for this request. + */ + instanceProperties?: Schema$CapacityHistoryRequestInstanceProperties; + /** + * Location policy for this request. + */ + locationPolicy?: Schema$CapacityHistoryRequestLocationPolicy; + /** + * List of history types to get capacity history for. + */ + types?: string[] | null; + } + /** + * Instance properties for this request. + */ + export interface Schema$CapacityHistoryRequestInstanceProperties { + /** + * The machine type for the VM, such as `n2-standard-4`. + */ + machineType?: string | null; + /** + * Specifies the scheduling options. + */ + scheduling?: Schema$CapacityHistoryRequestInstancePropertiesScheduling; + } + /** + * Scheduling options. + */ + export interface Schema$CapacityHistoryRequestInstancePropertiesScheduling { + /** + * The provisioning model to get capacity history for. + * This field must be set to SPOT. + * + * For more information, see + * Compute Engine instances provisioning models. + */ + provisioningModel?: string | null; + } + /** + * Location policy for this request. + */ + export interface Schema$CapacityHistoryRequestLocationPolicy { + /** + * The region or zone to get capacity history for. + * + * It can be a partial or full URL. For example, the following are valid + * values: + * + * + * - https://www.googleapis.com/compute/v1/projects/project/zones/zone + * - projects/project/zones/zone + * - zones/zone + * + * + * + * This field is optional. + */ + location?: string | null; + } + /** + * Contains the capacity history. + */ + export interface Schema$CapacityHistoryResponse { + /** + * Output only. The location (region or zone) for which the capacity history is returned. + * It is returned as a URL - For example,https://www.googleapis.com/compute/v1/projects/project/zones/zone. + */ + location?: string | null; + /** + * The machine type for which the capacity history is returned. + */ + machineType?: string | null; + /** + * The preemption history for the requested machine type and location. + */ + preemptionHistory?: Schema$CapacityHistoryResponsePreemptionRecord[]; + /** + * The price history for the requested machine type and location. + */ + priceHistory?: Schema$CapacityHistoryResponsePriceRecord[]; + } + /** + * A record of Spot VM preemption history. + */ + export interface Schema$CapacityHistoryResponsePreemptionRecord { + /** + * The time interval for this preemption record. + */ + interval?: Schema$Interval; + /** + * The preemption rate during the interval, representing the fraction of + * Spot VMs that were preempted. Range: 0.0 to 1.0. Preemption rate is + * calculated as (total preempted Spots) / (total Spots that stopped + * running). + */ + preemptionRate?: number | null; + } + /** + * A record of price history. + */ + export interface Schema$CapacityHistoryResponsePriceRecord { + /** + * The time interval for this price record. + */ + interval?: Schema$Interval; + /** + * The Spot VM list price during the interval. + */ + listPrice?: Schema$Money; + } /** * Settings controlling the volume of requests, connections and retries to this * backend service. @@ -14967,6 +15258,10 @@ export namespace compute_v1 { * Represents the change that you want to make to the instance properties. */ export interface Schema$InstancePropertiesPatch { + /** + * This optional flag exposes the hashed physical host ID. + */ + exposeHostTopology?: boolean | null; /** * The label key-value pairs that you want to patch onto the instance. */ @@ -18208,6 +18503,30 @@ export namespace compute_v1 { etag?: string | null; result?: Schema$InterconnectMacsecConfig; } + /** + * 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. + */ + export interface Schema$Interval { + /** + * Optional. Exclusive end of the interval. + * + * If specified, a Timestamp matching this interval will have to be before the + * end. + */ + endTime?: string | null; + /** + * Optional. Inclusive start of the interval. + * + * If specified, a Timestamp matching this interval will have to be the same + * or after the start. + */ + startTime?: string | null; + } /** * Represents a License resource. * @@ -19272,6 +19591,29 @@ export namespace compute_v1 { */ value?: string | null; } + /** + * Represents an amount of money with its currency type. + */ + export interface Schema$Money { + /** + * The three-letter currency code defined in ISO 4217. + */ + currencyCode?: string | null; + /** + * 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. + */ + nanos?: number | null; + /** + * The whole units of the amount. + * For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + */ + units?: string | null; + } /** * The named port. For example: <"http", 80\>. */ @@ -23443,6 +23785,23 @@ export namespace compute_v1 { */ networkTier?: string | null; } + /** + * Represents a ProjectView resource. + * + * A ProjectView resource contains read-only project data which is available + * globally. + */ + export interface Schema$ProjectView { + /** + * The project data. + * The returned Project data does not contain regional or zonal quota + * usage data. Global quota limits are present. For accurate, real-time quota + * usage numbers, query the global + * [projects.get](https://cloud.google.com/compute/docs/reference/rest/v1/projects/get) + * endpoint. + */ + project?: Schema$Project; + } /** * A public advertised prefix represents an aggregated IP prefix or netblock * which customers bring to cloud. The IP prefix is a single unit of route @@ -28603,6 +28962,11 @@ export namespace compute_v1 { * specified in the spread placement policy attached to the instance. */ availabilityDomain?: number | null; + /** + * This optional flag exposes the hashed physical host ID in the + * ResourceStatus resource of the VM. + */ + exposeHostTopology?: boolean | null; gracefulShutdown?: Schema$SchedulingGracefulShutdown; /** * Specify the time in seconds for host error detection, the value must be @@ -39408,6 +39772,323 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } + + /** + * Advice on making real-time decisions (such as choosing zone or + * machine types) during deployment to maximize your chances of obtaining + * capacity. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.advice.capacity({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "distributionPolicy": {}, + * // "instanceFlexibilityPolicy": {}, + * // "instanceProperties": {}, + * // "size": 0 + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "recommendations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + capacity( + params: Params$Resource$Advice$Capacity, + options: StreamMethodOptions + ): Promise>; + capacity( + params?: Params$Resource$Advice$Capacity, + options?: MethodOptions + ): Promise>; + capacity( + params: Params$Resource$Advice$Capacity, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + capacity( + params: Params$Resource$Advice$Capacity, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + capacity( + params: Params$Resource$Advice$Capacity, + callback: BodyResponseCallback + ): void; + capacity( + callback: BodyResponseCallback + ): void; + capacity( + paramsOrCallback?: + | Params$Resource$Advice$Capacity + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Advice$Capacity; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advice$Capacity; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/advice/capacity' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the capacity history. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.advice.capacityHistory({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instanceProperties": {}, + * // "locationPolicy": {}, + * // "types": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "location": "my_location", + * // "machineType": "my_machineType", + * // "preemptionHistory": [], + * // "priceHistory": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + capacityHistory( + params: Params$Resource$Advice$Capacityhistory, + options: StreamMethodOptions + ): Promise>; + capacityHistory( + params?: Params$Resource$Advice$Capacityhistory, + options?: MethodOptions + ): Promise>; + capacityHistory( + params: Params$Resource$Advice$Capacityhistory, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + capacityHistory( + params: Params$Resource$Advice$Capacityhistory, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + capacityHistory( + params: Params$Resource$Advice$Capacityhistory, + callback: BodyResponseCallback + ): void; + capacityHistory( + callback: BodyResponseCallback + ): void; + capacityHistory( + paramsOrCallback?: + | Params$Resource$Advice$Capacityhistory + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advice$Capacityhistory; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advice$Capacityhistory; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/advice/capacityHistory' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Advice$Calendarmode extends StandardParameters { @@ -39425,6 +40106,36 @@ export namespace compute_v1 { */ requestBody?: Schema$CalendarModeAdviceRequest; } + export interface Params$Resource$Advice$Capacity extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CapacityAdviceRequest; + } + export interface Params$Resource$Advice$Capacityhistory extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CapacityHistoryRequest; + } export class Resource$Autoscalers { context: APIRequestContext; @@ -101667,6 +102378,7 @@ export namespace compute_v1 { * // { * // "automaticRestart": false, * // "availabilityDomain": 0, + * // "exposeHostTopology": false, * // "gracefulShutdown": {}, * // "hostErrorTimeoutSeconds": 0, * // "instanceTerminationAction": "my_instanceTerminationAction", @@ -156150,6 +156862,174 @@ export namespace compute_v1 { requestBody?: Schema$UsageExportLocation; } + export class Resource$Projectviews { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the specified global ProjectViews resource, with a regional + * context. + * This regional API endpoint reads resource metadata from regional + * read-only replicas. Because changes are copied to these regional replicas + * asynchronously, for real-time resource reads or any write operations + * (creating, updating, or deleting resources), use the global + * [projects.get](https://cloud.google.com/compute/docs/reference/rest/v1/projects/get) + * endpoint. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.projectViews.get({ + * // Required. Project ID for this request. This is part of the URL path. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Required. Name of the region for this request. This is part of the URL path. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "project": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projectviews$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projectviews$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projectviews$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projectviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projectviews$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projectviews$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Projectviews$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projectviews$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/projectViews' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projectviews$Get extends StandardParameters { + /** + * Required. Project ID for this request. This is part of the URL path. + */ + project?: string; + /** + * Required. Name of the region for this request. This is part of the URL path. + */ + region?: string; + } + export class Resource$Publicadvertisedprefixes { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/config/package.json b/src/apis/config/package.json index 2f467ab7369..b15fc812c4e 100644 --- a/src/apis/config/package.json +++ b/src/apis/config/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/connectors/package.json b/src/apis/connectors/package.json index a1e1f610367..6364d3f5aa5 100644 --- a/src/apis/connectors/package.json +++ b/src/apis/connectors/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/contactcenteraiplatform/package.json b/src/apis/contactcenteraiplatform/package.json index 4696ce54c51..665393dbd13 100644 --- a/src/apis/contactcenteraiplatform/package.json +++ b/src/apis/contactcenteraiplatform/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/contactcenterinsights/package.json b/src/apis/contactcenterinsights/package.json index 42026286a25..8a1dafc6b49 100644 --- a/src/apis/contactcenterinsights/package.json +++ b/src/apis/contactcenterinsights/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/contactcenterinsights/v1.ts b/src/apis/contactcenterinsights/v1.ts index 1c4f54439fd..2840aa00385 100644 --- a/src/apis/contactcenterinsights/v1.ts +++ b/src/apis/contactcenterinsights/v1.ts @@ -208,6 +208,10 @@ export namespace contactcenterinsights_v1 { * Represents an image input or output in the conversation. */ export interface Schema$GoogleCloudCesV1mainImage { + /** + * Optional. The alternative text for the image. + */ + altText?: string | null; /** * Required. Raw bytes of the image. */ diff --git a/src/apis/container/package.json b/src/apis/container/package.json index 6e3f9ebc279..80daa72d9b3 100644 --- a/src/apis/container/package.json +++ b/src/apis/container/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/container/v1.ts b/src/apis/container/v1.ts index 7c3c23c1acf..7cd2598f9b1 100644 --- a/src/apis/container/v1.ts +++ b/src/apis/container/v1.ts @@ -3198,7 +3198,7 @@ export namespace container_v1 { */ containerdConfig?: Schema$ContainerdConfig; /** - * Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. + * Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 15 GB for node pools running GKE versions 1.36.3-gke.1480000 or later. Or, for earlier versions, the smallest allowed disk size is 12 GB. If unspecified, the default disk size is 100GB. */ diskSizeGb?: number | null; /** @@ -4300,6 +4300,10 @@ export namespace container_v1 { * The default version for newly created clusters on the channel. */ defaultVersion?: string | null; + /** + * Output only. List of preview versions for the channel. + */ + previewVersions?: string[] | null; /** * The auto upgrade target version for clusters on the channel. */ diff --git a/src/apis/container/v1beta1.ts b/src/apis/container/v1beta1.ts index 3eaa8ddeb26..35042ed5f4a 100644 --- a/src/apis/container/v1beta1.ts +++ b/src/apis/container/v1beta1.ts @@ -487,7 +487,7 @@ export namespace container_v1beta1 { */ bootDiskKmsKey?: string | null; /** - * Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. + * Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 15 GB for node pools running GKE versions 1.36.3-gke.1480000 or later. Or, for earlier versions, the smallest allowed disk size is 12 GB. If unspecified, the default disk size is 100GB. */ diskSizeGb?: number | null; /** @@ -3437,7 +3437,7 @@ export namespace container_v1beta1 { */ containerdConfig?: Schema$ContainerdConfig; /** - * Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. + * Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 15 GB for node pools running GKE versions 1.36.2-gke.2933000 or later. Or, for earlier versions, the smallest allowed disk size is 12 GB. If unspecified, the default disk size is 100GB. */ diskSizeGb?: number | null; /** @@ -4612,6 +4612,10 @@ export namespace container_v1beta1 { * The default version for newly created clusters on the channel. */ defaultVersion?: string | null; + /** + * Output only. List of preview versions for the channel. + */ + previewVersions?: string[] | null; /** * The auto upgrade target version for clusters on the channel. */ diff --git a/src/apis/containeranalysis/package.json b/src/apis/containeranalysis/package.json index 06f7909dcbc..3cf6a305a0d 100644 --- a/src/apis/containeranalysis/package.json +++ b/src/apis/containeranalysis/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/containeranalysis/v1.ts b/src/apis/containeranalysis/v1.ts index fbd65beb935..07402ce21ad 100644 --- a/src/apis/containeranalysis/v1.ts +++ b/src/apis/containeranalysis/v1.ts @@ -2679,6 +2679,10 @@ export namespace containeranalysis_v1 { * Status of the scan. */ scanStatus?: string | null; + /** + * Telemetry metrics tracking token usage for the AI scan. + */ + tokenUsage?: Schema$TokenUsage; } /** * Result of Malicious Content Static scan. @@ -3610,6 +3614,31 @@ export namespace containeranalysis_v1 { */ startTime?: string | null; } + /** + * Token usage associated with an AI scan. + */ + export interface Schema$TokenUsage { + /** + * Cache matched tokens for implicit cache. + */ + cacheCount?: string | null; + /** + * Tokens in the model response. + */ + candidateCount?: string | null; + /** + * Tokens in the user request. + */ + promptCount?: string | null; + /** + * Tokens in the thinking output. + */ + thinkingCount?: string | null; + /** + * Prompt tokens for using tools. + */ + toolUsePromptCount?: string | null; + } /** * 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. */ diff --git a/src/apis/containeranalysis/v1alpha1.ts b/src/apis/containeranalysis/v1alpha1.ts index ee4cd32a9ed..86370b54863 100644 --- a/src/apis/containeranalysis/v1alpha1.ts +++ b/src/apis/containeranalysis/v1alpha1.ts @@ -2924,6 +2924,10 @@ export namespace containeranalysis_v1alpha1 { * Output only. State of the scan. */ scanState?: string | null; + /** + * Output only. Telemetry metrics tracking token usage for the AI scan. + */ + tokenUsage?: Schema$TokenUsage; } /** * Result of Malicious Content Static scan. @@ -4113,6 +4117,31 @@ export namespace containeranalysis_v1alpha1 { */ startTime?: string | null; } + /** + * Token usage associated with an AI scan. + */ + export interface Schema$TokenUsage { + /** + * Output only. Cache matched tokens for implicit cache. + */ + cacheCount?: string | null; + /** + * Output only. Tokens in the model response. + */ + candidateCount?: string | null; + /** + * Output only. Tokens in the user request. + */ + promptCount?: string | null; + /** + * Output only. Tokens in the thinking output. + */ + thinkingCount?: string | null; + /** + * Output only. Prompt tokens for using tools. + */ + toolUsePromptCount?: string | null; + } /** * Request for updating an existing operation */ diff --git a/src/apis/containeranalysis/v1beta1.ts b/src/apis/containeranalysis/v1beta1.ts index 0fc08e9cf61..689bc3dcb72 100644 --- a/src/apis/containeranalysis/v1beta1.ts +++ b/src/apis/containeranalysis/v1beta1.ts @@ -2768,6 +2768,10 @@ export namespace containeranalysis_v1beta1 { * Status of the scan. */ scanStatus?: string | null; + /** + * Telemetry metrics tracking token usage for the AI scan. + */ + tokenUsage?: Schema$TokenUsage; } /** * Result of Malicious Content Static scan. @@ -3706,6 +3710,31 @@ export namespace containeranalysis_v1beta1 { */ startTime?: string | null; } + /** + * Token usage associated with an AI scan. + */ + export interface Schema$TokenUsage { + /** + * Cache matched tokens for implicit cache. + */ + cacheCount?: string | null; + /** + * Tokens in the model response. + */ + candidateCount?: string | null; + /** + * Tokens in the user request. + */ + promptCount?: string | null; + /** + * Tokens in the thinking output. + */ + thinkingCount?: string | null; + /** + * Prompt tokens for using tools. + */ + toolUsePromptCount?: string | null; + } /** * Version contains structured information about the version of a package. */ diff --git a/src/apis/content/README.md b/src/apis/content/README.md index 9557addd90f..2a50458bfee 100644 --- a/src/apis/content/README.md +++ b/src/apis/content/README.md @@ -2,7 +2,7 @@ # content -> This API is deprecated. Please use Merchant API instead: https://developers.google.com/merchant/api. +> ## Installation diff --git a/src/apis/content/index.ts b/src/apis/content/index.ts index 431c67df99f..b56f6ff6744 100644 --- a/src/apis/content/index.ts +++ b/src/apis/content/index.ts @@ -14,28 +14,23 @@ /*! THIS FILE IS AUTO-GENERATED */ import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; -import {content_v2_1} from './v2.1'; import {content_v2} from './v2'; export const VERSIONS = { - 'v2.1': content_v2_1.Content, v2: content_v2.Content, }; -export function content(version: 'v2.1'): content_v2_1.Content; -export function content(options: content_v2_1.Options): content_v2_1.Content; export function content(version: 'v2'): content_v2.Content; export function content(options: content_v2.Options): content_v2.Content; -export function content( +export function content( this: GoogleConfigurable, - versionOrOptions: 'v2.1' | content_v2_1.Options | 'v2' | content_v2.Options + versionOrOptions: 'v2' | content_v2.Options ) { return getAPI('content', versionOrOptions, VERSIONS, this); } const auth = new AuthPlus(); export {auth}; -export {content_v2_1}; export {content_v2}; export { AuthPlus, diff --git a/src/apis/content/package.json b/src/apis/content/package.json index 2e1fcbf6000..67fc82d772c 100644 --- a/src/apis/content/package.json +++ b/src/apis/content/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/content/v2.1.ts b/src/apis/content/v2.1.ts deleted file mode 100644 index 8c611c8b308..00000000000 --- a/src/apis/content/v2.1.ts +++ /dev/null @@ -1,27977 +0,0 @@ -// Copyright 2020 Google LLC -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable @typescript-eslint/no-unused-vars */ -/* eslint-disable @typescript-eslint/no-empty-interface */ -/* eslint-disable @typescript-eslint/no-namespace */ -/* eslint-disable no-irregular-whitespace */ - -import { - OAuth2Client, - JWT, - Compute, - UserRefreshClient, - BaseExternalAccountClient, - GaxiosResponseWithHTTP2, - GoogleConfigurable, - createAPIRequest, - MethodOptions, - StreamMethodOptions, - GlobalOptions, - GoogleAuth, - BodyResponseCallback, - APIRequestContext, -} from 'googleapis-common'; -import {Readable} from 'stream'; - -export namespace content_v2_1 { - export interface Options extends GlobalOptions { - version: 'v2.1'; - } - - interface StandardParameters { - /** - * Auth client or API Key for the request - */ - auth?: - | string - | OAuth2Client - | JWT - | Compute - | UserRefreshClient - | BaseExternalAccountClient - | GoogleAuth; - - /** - * V1 error format. - */ - '$.xgafv'?: string; - /** - * OAuth access token. - */ - access_token?: string; - /** - * Data format for response. - */ - alt?: string; - /** - * JSONP - */ - callback?: string; - /** - * Selector specifying which fields to include in a partial response. - */ - fields?: string; - /** - * 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. - */ - key?: string; - /** - * OAuth 2.0 token for the current user. - */ - oauth_token?: string; - /** - * Returns response with indentations and line breaks. - */ - prettyPrint?: boolean; - /** - * 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. - */ - quotaUser?: string; - /** - * Legacy upload protocol for media (e.g. "media", "multipart"). - */ - uploadType?: string; - /** - * Upload protocol for media (e.g. "raw", "multipart"). - */ - upload_protocol?: string; - } - - /** - * Content API for Shopping - * - * This API is deprecated. Please use Merchant API instead: https://developers.google.com/merchant/api. - * - * @example - * ```js - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * ``` - */ - export class Content { - context: APIRequestContext; - accounts: Resource$Accounts; - accountstatuses: Resource$Accountstatuses; - accounttax: Resource$Accounttax; - collections: Resource$Collections; - collectionstatuses: Resource$Collectionstatuses; - conversionsources: Resource$Conversionsources; - csses: Resource$Csses; - datafeeds: Resource$Datafeeds; - datafeedstatuses: Resource$Datafeedstatuses; - freelistingsprogram: Resource$Freelistingsprogram; - liasettings: Resource$Liasettings; - localinventory: Resource$Localinventory; - merchantsupport: Resource$Merchantsupport; - ordertrackingsignals: Resource$Ordertrackingsignals; - pos: Resource$Pos; - productdeliverytime: Resource$Productdeliverytime; - products: Resource$Products; - productstatuses: Resource$Productstatuses; - promotions: Resource$Promotions; - pubsubnotificationsettings: Resource$Pubsubnotificationsettings; - quotas: Resource$Quotas; - recommendations: Resource$Recommendations; - regionalinventory: Resource$Regionalinventory; - regions: Resource$Regions; - reports: Resource$Reports; - returnpolicyonline: Resource$Returnpolicyonline; - shippingsettings: Resource$Shippingsettings; - shoppingadsprogram: Resource$Shoppingadsprogram; - - constructor(options: GlobalOptions, google?: GoogleConfigurable) { - this.context = { - _options: options || {}, - google, - }; - - this.accounts = new Resource$Accounts(this.context); - this.accountstatuses = new Resource$Accountstatuses(this.context); - this.accounttax = new Resource$Accounttax(this.context); - this.collections = new Resource$Collections(this.context); - this.collectionstatuses = new Resource$Collectionstatuses(this.context); - this.conversionsources = new Resource$Conversionsources(this.context); - this.csses = new Resource$Csses(this.context); - this.datafeeds = new Resource$Datafeeds(this.context); - this.datafeedstatuses = new Resource$Datafeedstatuses(this.context); - this.freelistingsprogram = new Resource$Freelistingsprogram(this.context); - this.liasettings = new Resource$Liasettings(this.context); - this.localinventory = new Resource$Localinventory(this.context); - this.merchantsupport = new Resource$Merchantsupport(this.context); - this.ordertrackingsignals = new Resource$Ordertrackingsignals( - this.context - ); - this.pos = new Resource$Pos(this.context); - this.productdeliverytime = new Resource$Productdeliverytime(this.context); - this.products = new Resource$Products(this.context); - this.productstatuses = new Resource$Productstatuses(this.context); - this.promotions = new Resource$Promotions(this.context); - this.pubsubnotificationsettings = new Resource$Pubsubnotificationsettings( - this.context - ); - this.quotas = new Resource$Quotas(this.context); - this.recommendations = new Resource$Recommendations(this.context); - this.regionalinventory = new Resource$Regionalinventory(this.context); - this.regions = new Resource$Regions(this.context); - this.reports = new Resource$Reports(this.context); - this.returnpolicyonline = new Resource$Returnpolicyonline(this.context); - this.shippingsettings = new Resource$Shippingsettings(this.context); - this.shoppingadsprogram = new Resource$Shoppingadsprogram(this.context); - } - } - - /** - * 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. - */ - export interface Schema$Account { - /** - * Output only. How the account is managed. Acceptable values are: - "`manual`" - "`automatic`" - */ - accountManagement?: string | null; - /** - * 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 Google Ads API. To delete an active link, or to cancel a link request, remove it from the list. - */ - adsLinks?: Schema$AccountAdsLink[]; - /** - * Indicates whether the merchant sells adult content. - */ - adultContent?: boolean | null; - /** - * The automatic improvements of the account can be used to automatically update items, improve images and shipping. Each section inside AutomaticImprovements is updated separately. - */ - automaticImprovements?: Schema$AccountAutomaticImprovements; - /** - * Automatically created label IDs that are assigned to the account by CSS Center. - */ - automaticLabelIds?: string[] | null; - /** - * The business identity attributes can be used to self-declare attributes that let customers know more about your business. - */ - businessIdentity?: Schema$AccountBusinessIdentity; - /** - * The business information of the account. - */ - businessInformation?: Schema$AccountBusinessInformation; - /** - * Settings for conversion tracking. - */ - conversionSettings?: Schema$AccountConversionSettings; - /** - * ID of CSS the account belongs to. - */ - cssId?: string | null; - /** - * The Business Profile which is linked or in the process of being linked with the Merchant Center account. - */ - googleMyBusinessLink?: Schema$AccountGoogleMyBusinessLink; - /** - * Required. 64-bit Merchant Center account ID. - */ - id?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#account`". - */ - kind?: string | null; - /** - * Manually created label IDs that are assigned to the account by CSS. - */ - labelIds?: string[] | null; - /** - * Required. Display name for the account. - */ - name?: string | null; - /** - * Client-specific, locally-unique, internal ID for the child account. - */ - sellerId?: string | null; - /** - * Users with access to the account. Every account (except for subaccounts) must have at least one admin user. - */ - users?: Schema$AccountUser[]; - /** - * The merchant's website. - */ - websiteUrl?: string | null; - /** - * Linked YouTube channels 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 in the YT Creator Studio interface. To delete an active link, or to cancel a link request, remove it from the list. - */ - youtubeChannelLinks?: Schema$AccountYouTubeChannelLink[]; - } - export interface Schema$AccountAddress { - /** - * 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. - */ - country?: string | null; - /** - * City, town or commune. May also include dependent localities or sublocalities (for example, neighborhoods or suburbs). - */ - locality?: string | null; - /** - * Postal code or ZIP (for example, "94043"). - */ - postalCode?: string | null; - /** - * Top-level administrative subdivision of the country. For example, a state like California ("CA") or a province like Quebec ("QC"). - */ - region?: string | null; - /** - * Street-level part of the address. Use `\n` to add a second line. - */ - streetAddress?: string | null; - } - export interface Schema$AccountAdsLink { - /** - * Customer ID of the Ads account. - */ - adsId?: string | null; - /** - * Status of the link between this Merchant Center account and the Ads account. Upon retrieval, it represents the actual status of the link and can be either `active` if it was approved in Google Ads or `pending` if it's pending approval. Upon insertion, it represents the *intended* status of the link. Re-uploading a link with status `active` when it's still pending or with status `pending` when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status `inactive` is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending. Acceptable values are: - "`active`" - "`pending`" - */ - status?: string | null; - } - /** - * The automatic improvements of the account can be used to automatically update items, improve images and shipping. - */ - export interface Schema$AccountAutomaticImprovements { - /** - * 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. - */ - imageImprovements?: Schema$AccountImageImprovements; - /** - * 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. - */ - itemUpdates?: Schema$AccountItemUpdates; - /** - * 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. - */ - shippingImprovements?: Schema$AccountShippingImprovements; - } - /** - * The [business identity attributes](https://support.google.com/merchants/answer/10342414) can be used to self-declare attributes that let customers know more about your business. - */ - export interface Schema$AccountBusinessIdentity { - /** - * Specifies whether the business identifies itself as being black-owned. This optional field is only available for merchants with a business country set to "US". This field is not allowed for marketplaces or marketplace sellers. - */ - blackOwned?: Schema$AccountIdentityType; - /** - * Required. By setting this field, your business may be included in promotions for all the selected attributes. If you clear this option, it won't affect your identification with any of the attributes. For this field to be set, the merchant must self identify with at least one of the `AccountIdentityType`. If none are included, the request will be considered invalid. - */ - includeForPromotions?: boolean | null; - /** - * Specifies whether the business identifies itself as being latino-owned. This optional field is only available for merchants with a business country set to "US". This field is not allowed for marketplaces or marketplace sellers. - */ - latinoOwned?: Schema$AccountIdentityType; - /** - * Specifies whether the business identifies itself as a small business. This optional field is only available for merchants with a business country set to "US". It is also not allowed for marketplaces, but it is allowed to marketplace sellers. - */ - smallBusiness?: Schema$AccountIdentityType; - /** - * Specifies whether the business identifies itself as being veteran-owned. This optional field is only available for merchants with a business country set to "US". This field is not allowed for marketplaces or marketplace sellers. - */ - veteranOwned?: Schema$AccountIdentityType; - /** - * Specifies whether the business identifies itself as being women-owned. This optional field is only available for merchants with a business country set to "US". This field is not allowed for marketplaces or marketplace sellers. - */ - womenOwned?: Schema$AccountIdentityType; - } - export interface Schema$AccountBusinessInformation { - /** - * The address of the business. Use `\n` to add a second address line. - */ - address?: Schema$AccountAddress; - /** - * The customer service information of the business. - */ - customerService?: Schema$AccountCustomerService; - /** - * 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. - */ - koreanBusinessRegistrationNumber?: string | null; - /** - * The phone number of the business in [E.164](https://en.wikipedia.org/wiki/E.164) format. 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`. - */ - phoneNumber?: string | null; - /** - * 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`" - */ - phoneVerificationStatus?: string | null; - } - /** - * Settings for conversion tracking. - */ - export interface Schema$AccountConversionSettings { - /** - * When enabled, free listing URLs have a parameter to enable conversion tracking for products owned by the current merchant account. See [auto-tagging](https://support.google.com/merchants/answer/11127659). - */ - freeListingsAutoTaggingEnabled?: boolean | null; - } - /** - * Credentials allowing Google to call a partner's API on behalf of a merchant. - */ - export interface Schema$AccountCredentials { - /** - * An OAuth access token. - */ - accessToken?: string | null; - /** - * The amount of time, in seconds, after which the access token is no longer valid. - */ - expiresIn?: string | null; - /** - * Indicates to Google how Google should use these OAuth tokens. - */ - purpose?: string | null; - } - export interface Schema$AccountCustomerService { - /** - * Customer service email. - */ - email?: string | null; - /** - * Customer service phone number. - */ - phoneNumber?: string | null; - /** - * Customer service URL. - */ - url?: string | null; - } - export interface Schema$AccountGoogleMyBusinessLink { - /** - * 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. - */ - gmbAccountId?: string | null; - /** - * 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. - */ - gmbEmail?: string | null; - /** - * Status of the link between this Merchant Center account and the Business Profile. Acceptable values are: - "`active`" - "`pending`" - */ - status?: string | null; - } - export interface Schema$AccountIdentifier { - /** - * The aggregator ID, set for aggregators and subaccounts (in that case, it represents the aggregator of the subaccount). - */ - aggregatorId?: string | null; - /** - * The merchant account ID, set for individual accounts and subaccounts. - */ - merchantId?: string | null; - } - /** - * The account identity type used to specify attributes. - */ - export interface Schema$AccountIdentityType { - /** - * Optional. Indicates that the business identifies itself with a given identity type. Setting this field does not automatically mean eligibility for promotions. - */ - selfIdentified?: boolean | null; - } - /** - * 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) - */ - export interface Schema$AccountImageImprovements { - /** - * 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. - */ - accountImageImprovementsSettings?: Schema$AccountImageImprovementsSettings; - /** - * 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. - */ - effectiveAllowAutomaticImageImprovements?: boolean | null; - } - /** - * Settings for the Automatic Image Improvements. - */ - export interface Schema$AccountImageImprovementsSettings { - /** - * Enables automatic image improvements. - */ - allowAutomaticImageImprovements?: boolean | null; - } - /** - * An issue affecting specific merchant. - */ - export interface Schema$AccountIssue { - /** - * A list of actionable steps that can be executed to solve the issue. An example is requesting a re-review or providing arguments when merchant disagrees with the issue. Actions that are supported in (your) third-party application can be rendered as buttons and should be available to merchant when they expand the issue. - */ - actions?: Schema$Action[]; - /** - * Clarifies the severity of the issue. The summarizing message, if present, should be shown right under the title for each issue. It helps merchants to quickly understand the impact of the issue. The detailed breakdown helps the merchant to fully understand the impact of the issue. It can be rendered as dialog that opens when the merchant mouse over the summarized impact statement. Issues with different severity can be styled differently. They may use a different color or icon to signal the difference between `ERROR`, `WARNING` and `INFO`. - */ - impact?: Schema$AccountIssueImpact; - /** - * Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `issue-detail` - top level container for the detail of the issue * `callout-banners` - section of the `issue-detail` with callout banners * `callout-banner` - single callout banner, inside `callout-banners` * `callout-banner-info` - callout with important information (default) * `callout-banner-warning` - callout with a warning * `callout-banner-error` - callout informing about an error (most severe) * `issue-content` - section of the `issue-detail`, contains multiple `content-element` * `content-element` - content element such as a list, link or paragraph, inside `issue-content` * `root-causes` - unordered list with items describing root causes of the issue, inside `issue-content` * `root-causes-intro` - intro text before the `root-causes` list, inside `issue-content` * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. * `content-moderation` - marks the paragraph that explains how the issue was identified. * `new-element` - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class. - */ - prerenderedContent?: string | null; - /** - * Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `ods-section`* - wrapper around the out-of-court dispute resolution section * `ods-description`* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link. * `ods-param`* - wrapper around the header-value pair for parameters that merchant may need to provide during the ODS process. * `ods-routing-id`* - ods param for the Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - value of the ODS parameter. This value should be rendered in a way that it is easy for merchants to identify and copy. * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. - */ - prerenderedOutOfCourtDisputeSettlement?: string | null; - /** - * Title of the issue. - */ - title?: string | null; - } - /** - * Overall impact of the issue. - */ - export interface Schema$AccountIssueImpact { - /** - * Detailed impact breakdown. Explains the types of restriction the issue has in different shopping destinations and territory. If present, it should be rendered to the merchant. Can be shown as a mouse over dropdown or a dialog. Each breakdown item represents a group of regions with the same impact details. - */ - breakdowns?: Schema$Breakdown[]; - /** - * Optional. Message summarizing the overall impact of the issue. If present, it should be rendered to the merchant. For example: "Disapproves 90k offers in 25 countries" - */ - message?: string | null; - /** - * The severity of the issue. - */ - severity?: string | null; - } - /** - * 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. - */ - export interface Schema$AccountItemUpdates { - /** - * 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. - */ - accountItemUpdatesSettings?: Schema$AccountItemUpdatesSettings; - /** - * 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. - */ - effectiveAllowAvailabilityUpdates?: boolean | null; - /** - * 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. - */ - effectiveAllowConditionUpdates?: boolean | null; - /** - * 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. - */ - effectiveAllowPriceUpdates?: boolean | null; - /** - * 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. - */ - effectiveAllowStrictAvailabilityUpdates?: boolean | null; - } - /** - * Settings for the Automatic Item Updates. - */ - export interface Schema$AccountItemUpdatesSettings { - /** - * 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’s page. - */ - allowAvailabilityUpdates?: boolean | null; - /** - * If condition updates are enabled, Google always updates item condition with the condition detected from the details of your product. - */ - allowConditionUpdates?: boolean | null; - /** - * If price updates are enabled, Google always updates the active price with the crawled information. - */ - allowPriceUpdates?: boolean | null; - /** - * 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. - */ - allowStrictAvailabilityUpdates?: boolean | null; - } - /** - * Label assigned by CSS domain or CSS group to one of its sub-accounts. - */ - export interface Schema$AccountLabel { - /** - * Immutable. The ID of account this label belongs to. - */ - accountId?: string | null; - /** - * The description of this label. - */ - description?: string | null; - /** - * Output only. The ID of the label. - */ - labelId?: string | null; - /** - * Output only. The type of this label. - */ - labelType?: string | null; - /** - * The display name of this label. - */ - name?: string | null; - } - /** - * The return carrier information. This service is designed for merchants enrolled in the Buy on Google program. - */ - export interface Schema$AccountReturnCarrier { - /** - * Output only. Immutable. The Google-provided unique carrier ID, used to update the resource. - */ - carrierAccountId?: string | null; - /** - * Name of the carrier account. - */ - carrierAccountName?: string | null; - /** - * Number of the carrier account. - */ - carrierAccountNumber?: string | null; - /** - * The carrier code enum. Accepts the values FEDEX or UPS. - */ - carrierCode?: string | null; - } - export interface Schema$AccountsAuthInfoResponse { - /** - * The account identifiers corresponding to the authenticated user. - For an individual account: only the merchant ID is defined - For an aggregator: only the aggregator ID is defined - For a subaccount of an MCA: both the merchant ID and the aggregator ID are defined. - */ - accountIdentifiers?: Schema$AccountIdentifier[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountsAuthInfoResponse`". - */ - kind?: string | null; - } - export interface Schema$AccountsClaimWebsiteResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountsClaimWebsiteResponse`". - */ - kind?: string | null; - } - export interface Schema$AccountsCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$AccountsCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch accounts request. - */ - export interface Schema$AccountsCustomBatchRequestEntry { - /** - * The account to create or update. Only defined if the method is `insert` or `update`. - */ - account?: Schema$Account; - /** - * The ID of the targeted account. Only defined if the method is not `insert`. - */ - accountId?: string | null; - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * Whether the account should be deleted if the account has offers. Only applicable if the method is `delete`. - */ - force?: boolean | null; - /** - * Label IDs for the 'updatelabels' request. - */ - labelIds?: string[] | null; - /** - * Details about the `link` request. - */ - linkRequest?: Schema$AccountsCustomBatchRequestEntryLinkRequest; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`claimWebsite`" - "`delete`" - "`get`" - "`insert`" - "`link`" - "`update`" - */ - method?: string | null; - /** - * Only applicable if the method is `claimwebsite`. Indicates whether or not to take the claim from another account in case there is a conflict. - */ - overwrite?: boolean | null; - /** - * Controls which fields are visible. Only applicable if the method is 'get'. - */ - view?: string | null; - } - export interface Schema$AccountsCustomBatchRequestEntryLinkRequest { - /** - * Action to perform for this link. The `"request"` action is only available to select merchants. Acceptable values are: - "`approve`" - "`remove`" - "`request`" - */ - action?: string | null; - /** - * The ID of the linked account. - */ - linkedAccountId?: string | null; - /** - * Type of the link between the two accounts. Acceptable values are: - "`channelPartner`" - "`eCommercePlatform`" - "`paymentServiceProvider`" - "`localProductManager`" - */ - linkType?: string | null; - /** - * Provided services. Acceptable values are: - "`shoppingAdsProductManagement`" - "`shoppingActionsProductManagement`" - "`shoppingActionsOrderManagement`" - "`paymentProcessing`" - "`localProductManagement`" - */ - services?: string[] | null; - } - export interface Schema$AccountsCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$AccountsCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountsCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch accounts response. - */ - export interface Schema$AccountsCustomBatchResponseEntry { - /** - * The retrieved, created, or updated account. Not defined if the method was `delete`, `claimwebsite` or `link`. - */ - account?: Schema$Account; - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountsCustomBatchResponseEntry`" - */ - kind?: string | null; - } - /** - * 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 - */ - export interface Schema$AccountShippingImprovements { - /** - * Enables automatic shipping improvements. - */ - allowShippingImprovements?: boolean | null; - } - export interface Schema$AccountsLinkRequest { - /** - * Action to perform for this link. The `"request"` action is only available to select merchants. Acceptable values are: - "`approve`" - "`remove`" - "`request`" - */ - action?: string | null; - /** - * Additional information required for `eCommercePlatform` link type. - */ - eCommercePlatformLinkInfo?: Schema$ECommercePlatformLinkInfo; - /** - * The ID of the linked account. - */ - linkedAccountId?: string | null; - /** - * Type of the link between the two accounts. Acceptable values are: - "`channelPartner`" - "`eCommercePlatform`" - "`paymentServiceProvider`" - */ - linkType?: string | null; - /** - * Additional information required for `paymentServiceProvider` link type. - */ - paymentServiceProviderLinkInfo?: Schema$PaymentServiceProviderLinkInfo; - /** - * Acceptable values are: - "`shoppingAdsProductManagement`" - "`shoppingActionsProductManagement`" - "`shoppingActionsOrderManagement`" - "`paymentProcessing`" - */ - services?: string[] | null; - } - export interface Schema$AccountsLinkResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountsLinkResponse`". - */ - kind?: string | null; - } - export interface Schema$AccountsListLinksResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountsListLinksResponse`". - */ - kind?: string | null; - /** - * The list of available links. - */ - links?: Schema$LinkedAccount[]; - /** - * The token for the retrieval of the next page of links. - */ - nextPageToken?: string | null; - } - export interface Schema$AccountsListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountsListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of accounts. - */ - nextPageToken?: string | null; - resources?: Schema$Account[]; - } - /** - * The status of an account, that is, information about its products, which is computed offline and not returned immediately at insertion time. - */ - export interface Schema$AccountStatus { - /** - * The ID of the account for which the status is reported. - */ - accountId?: string | null; - /** - * A list of account level issues. - */ - accountLevelIssues?: Schema$AccountStatusAccountLevelIssue[]; - /** - * How the account is managed. Acceptable values are: - "`manual`" - "`automatic`" - */ - accountManagement?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountStatus`" - */ - kind?: string | null; - /** - * List of product-related data by channel, destination, and country. Data in this field may be delayed by up to 30 minutes. - */ - products?: Schema$AccountStatusProducts[]; - /** - * Whether the account's website is claimed or not. - */ - websiteClaimed?: boolean | null; - } - export interface Schema$AccountStatusAccountLevelIssue { - /** - * Country for which this issue is reported. - */ - country?: string | null; - /** - * The destination the issue applies to. If this field is empty then the issue applies to all available destinations. - */ - destination?: string | null; - /** - * Additional details about the issue. - */ - detail?: string | null; - /** - * The URL of a web page to help resolving this issue. - */ - documentation?: string | null; - /** - * Issue identifier. - */ - id?: string | null; - /** - * Severity of the issue. Acceptable values are: - "`critical`" - "`error`" - "`suggestion`" - */ - severity?: string | null; - /** - * Short description of the issue. - */ - title?: string | null; - } - export interface Schema$AccountstatusesCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$AccountstatusesCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch accountstatuses request. - */ - export interface Schema$AccountstatusesCustomBatchRequestEntry { - /** - * The ID of the (sub-)account whose status to get. - */ - accountId?: string | null; - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - */ - destinations?: string[] | null; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`get`" - */ - method?: string | null; - } - export interface Schema$AccountstatusesCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$AccountstatusesCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountstatusesCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch accountstatuses response. - */ - export interface Schema$AccountstatusesCustomBatchResponseEntry { - /** - * The requested account status. Defined if and only if the request was successful. - */ - accountStatus?: Schema$AccountStatus; - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - } - export interface Schema$AccountstatusesListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountstatusesListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of account statuses. - */ - nextPageToken?: string | null; - resources?: Schema$AccountStatus[]; - } - export interface Schema$AccountStatusItemLevelIssue { - /** - * The attribute's name, if the issue is caused by a single attribute. - */ - attributeName?: string | null; - /** - * The error code of the issue. - */ - code?: string | null; - /** - * A short issue description in English. - */ - description?: string | null; - /** - * A detailed issue description in English. - */ - detail?: string | null; - /** - * The URL of a web page to help with resolving this issue. - */ - documentation?: string | null; - /** - * Number of items with this issue. - */ - numItems?: string | null; - /** - * Whether the issue can be resolved by the merchant. - */ - resolution?: string | null; - /** - * How this issue affects serving of the offer. - */ - servability?: string | null; - } - export interface Schema$AccountStatusProducts { - /** - * The channel the data applies to. Acceptable values are: - "`local`" - "`online`" - */ - channel?: string | null; - /** - * The country the data applies to. - */ - country?: string | null; - /** - * The destination the data applies to. - */ - destination?: string | null; - /** - * List of item-level issues. - */ - itemLevelIssues?: Schema$AccountStatusItemLevelIssue[]; - /** - * Aggregated product statistics. - */ - statistics?: Schema$AccountStatusStatistics; - } - export interface Schema$AccountStatusStatistics { - /** - * Number of active offers. - */ - active?: string | null; - /** - * Number of disapproved offers. - */ - disapproved?: string | null; - /** - * Number of expiring offers. - */ - expiring?: string | null; - /** - * Number of pending offers. - */ - pending?: string | null; - } - export interface Schema$AccountsUpdateLabelsRequest { - /** - * The IDs of labels that should be assigned to the account. - */ - labelIds?: string[] | null; - } - export interface Schema$AccountsUpdateLabelsResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountsUpdateLabelsResponse`". - */ - kind?: string | null; - } - /** - * The tax settings of a merchant account. All methods require the admin role. - */ - export interface Schema$AccountTax { - /** - * Required. The ID of the account to which these account tax settings belong. - */ - accountId?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accountTax`". - */ - kind?: string | null; - /** - * Tax rules. Updating the tax rules will enable "US" taxes (not reversible). Defining no rules is equivalent to not charging tax at all. - */ - rules?: Schema$AccountTaxTaxRule[]; - } - export interface Schema$AccounttaxCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$AccounttaxCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch accounttax request. - */ - export interface Schema$AccounttaxCustomBatchRequestEntry { - /** - * The ID of the account for which to get/update account tax settings. - */ - accountId?: string | null; - /** - * The account tax settings to update. Only defined if the method is `update`. - */ - accountTax?: Schema$AccountTax; - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`get`" - "`update`" - */ - method?: string | null; - } - export interface Schema$AccounttaxCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$AccounttaxCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accounttaxCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch accounttax response. - */ - export interface Schema$AccounttaxCustomBatchResponseEntry { - /** - * The retrieved or updated account tax settings. - */ - accountTax?: Schema$AccountTax; - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accounttaxCustomBatchResponseEntry`" - */ - kind?: string | null; - } - export interface Schema$AccounttaxListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#accounttaxListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of account tax settings. - */ - nextPageToken?: string | null; - resources?: Schema$AccountTax[]; - } - /** - * Tax calculation rule to apply in a state or province (US only). - */ - export interface Schema$AccountTaxTaxRule { - /** - * Country code in which tax is applicable. - */ - country?: string | null; - /** - * Required. State (or province) is which the tax is applicable, described by its location ID (also called criteria ID). - */ - locationId?: string | null; - /** - * Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative. - */ - ratePercent?: string | null; - /** - * If true, shipping charges are also taxed. - */ - shippingTaxed?: boolean | null; - /** - * Whether the tax rate is taken from a global tax table or specified explicitly. - */ - useGlobalRate?: boolean | null; - } - export interface Schema$AccountUser { - /** - * Whether user is an admin. - */ - admin?: boolean | null; - /** - * User's email address. - */ - emailAddress?: string | null; - /** - * This role is deprecated and can no longer be assigned. Any value set will be ignored. - */ - orderManager?: boolean | null; - /** - * This role is deprecated and can no longer be assigned. Any value set will be ignored. - */ - paymentsAnalyst?: boolean | null; - /** - * This role is deprecated and can no longer be assigned. Any value set will be ignored. - */ - paymentsManager?: boolean | null; - /** - * Optional. Whether user has standard read-only access. - */ - readOnly?: boolean | null; - /** - * Whether user is a reporting manager. This role is equivalent to the Performance and insights role in Merchant Center. - */ - reportingManager?: boolean | null; - } - export interface Schema$AccountYouTubeChannelLink { - /** - * Channel ID. - */ - channelId?: string | null; - /** - * Status of the link between this Merchant Center account and the YouTube channel. Upon retrieval, it represents the actual status of the link and can be either `active` if it was approved in YT Creator Studio or `pending` if it's pending approval. Upon insertion, it represents the *intended* status of the link. Re-uploading a link with status `active` when it's still pending or with status `pending` when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status `inactive` is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending. - */ - status?: string | null; - } - /** - * An actionable step that can be executed to solve the issue. - */ - export interface Schema$Action { - /** - * Action implemented and performed in (your) third-party application. The application should point the merchant to the place, where they can access the corresponding functionality or provide instructions, if the specific functionality is not available. - */ - builtinSimpleAction?: Schema$BuiltInSimpleAction; - /** - * Action implemented and performed in (your) third-party application. The application needs to show an additional content and input form to the merchant as specified for given action. They can trigger the action only when they provided all required inputs. - */ - builtinUserInputAction?: Schema$BuiltInUserInputAction; - /** - * Label of the action button. - */ - buttonLabel?: string | null; - /** - * Action that is implemented and performed outside of (your) third-party application. The application needs to redirect the merchant to the external location where they can perform the action. - */ - externalAction?: Schema$ExternalAction; - /** - * Controlling whether the button is active or disabled. The value is 'false' when the action was already requested or is not available. If the action is not available then a reason will be present. If (your) third-party application shows a disabled button for action that is not available, then it should also show reasons. - */ - isAvailable?: boolean | null; - /** - * List of reasons why the action is not available. The list of reasons is empty if the action is available. If there is only one reason, it can be displayed next to the disabled button. If there are more reasons, all of them should be displayed, for example in a pop-up dialog. - */ - reasons?: Schema$ActionReason[]; - } - /** - * Flow that can be selected for an action. When merchant selects a flow, application should open a dialog with more information and input form. - */ - export interface Schema$ActionFlow { - /** - * Label for the button to trigger the action from the action dialog. For example: "Request review" - */ - dialogButtonLabel?: string | null; - /** - * Important message to be highlighted in the request dialog. For example: "You can only request a review for disagreeing with this issue once. If it's not approved, you'll need to fix the issue and wait a few days before you can request another review." - */ - dialogCallout?: Schema$Callout; - /** - * Message displayed in the request dialog. For example: "Make sure you've fixed all your country-specific issues. If not, you may have to wait 7 days to request another review". There may be an more information to be shown in a tooltip. - */ - dialogMessage?: Schema$TextWithTooltip; - /** - * Title of the request dialog. For example: "Before you request a review" - */ - dialogTitle?: string | null; - /** - * Not for display but need to be sent back for the selected action flow. - */ - id?: string | null; - /** - * A list of input fields. - */ - inputs?: Schema$InputField[]; - /** - * Text value describing the intent for the action flow. It can be used as an input label if merchant needs to pick one of multiple flows. For example: "I disagree with the issue" - */ - label?: string | null; - } - /** - * Input provided by the merchant. - */ - export interface Schema$ActionInput { - /** - * Required. Id of the selected action flow. - */ - actionFlowId?: string | null; - /** - * Required. Values for input fields. - */ - inputValues?: Schema$InputValue[]; - } - /** - * A single reason why the action is not available. - */ - export interface Schema$ActionReason { - /** - * Optional. An action that needs to be performed to solve the problem represented by this reason. This action will always be available. Should be rendered as a link or button next to the summarizing message. For example, the review may be available only once merchant configure all required attributes. In such a situation this action can be a link to the form, where they can fill the missing attribute to unblock the main action. - */ - action?: Schema$Action; - /** - * Detailed explanation of the reason. Should be displayed as a hint if present. - */ - detail?: string | null; - /** - * Messages summarizing the reason, why the action is not available. For example: "Review requested on Jan 03. Review requests can take a few days to complete." - */ - message?: string | null; - } - export interface Schema$Address { - /** - * Required. Top-level administrative subdivision of the country. For example, a state like California ("CA") or a province like Quebec ("QC"). - */ - administrativeArea?: string | null; - /** - * Required. City, town or commune. May also include dependent localities or sublocalities (for example, neighborhoods or suburbs). - */ - city?: string | null; - /** - * Required. [CLDR country code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml) (for example, "US"). - */ - country?: string | null; - /** - * Required. Postal code or ZIP (for example, "94043"). - */ - postalCode?: string | null; - /** - * Street-level part of the address. Use `\n` to add a second line. - */ - streetAddress?: string | null; - } - /** - * The Alternate Dispute Resolution (ADR) that may be available to merchants in some regions. If present, the link should be shown on the same page as the list of issues. - */ - export interface Schema$AlternateDisputeResolution { - /** - * The label for the alternate dispute resolution link. - */ - label?: string | null; - /** - * The URL pointing to a page, where merchant can request alternative dispute resolution with an [external body](https://support.google.com/european-union-digital-services-act-redress-options/answer/13535501). - */ - uri?: string | null; - } - /** - * Represents attribution settings for conversion sources receiving pre-attribution data. - */ - export interface Schema$AttributionSettings { - /** - * Required. Lookback windows (in days) used for attribution in this source. Supported values are 7, 30, 40. - */ - attributionLookbackWindowInDays?: number | null; - attributionModel?: string | null; - /** - * Immutable. Unordered list. List of different conversion types a conversion event can be classified as. A standard "purchase" type will be automatically created if this list is empty at creation time. - */ - conversionType?: Schema$AttributionSettingsConversionType[]; - } - /** - * Message representing a types of conversion events - */ - export interface Schema$AttributionSettingsConversionType { - /** - * Output only. Option indicating if the type should be included in Merchant Center reporting. - */ - includeInReporting?: boolean | null; - /** - * Output only. Conversion event name, as it'll be reported by the client. - */ - name?: string | null; - } - /** - * Fields related to the [Best sellers reports](https://support.google.com/merchants/answer/9488679). - */ - export interface Schema$BestSellers { - /** - * Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). If a `WHERE` condition on `best_sellers.category_id` is not specified in the query, rankings for all top-level categories are returned. - */ - categoryId?: string | null; - /** - * Country where the ranking is calculated. A `WHERE` condition on `best_sellers.country_code` is required in the query. - */ - countryCode?: string | null; - /** - * Popularity rank in the previous week or month. - */ - previousRank?: string | null; - /** - * Estimated demand in relation to the item with the highest popularity rank in the same category and country in the previous week or month. - */ - previousRelativeDemand?: string | null; - /** - * Popularity on Shopping ads and free listings, in the selected category and country, based on the estimated number of units sold. - */ - rank?: string | null; - /** - * Estimated demand in relation to the item with the highest popularity rank in the same category and country. - */ - relativeDemand?: string | null; - /** - * Change in the estimated demand. Whether it rose, sank or remained flat. - */ - relativeDemandChange?: string | null; - /** - * Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports. * The first day of the month for monthly reports. If a `WHERE` condition on `best_sellers.report_date` is not specified in the query, the latest available weekly or monthly report is returned. - */ - reportDate?: Schema$Date; - /** - * Granularity of the report. The ranking can be done over a week or a month timeframe. A `WHERE` condition on `best_sellers.report_granularity` is required in the query. - */ - reportGranularity?: string | null; - } - /** - * Brand fields. Values are only set for fields requested explicitly in the request's search query. - */ - export interface Schema$Brand { - /** - * Name of the brand. - */ - name?: string | null; - } - /** - * A detailed impact breakdown for a group of regions where the impact of the issue on different shopping destinations is the same. - */ - export interface Schema$Breakdown { - /** - * Human readable, localized description of issue's effect on different targets. Should be rendered as a list. For example: * "Products not showing in ads" * "Products not showing organically" - */ - details?: string[] | null; - /** - * Lists of regions. Should be rendered as a title for this group of details. The full list should be shown to merchant. If the list is too long, it is recommended to make it expandable. - */ - regions?: Schema$BreakdownRegion[]; - } - /** - * Region with code and localized name. - */ - export interface Schema$BreakdownRegion { - /** - * The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) - */ - code?: string | null; - /** - * The localized name of the region. For region with code='001' the value is 'All countries' or the equivalent in other languages. - */ - name?: string | null; - } - /** - * Action that is implemented and performed in (your) third-party application. Represents various functionality that is expected to be available to merchant and will help them with resolving the issue. The application should point the merchant to the place, where they can access the corresponding functionality. If the functionality is not supported, it is recommended to explain the situation to merchant and provide them with instructions how to solve the issue. - */ - export interface Schema$BuiltInSimpleAction { - /** - * Long text from an external source that should be available to the merchant. Present when the type is `SHOW_ADDITIONAL_CONTENT`. - */ - additionalContent?: Schema$BuiltInSimpleActionAdditionalContent; - /** - * The attribute that needs to be updated. Present when the type is `EDIT_ITEM_ATTRIBUTE`. This field contains a code for attribute, represented in snake_case. You can find a list of product's attributes, with their codes [here](https://support.google.com/merchants/answer/7052112). - */ - attributeCode?: string | null; - /** - * The type of action that represents a functionality that is expected to be available in third-party application. - */ - type?: string | null; - } - /** - * Long text from external source. - */ - export interface Schema$BuiltInSimpleActionAdditionalContent { - /** - * Long text organized into paragraphs. - */ - paragraphs?: string[] | null; - /** - * Title of the additional content; - */ - title?: string | null; - } - /** - * Action that is implemented and performed in (your) third-party application. The application needs to show an additional content and input form to the merchant. They can start the action only when they provided all required inputs. The application will request processing of the action by calling the [triggeraction method](https://developers.google.com/shopping-content/reference/rest/v2.1/merchantsupport/triggeraction). - */ - export interface Schema$BuiltInUserInputAction { - /** - * Internal details. Not for display but need to be sent back when triggering the action. - */ - actionContext?: string | null; - /** - * Actions may provide multiple different flows. Merchant selects one that fits best to their intent. Selecting the flow is the first step in user's interaction with the action. It affects what input fields will be available and required and also how the request will be processed. - */ - flows?: Schema$ActionFlow[]; - } - export interface Schema$BusinessDayConfig { - /** - * Regular business days, such as '"monday"'. May not be empty. - */ - businessDays?: string[] | null; - } - /** - * An important message that should be highlighted. Usually displayed as a banner. - */ - export interface Schema$Callout { - /** - * A full message that needs to be shown to the merchant. - */ - fullMessage?: Schema$TextWithTooltip; - /** - * Can be used to render messages with different severity in different styles. Snippets off all types contain important information that should be displayed to merchants. - */ - styleHint?: string | null; - } - export interface Schema$CarrierRate { - /** - * Carrier service, such as `"UPS"` or `"Fedex"`. The list of supported carriers can be retrieved through the `getSupportedCarriers` method. Required. - */ - carrierName?: string | null; - /** - * Carrier service, such as `"ground"` or `"2 days"`. The list of supported services for a carrier can be retrieved through the `getSupportedCarriers` method. Required. - */ - carrierService?: string | null; - /** - * Additive shipping rate modifier. Can be negative. For example `{ "value": "1", "currency" : "USD" \}` adds $1 to the rate, `{ "value": "-3", "currency" : "USD" \}` removes $3 from the rate. Optional. - */ - flatAdjustment?: Schema$Price; - /** - * Name of the carrier rate. Must be unique per rate group. Required. - */ - name?: string | null; - /** - * Shipping origin for this carrier rate. Required. - */ - originPostalCode?: string | null; - /** - * Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example `"5.4"` increases the rate by 5.4%, `"-3"` decreases the rate by 3%. Optional. - */ - percentageAdjustment?: string | null; - } - export interface Schema$CarriersCarrier { - /** - * The CLDR country code of the carrier (for example, "US"). Always present. - */ - country?: string | null; - /** - * A list of services supported for EDD (Estimated Delivery Date) calculation. This is the list of valid values for WarehouseBasedDeliveryTime.carrierService. - */ - eddServices?: string[] | null; - /** - * The name of the carrier (for example, `"UPS"`). Always present. - */ - name?: string | null; - /** - * 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. - */ - services?: string[] | null; - } - /** - * `CheckoutSettings` for a specific merchant ID. - */ - export interface Schema$CheckoutSettings { - /** - * Output only. The effective value of enrollment state for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account. - */ - effectiveEnrollmentState?: string | null; - /** - * Output only. The effective value of review state for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account. - */ - effectiveReviewState?: string | null; - /** - * The effective value of `url_settings` for a given merchant ID. If account level settings are present then this value will be a copy of the account level settings. Otherwise, it will have the value of the parent account. - */ - effectiveUriSettings?: Schema$UrlSettings; - /** - * Output only. Reflects the merchant enrollment state in `Checkout` feature. - */ - enrollmentState?: string | null; - /** - * Required. The ID of the account. - */ - merchantId?: string | null; - /** - * Output only. Reflects the merchant review state in `Checkout` feature. This is set based on the data quality reviews of the URL provided by the merchant. A merchant with enrollment state as `ENROLLED` can be in the following review states: `IN_REVIEW`, `APPROVED` or `DISAPPROVED`. A merchant must be in an enrollment_state of `ENROLLED` before a review can begin for the merchant. - */ - reviewState?: string | null; - /** - * URL settings for cart or checkout URL. - */ - uriSettings?: Schema$UrlSettings; - } - /** - * Product property for the Cloud Retail API. For example, properties for a TV product could be "Screen-Resolution" or "Screen-Size". - */ - export interface Schema$CloudExportAdditionalProperties { - /** - * Boolean value of the given property. For example for a TV product, "True" or "False" if the screen is UHD. - */ - boolValue?: boolean | null; - /** - * Float values of the given property. For example for a TV product 1.2345. Maximum number of specified values for this field is 400. Values are stored in an arbitrary but consistent order. - */ - floatValue?: number[] | null; - /** - * Integer values of the given property. For example, 1080 for a screen resolution of a TV product. Maximum number of specified values for this field is 400. Values are stored in an arbitrary but consistent order. - */ - intValue?: string[] | null; - /** - * Maximum float value of the given property. For example for a TV product 100.00. - */ - maxValue?: number | null; - /** - * Minimum float value of the given property. For example for a TV product 1.00. - */ - minValue?: number | null; - /** - * Name of the given property. For example, "Screen-Resolution" for a TV product. Maximum string size is 256 characters. - */ - propertyName?: string | null; - /** - * Text value of the given property. For example, "8K(UHD)" could be a text value for a TV product. Maximum number of specified values for this field is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters. - */ - textValue?: string[] | null; - /** - * Unit of the given property. For example, "Pixels" for a TV product. Maximum string size is 256 bytes. - */ - unitCode?: string | null; - } - /** - * The collection message. - */ - export interface Schema$Collection { - /** - * Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns. [Custom label](https://support.google.com/merchants/answer/9674217) - */ - customLabel0?: string | null; - /** - * Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns. - */ - customLabel1?: string | null; - /** - * Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns. - */ - customLabel2?: string | null; - /** - * Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns. - */ - customLabel3?: string | null; - /** - * Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns. - */ - customLabel4?: string | null; - /** - * This identifies one or more products associated with the collection. Used as a lookup to the corresponding product ID in your product feeds. Provide a maximum of 100 featuredProduct (for collections). Provide up to 10 featuredProduct (for Shoppable Images only) with ID and X and Y coordinates. [featured_product attribute](https://support.google.com/merchants/answer/9703736) - */ - featuredProduct?: Schema$CollectionFeaturedProduct[]; - /** - * Your collection's name. [headline attribute](https://support.google.com/merchants/answer/9673580) - */ - headline?: string[] | null; - /** - * Required. The REST ID of the collection. Content API methods that operate on collections take this as their collectionId parameter. The REST ID for a collection is of the form collectionId. [id attribute](https://support.google.com/merchants/answer/9649290) - */ - id?: string | null; - /** - * The URL of a collection’s image. [image_link attribute](https://support.google.com/merchants/answer/9703236) - */ - imageLink?: string[] | null; - /** - * The language of a collection and the language of any featured products linked to the collection. [language attribute](https://support.google.com/merchants/answer/9673781) - */ - language?: string | null; - /** - * A collection’s landing page. URL directly linking to your collection's page on your website. [link attribute](https://support.google.com/merchants/answer/9673983) - */ - link?: string | null; - /** - * A collection’s mobile-optimized landing page when you have a different URL for mobile and desktop traffic. [mobile_link attribute](https://support.google.com/merchants/answer/9646123) - */ - mobileLink?: string | null; - /** - * [product_country attribute](https://support.google.com/merchants/answer/9674155) - */ - productCountry?: string | null; - } - /** - * The message for FeaturedProduct. [FeaturedProduct](https://support.google.com/merchants/answer/9703736) - */ - export interface Schema$CollectionFeaturedProduct { - /** - * The unique identifier for the product item. - */ - offerId?: string | null; - /** - * Required. X-coordinate of the product callout on the Shoppable Image. - */ - x?: number | null; - /** - * Required. Y-coordinate of the product callout on the Shoppable Image. - */ - y?: number | null; - } - /** - * The collectionstatus message. - */ - export interface Schema$CollectionStatus { - /** - * A list of all issues associated with the collection. - */ - collectionLevelIssuses?: Schema$CollectionStatusItemLevelIssue[]; - /** - * Date on which the collection has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z" - */ - creationDate?: string | null; - /** - * The intended destinations for the collection. - */ - destinationStatuses?: Schema$CollectionStatusDestinationStatus[]; - /** - * Required. The ID of the collection for which status is reported. - */ - id?: string | null; - /** - * Date on which the collection has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z" - */ - lastUpdateDate?: string | null; - } - /** - * Destination status message. - */ - export interface Schema$CollectionStatusDestinationStatus { - /** - * Country codes (ISO 3166-1 alpha-2) where the collection is approved. - */ - approvedCountries?: string[] | null; - /** - * The name of the destination - */ - destination?: string | null; - /** - * Country codes (ISO 3166-1 alpha-2) where the collection is disapproved. - */ - disapprovedCountries?: string[] | null; - /** - * Country codes (ISO 3166-1 alpha-2) where the collection is pending approval. - */ - pendingCountries?: string[] | null; - /** - * The status for the specified destination in the collections target country. - */ - status?: string | null; - } - /** - * Issue associated with the collection. - */ - export interface Schema$CollectionStatusItemLevelIssue { - /** - * Country codes (ISO 3166-1 alpha-2) where issue applies to the offer. - */ - applicableCountries?: string[] | null; - /** - * The attribute's name, if the issue is caused by a single attribute. - */ - attributeName?: string | null; - /** - * The error code of the issue. - */ - code?: string | null; - /** - * A short issue description in English. - */ - description?: string | null; - /** - * The destination the issue applies to. - */ - destination?: string | null; - /** - * A detailed issue description in English. - */ - detail?: string | null; - /** - * The URL of a web page to help with resolving this issue. - */ - documentation?: string | null; - /** - * Whether the issue can be resolved by the merchant. - */ - resolution?: string | null; - /** - * How this issue affects the serving of the collection. - */ - servability?: string | null; - } - /** - * Fields related to [competitive visibility reports] (https://support.google.com/merchants/answer/11366442). - */ - export interface Schema$CompetitiveVisibility { - /** - * [Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cadsfree-ratio) shows how often a merchant receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause. - */ - adsOrganicRatio?: number | null; - /** - * Change in visibility based on impressions with respect to the start of the selected time range (or first day with non-zero impressions) for a combined set of merchants with highest visibility approximating the market. Available only in `CompetitiveVisibilityBenchmarkView`. Cannot be filtered on in the 'WHERE' clause. - */ - categoryBenchmarkVisibilityTrend?: number | null; - /** - * Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A `WHERE` condition on `competitive_visibility.category_id` is required in the query. - */ - categoryId?: string | null; - /** - * The country where impression appeared. Required in the `SELECT` clause. A `WHERE` condition on `competitive_visibility.country_code` is required in the query. - */ - countryCode?: string | null; - /** - * Date of this row. Available only in `CompetitiveVisibilityBenchmarkView` and `CompetitiveVisibilityCompetitorView`. Required in the `SELECT` clause for `CompetitiveVisibilityMarketBenchmarkView`. - */ - date?: Schema$Date; - /** - * Domain of your competitor or your domain, if 'is_your_domain' is true. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Required in the `SELECT` clause for `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause. - */ - domain?: string | null; - /** - * Higher position rate shows how often a competitor’s offer got placed in a higher position on the page than your offer. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause. - */ - higherPositionRate?: number | null; - /** - * True if this row contains data for your domain. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause. - */ - isYourDomain?: boolean | null; - /** - * Page overlap rate describes how frequently competing retailers’ offers are shown together with your offers on the same page. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause. - */ - pageOverlapRate?: number | null; - /** - * Position of the domain in the top merchants ranking for the selected keys (`date`, `category_id`, `country_code`, `listing_type`) based on impressions. 1 is the highest. Available only in `CompetitiveVisibilityTopMerchantView` and `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause. - */ - rank?: string | null; - /** - * Relative visibility shows how often your competitors’ offers are shown compared to your offers. In other words, this is the number of displayed impressions of a competitor retailer divided by the number of your displayed impressions during a selected time range for a selected product category and country. Available only in `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE' clause. - */ - relativeVisibility?: number | null; - /** - * Type of impression listing. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause. - */ - trafficSource?: string | null; - /** - * Change in visibility based on impressions for your domain with respect to the start of the selected time range (or first day with non-zero impressions). Available only in `CompetitiveVisibilityBenchmarkView`. Cannot be filtered on in the 'WHERE' clause. - */ - yourDomainVisibilityTrend?: number | null; - } - /** - * Represents a conversion source owned by a Merchant account. A merchant account can have up to 200 conversion sources. - */ - export interface Schema$ConversionSource { - /** - * Output only. Generated by the Content API upon creation of a new `ConversionSource`. Format: [a-z]{4\}:.+ The four characters before the colon represent the type of conversio source. Content after the colon represents the ID of the conversion source within that type. The ID of two different conversion sources might be the same across different types. The following type prefixes are supported: - galk: For GoogleAnalyticsLink sources. - mcdn: For MerchantCenterDestination sources. - */ - conversionSourceId?: string | null; - /** - * Output only. The time when an archived conversion source becomes permanently deleted and is no longer available to undelete. - */ - expireTime?: string | null; - /** - * Immutable. Conversion Source of type "Link to Google Analytics Property". - */ - googleAnalyticsLink?: Schema$GoogleAnalyticsLink; - /** - * Conversion Source of type "Merchant Center Tag Destination". - */ - merchantCenterDestination?: Schema$MerchantCenterDestination; - /** - * Output only. Current state of this conversion source. Can't be edited through the API. - */ - state?: string | null; - } - /** - * Information about CSS domain. - */ - export interface Schema$Css { - /** - * Output only. Immutable. The CSS domain ID. - */ - cssDomainId?: string | null; - /** - * Output only. Immutable. The ID of the CSS group this CSS domain is affiliated with. Only populated for CSS group users. - */ - cssGroupId?: string | null; - /** - * Output only. Immutable. The CSS domain's display name, used when space is constrained. - */ - displayName?: string | null; - /** - * Output only. Immutable. The CSS domain's full name. - */ - fullName?: string | null; - /** - * Output only. Immutable. The CSS domain's homepage. - */ - homepageUri?: string | null; - /** - * A list of label IDs that are assigned to this CSS domain by its CSS group. Only populated for CSS group users. - */ - labelIds?: string[] | null; - } - /** - * A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per merchant, with total size of 102.4kB. - */ - export interface Schema$CustomAttribute { - /** - * Subattributes within this attribute group. Exactly one of value or groupValues must be provided. - */ - groupValues?: Schema$CustomAttribute[]; - /** - * The name of the attribute. Underscores will be replaced by spaces upon insertion. - */ - name?: string | null; - /** - * The value of the attribute. - */ - value?: string | null; - } - export interface Schema$CutoffTime { - /** - * Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required. - */ - hour?: number | null; - /** - * Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required. - */ - minute?: number | null; - /** - * Timezone identifier for the cutoff time (for example, "Europe/Zurich"). List of identifiers. Required. - */ - timezone?: string | null; - } - /** - * Datafeed configuration data. - */ - export interface Schema$Datafeed { - /** - * The two-letter ISO 639-1 language in which the attributes are defined in the data feed. - */ - attributeLanguage?: string | null; - /** - * Required. The type of data feed. For product inventory feeds, only feeds for local stores, not online stores, are supported. Acceptable values are: - "`local products`" - "`product inventory`" - "`products`" - */ - contentType?: string | null; - /** - * Fetch schedule for the feed file. - */ - fetchSchedule?: Schema$DatafeedFetchSchedule; - /** - * Required. The filename of the feed. All feeds must have a unique file name. - */ - fileName?: string | null; - /** - * Format of the feed file. - */ - format?: Schema$DatafeedFormat; - /** - * Required for update. The ID of the data feed. - */ - id?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#datafeed`" - */ - kind?: string | null; - /** - * Required for insert. A descriptive name of the data feed. - */ - name?: string | null; - /** - * The targets this feed should apply to (country, language, destinations). - */ - targets?: Schema$DatafeedTarget[]; - } - /** - * The required fields vary based on the frequency of fetching. For a monthly fetch schedule, day_of_month and hour are required. For a weekly fetch schedule, weekday and hour are required. For a daily fetch schedule, only hour is required. - */ - export interface Schema$DatafeedFetchSchedule { - /** - * The day of the month the feed file should be fetched (1-31). - */ - dayOfMonth?: number | null; - /** - * The URL where the feed file can be fetched. Google Merchant Center will support automatic scheduled uploads using the HTTP, HTTPS, FTP, or SFTP protocols, so the value will need to be a valid link using one of those four protocols. - */ - fetchUrl?: string | null; - /** - * The hour of the day the feed file should be fetched (0-23). - */ - hour?: number | null; - /** - * The minute of the hour the feed file should be fetched (0-59). Read-only. - */ - minuteOfHour?: number | null; - /** - * An optional password for fetch_url. - */ - password?: string | null; - /** - * Whether the scheduled fetch is paused or not. - */ - paused?: boolean | null; - /** - * Time zone used for schedule. UTC by default. For example, "America/Los_Angeles". - */ - timeZone?: string | null; - /** - * An optional user name for fetch_url. - */ - username?: string | null; - /** - * The day of the week the feed file should be fetched. Acceptable values are: - "`monday`" - "`tuesday`" - "`wednesday`" - "`thursday`" - "`friday`" - "`saturday`" - "`sunday`" - */ - weekday?: string | null; - } - export interface Schema$DatafeedFormat { - /** - * Delimiter for the separation of values in a delimiter-separated values feed. If not specified, the delimiter will be auto-detected. Ignored for non-DSV data feeds. Acceptable values are: - "`pipe`" - "`tab`" - "`tilde`" - */ - columnDelimiter?: string | null; - /** - * Character encoding scheme of the data feed. If not specified, the encoding will be auto-detected. Acceptable values are: - "`latin-1`" - "`utf-16be`" - "`utf-16le`" - "`utf-8`" - "`windows-1252`" - */ - fileEncoding?: string | null; - /** - * Specifies how double quotes are interpreted. If not specified, the mode will be auto-detected. Ignored for non-DSV data feeds. Acceptable values are: - "`normal character`" - "`value quoting`" - */ - quotingMode?: string | null; - } - export interface Schema$DatafeedsCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$DatafeedsCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch datafeeds request. - */ - export interface Schema$DatafeedsCustomBatchRequestEntry { - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * The data feed to insert. - */ - datafeed?: Schema$Datafeed; - /** - * The ID of the data feed to get, delete or fetch. - */ - datafeedId?: string | null; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`delete`" - "`fetchNow`" - "`get`" - "`insert`" - "`update`" - */ - method?: string | null; - } - export interface Schema$DatafeedsCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$DatafeedsCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#datafeedsCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch datafeeds response. - */ - export interface Schema$DatafeedsCustomBatchResponseEntry { - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * The requested data feed. Defined if and only if the request was successful. - */ - datafeed?: Schema$Datafeed; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - } - export interface Schema$DatafeedsFetchNowResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#datafeedsFetchNowResponse`". - */ - kind?: string | null; - } - export interface Schema$DatafeedsListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#datafeedsListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of datafeeds. - */ - nextPageToken?: string | null; - resources?: Schema$Datafeed[]; - } - /** - * The status of a datafeed, that is, the result of the last retrieval of the datafeed computed asynchronously when the feed processing is finished. - */ - export interface Schema$DatafeedStatus { - /** - * The country for which the status is reported, represented as a CLDR territory code. - */ - country?: string | null; - /** - * The ID of the feed for which the status is reported. - */ - datafeedId?: string | null; - /** - * The list of errors occurring in the feed. - */ - errors?: Schema$DatafeedStatusError[]; - /** - * The feed label status is reported for. - */ - feedLabel?: string | null; - /** - * The number of items in the feed that were processed. - */ - itemsTotal?: string | null; - /** - * The number of items in the feed that were valid. - */ - itemsValid?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#datafeedStatus`" - */ - kind?: string | null; - /** - * The two-letter ISO 639-1 language for which the status is reported. - */ - language?: string | null; - /** - * The last date at which the feed was uploaded. - */ - lastUploadDate?: string | null; - /** - * The processing status of the feed. Acceptable values are: - "`"`failure`": The feed could not be processed or all items had errors.`" - "`in progress`": The feed is being processed. - "`none`": The feed has not yet been processed. For example, a feed that has never been uploaded will have this processing status. - "`success`": The feed was processed successfully, though some items might have had errors. - */ - processingStatus?: string | null; - /** - * The list of errors occurring in the feed. - */ - warnings?: Schema$DatafeedStatusError[]; - } - /** - * An error occurring in the feed, like "invalid price". - */ - export interface Schema$DatafeedStatusError { - /** - * The code of the error, for example, "validation/invalid_value". - */ - code?: string | null; - /** - * The number of occurrences of the error in the feed. - */ - count?: string | null; - /** - * A list of example occurrences of the error, grouped by product. - */ - examples?: Schema$DatafeedStatusExample[]; - /** - * The error message, for example, "Invalid price". - */ - message?: string | null; - } - export interface Schema$DatafeedstatusesCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$DatafeedstatusesCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch datafeedstatuses request. - */ - export interface Schema$DatafeedstatusesCustomBatchRequestEntry { - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * Deprecated. Use `feedLabel` instead. The country to get the datafeed status for. If this parameter is provided, then `language` must also be provided. Note that for multi-target datafeeds this parameter is required. - */ - country?: string | null; - /** - * The ID of the data feed to get. - */ - datafeedId?: string | null; - /** - * The feed label to get the datafeed status for. If this parameter is provided, then `language` must also be provided. Note that for multi-target datafeeds this parameter is required. - */ - feedLabel?: string | null; - /** - * The language to get the datafeed status for. If this parameter is provided then `country` must also be provided. Note that for multi-target datafeeds this parameter is required. - */ - language?: string | null; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`get`" - */ - method?: string | null; - } - export interface Schema$DatafeedstatusesCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$DatafeedstatusesCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#datafeedstatusesCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch datafeedstatuses response. - */ - export interface Schema$DatafeedstatusesCustomBatchResponseEntry { - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * The requested data feed status. Defined if and only if the request was successful. - */ - datafeedStatus?: Schema$DatafeedStatus; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - } - export interface Schema$DatafeedstatusesListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#datafeedstatusesListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of datafeed statuses. - */ - nextPageToken?: string | null; - resources?: Schema$DatafeedStatus[]; - } - /** - * An example occurrence for a particular error. - */ - export interface Schema$DatafeedStatusExample { - /** - * The ID of the example item. - */ - itemId?: string | null; - /** - * Line number in the data feed where the example is found. - */ - lineNumber?: string | null; - /** - * The problematic value. - */ - value?: string | null; - } - export interface Schema$DatafeedTarget { - /** - * Deprecated. Use `feedLabel` instead. The country where the items in the feed will be included in the search index, represented as a CLDR territory code. - */ - country?: string | null; - /** - * The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted. - */ - excludedDestinations?: string[] | null; - /** - * Feed label for the DatafeedTarget. Either `country` or `feedLabel` is required. If both `feedLabel` and `country` is specified, the values must match. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). - */ - feedLabel?: string | null; - /** - * The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. - */ - includedDestinations?: string[] | null; - /** - * The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for `targets[].country`. - */ - language?: string | null; - /** - * The countries where the items may be displayed. Represented as a CLDR territory code. Will be ignored for "product inventory" feeds. - */ - targetCountries?: string[] | null; - } - /** - * 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 - */ - export interface Schema$Date { - /** - * 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. - */ - day?: number | null; - /** - * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. - */ - month?: number | null; - /** - * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. - */ - year?: number | null; - } - /** - * Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. - */ - export interface Schema$DateTime { - /** - * Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. - */ - day?: number | null; - /** - * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. - */ - hours?: number | null; - /** - * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. - */ - minutes?: number | null; - /** - * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. - */ - month?: number | null; - /** - * Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. - */ - nanos?: number | null; - /** - * Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. - */ - seconds?: number | null; - /** - * Time zone. - */ - timeZone?: Schema$TimeZone; - /** - * UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 \}. - */ - utcOffset?: string | null; - /** - * Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year. - */ - year?: number | null; - } - /** - * A delivery area for the product. Only one of `countryCode` or `postalCodeRange` must be set. - */ - export interface Schema$DeliveryArea { - /** - * Required. The country that the product can be delivered to. Submit a [unicode CLDR region](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) such as `US` or `CH`. - */ - countryCode?: string | null; - /** - * A postal code, postal code range or postal code prefix that defines this area. Limited to US and AUS. - */ - postalCodeRange?: Schema$DeliveryAreaPostalCodeRange; - /** - * A state, territory, or prefecture. This is supported for the United States, Australia, and Japan. Provide a subdivision code from the ISO 3166-2 code tables ([US](https://en.wikipedia.org/wiki/ISO_3166-2:US), [AU](https://en.wikipedia.org/wiki/ISO_3166-2:AU), or [JP](https://en.wikipedia.org/wiki/ISO_3166-2:JP)) without country prefix (for example, `"NY"`, `"NSW"`, `"03"`). - */ - regionCode?: string | null; - } - /** - * A range of postal codes that defines the delivery area. Only set `firstPostalCode` when specifying a single postal code. - */ - export interface Schema$DeliveryAreaPostalCodeRange { - /** - * Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: `"94108"`, `"9410*"`, `"9*"`. - */ - firstPostalCode?: string | null; - /** - * A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area (for example [070* - 078*] results in the range [07000 - 07899]). It must have the same length as `firstPostalCode`: if `firstPostalCode` is a postal code then `lastPostalCode` must be a postal code too; if firstPostalCode is a pattern then `lastPostalCode` must be a pattern with the same prefix length. Ignored if not set, then the area is defined as being all the postal codes matching `firstPostalCode`. - */ - lastPostalCode?: string | null; - } - export interface Schema$DeliveryTime { - /** - * Business days cutoff time definition. If not configured, the cutoff time will be defaulted to 8AM PST. If local delivery, use Service.StoreConfig.CutoffConfig. - */ - cutoffTime?: Schema$CutoffTime; - /** - * The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed. - */ - handlingBusinessDayConfig?: Schema$BusinessDayConfig; - /** - * Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping. - */ - holidayCutoffs?: Schema$HolidayCutoff[]; - /** - * Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to `minHandlingTimeInDays`. - */ - maxHandlingTimeInDays?: number | null; - /** - * 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`. - */ - maxTransitTimeInDays?: number | null; - /** - * Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. - */ - minHandlingTimeInDays?: number | null; - /** - * 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. - */ - minTransitTimeInDays?: number | null; - /** - * The business days during which orders can be in-transit. If not provided, Monday to Friday business days will be assumed. - */ - transitBusinessDayConfig?: Schema$BusinessDayConfig; - /** - * 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. - */ - transitTimeTable?: Schema$TransitTable; - /** - * 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. - */ - warehouseBasedDeliveryTimes?: Schema$WarehouseBasedDeliveryTime[]; - } - /** - * Distance represented by an integer and unit. - */ - export interface Schema$Distance { - /** - * The distance unit. Acceptable values are `None`, `Miles`, and `Kilometers`. - */ - unit?: string | null; - /** - * The distance represented as a number. - */ - value?: string | null; - } - /** - * Additional information required for E_COMMERCE_PLATFORM link type. - */ - export interface Schema$ECommercePlatformLinkInfo { - /** - * The id used by the third party service provider to identify the merchant. - */ - externalAccountId?: string | null; - } - /** - * An error returned by the API. - */ - export interface Schema$Error { - /** - * The domain of the error. - */ - domain?: string | null; - /** - * A description of the error. - */ - message?: string | null; - /** - * The error code. - */ - reason?: string | null; - } - /** - * A list of errors returned by a failed batch entry. - */ - export interface Schema$Errors { - /** - * The HTTP status of the first error in `errors`. - */ - code?: number | null; - /** - * A list of errors. - */ - errors?: Schema$Error[]; - /** - * The message of the first error in `errors`. - */ - message?: string | null; - } - /** - * Action that is implemented and performed outside of the third-party application. It should redirect the merchant to the provided URL of an external system where they can perform the action. For example to request a review in the Merchant Center. - */ - export interface Schema$ExternalAction { - /** - * The type of external action. - */ - type?: string | null; - /** - * URL to external system, for example Merchant Center, where the merchant can perform the action. - */ - uri?: string | null; - } - /** - * Response message for GetFreeListingsProgramStatus. - */ - export interface Schema$FreeListingsProgramStatus { - /** - * State of the program. `ENABLED` if there are offers for at least one region. - */ - globalState?: string | null; - /** - * Status of the program in each region. Regions with the same status and review eligibility are grouped together in `regionCodes`. - */ - regionStatuses?: Schema$FreeListingsProgramStatusRegionStatus[]; - } - /** - * Status of program and region. - */ - export interface Schema$FreeListingsProgramStatusRegionStatus { - /** - * Date by which eligibilityStatus will go from `WARNING` to `DISAPPROVED`. Only visible when your eligibilityStatus is WARNING. In [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DD`. - */ - disapprovalDate?: string | null; - /** - * Eligibility status of the standard free listing program. - */ - eligibilityStatus?: string | null; - /** - * Issues that must be fixed to be eligible for review. - */ - onboardingIssues?: string[] | null; - /** - * 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`. - */ - regionCodes?: string[] | null; - /** - * If a program is eligible for review in a specific region. Only visible if `eligibilityStatus` is `DISAPPROVED`. - */ - reviewEligibilityStatus?: string | null; - /** - * Review ineligibility reason if account is not eligible for review. - */ - reviewIneligibilityReason?: string | null; - /** - * Reason a program in a specific region isn’t eligible for review. Only visible if `reviewEligibilityStatus` is `INELIGIBLE`. - */ - reviewIneligibilityReasonDescription?: string | null; - /** - * Additional information for ineligibility. If `reviewIneligibilityReason` is `IN_COOLDOWN_PERIOD`, a timestamp for the end of the cooldown period is provided. - */ - reviewIneligibilityReasonDetails?: Schema$FreeListingsProgramStatusReviewIneligibilityReasonDetails; - /** - * Issues evaluated in the review process. Fix all issues before requesting a review. - */ - reviewIssues?: string[] | null; - } - /** - * Additional details for review ineligibility reasons. - */ - export interface Schema$FreeListingsProgramStatusReviewIneligibilityReasonDetails { - /** - * This timestamp represents end of cooldown period for review ineligbility reason `IN_COOLDOWN_PERIOD`. - */ - cooldownTime?: string | null; - } - /** - * Conditions to be met for a product to have free shipping. - */ - export interface Schema$FreeShippingThreshold { - /** - * Required. The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship. - */ - country?: string | null; - /** - * Required. The minimum product price for the shipping cost to become free. Represented as a number. - */ - priceThreshold?: Schema$Price; - } - /** - * Response containing generated recommendations. - */ - export interface Schema$GenerateRecommendationsResponse { - /** - * Recommendations generated for a request. - */ - recommendations?: Schema$Recommendation[]; - /** - * Output only. Response token is a string created for each `GenerateRecommendationsResponse`. This token doesn't expire, and is globally unique. This token must be used when reporting interactions for recommendations. - */ - responseToken?: string | null; - } - export interface Schema$GmbAccounts { - /** - * The ID of the Merchant Center account. - */ - accountId?: string | null; - /** - * A list of Business Profiles which are available to the merchant. - */ - gmbAccounts?: Schema$GmbAccountsGmbAccount[]; - } - export interface Schema$GmbAccountsGmbAccount { - /** - * The email which identifies the Business Profile. - */ - email?: string | null; - /** - * Number of listings under this account. - */ - listingCount?: string | null; - /** - * The name of the Business Profile. - */ - name?: string | null; - /** - * The type of the Business Profile (User or Business). - */ - type?: string | null; - } - /** - * "Google Analytics Link" sources can be used to get conversion data from an existing Google Analytics property into the linked Merchant Center account. - */ - export interface Schema$GoogleAnalyticsLink { - /** - * Output only. Attribution settings for the linked Google Analytics property. - */ - attributionSettings?: Schema$AttributionSettings; - /** - * Required. Immutable. ID of the Google Analytics property the merchant is linked to. - */ - propertyId?: string | null; - /** - * Output only. Name of the Google Analytics property the merchant is linked to. - */ - propertyName?: string | null; - } - /** - * A non-empty list of row or column headers for a table. Exactly one of `prices`, `weights`, `numItems`, `postalCodeGroupNames`, or `location` must be set. - */ - export interface Schema$Headers { - /** - * A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set. - */ - locations?: Schema$LocationIdSet[]; - /** - * A list of inclusive number of items upper bounds. The last value can be `"infinity"`. For example `["10", "50", "infinity"]` represents the headers "<= 10 items", "<= 50 items", and "\> 50 items". Must be non-empty. Can only be set if all other fields are not set. - */ - numberOfItems?: string[] | null; - /** - * A list of postal group names. The last value can be `"all other locations"`. Example: `["zone 1", "zone 2", "all other locations"]`. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set. - */ - postalCodeGroupNames?: string[] | null; - /** - * A list of inclusive order price upper bounds. The last price's value can be `"infinity"`. For example `[{"value": "10", "currency": "USD"\}, {"value": "500", "currency": "USD"\}, {"value": "infinity", "currency": "USD"\}]` represents the headers "<= $10", "<= $500", and "\> $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set. - */ - prices?: Schema$Price[]; - /** - * A list of inclusive order weight upper bounds. The last weight's value can be `"infinity"`. For example `[{"value": "10", "unit": "kg"\}, {"value": "50", "unit": "kg"\}, {"value": "infinity", "unit": "kg"\}]` represents the headers "<= 10kg", "<= 50kg", and "\> 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set. - */ - weights?: Schema$Weight[]; - } - export interface Schema$HolidayCutoff { - /** - * Date of the order deadline, in ISO 8601 format. For example, "2016-11-29" for 29th November 2016. Required. - */ - deadlineDate?: string | null; - /** - * Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required. - */ - deadlineHour?: number | null; - /** - * Timezone identifier for the deadline hour (for example, "Europe/Zurich"). List of identifiers. Required. - */ - deadlineTimezone?: string | null; - /** - * Unique identifier for the holiday. Required. - */ - holidayId?: string | null; - /** - * Date on which the deadline will become visible to consumers in ISO 8601 format. For example, "2016-10-31" for 31st October 2016. Required. - */ - visibleFromDate?: string | null; - } - export interface Schema$HolidaysHoliday { - /** - * 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. - */ - countryCode?: string | null; - /** - * Date of the holiday, in ISO 8601 format. For example, "2016-12-25" for Christmas 2016. Always present. - */ - date?: string | null; - /** - * 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. - */ - deliveryGuaranteeDate?: string | null; - /** - * Hour of the day in the delivery location's timezone on the guaranteed delivery date by which the order has to arrive at the customer's. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Always present. - */ - deliveryGuaranteeHour?: string | null; - /** - * Unique identifier for the holiday to be used when configuring holiday cutoffs. Always present. - */ - id?: string | null; - /** - * The holiday type. Always present. Acceptable values are: - "`Christmas`" - "`Easter`" - "`Father's Day`" - "`Halloween`" - "`Independence Day (USA)`" - "`Mother's Day`" - "`Thanksgiving`" - "`Valentine's Day`" - */ - type?: string | null; - } - /** - * Input field that needs to be available to the merchant. If the field is marked as required, then a value needs to be provided for a successful processing of the request. - */ - export interface Schema$InputField { - /** - * Input field to provide a boolean value. Corresponds to the [html input type=checkbox](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.checkbox.html#input.checkbox). - */ - checkboxInput?: Schema$InputFieldCheckboxInput; - /** - * Input field to select one of the offered choices. Corresponds to the [html input type=radio](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.radio.html#input.radio). - */ - choiceInput?: Schema$InputFieldChoiceInput; - /** - * Not for display but need to be sent back for the given input field. - */ - id?: string | null; - /** - * Input field label. There may be more information to be shown in a tooltip. - */ - label?: Schema$TextWithTooltip; - /** - * Whether the field is required. The action button needs to stay disabled till values for all required fields are provided. - */ - required?: boolean | null; - /** - * Input field to provide text information. Corresponds to the [html input type=text](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.text.html#input.text) or [html textarea](https://www.w3.org/TR/2012/WD-html-markup-20121025/textarea.html#textarea). - */ - textInput?: Schema$InputFieldTextInput; - } - /** - * Checkbox input allows merchants to provide a boolean value. Corresponds to the [html input type=checkbox](https://www.w3.org/TR/2012/WD-html-markup-20121025/input.checkbox.html#input.checkbox). If merchant checks the box, the input value for the field is `true`, otherwise it is `false`. This type of input is often used as a confirmation that the merchant completed required steps before they are allowed to start the action. In such a case, the input field is marked as required and the button to trigger the action should stay disabled until the merchant checks the box. - */ - export interface Schema$InputFieldCheckboxInput {} - /** - * Choice input allows merchants to select one of the offered choices. Some choices may be linked to additional input fields that should be displayed under or next to the choice option. The value for the additional input field needs to be provided only when the specific choice is selected by the merchant. For example, additional input field can be hidden or disabled until the merchant selects the specific choice. - */ - export interface Schema$InputFieldChoiceInput { - /** - * A list of choices. Only one option can be selected. - */ - options?: Schema$InputFieldChoiceInputChoiceInputOption[]; - } - /** - * A choice that merchant can select. - */ - export interface Schema$InputFieldChoiceInputChoiceInputOption { - /** - * Input that should be displayed when this option is selected. The additional input will not contain a `ChoiceInput`. - */ - additionalInput?: Schema$InputField; - /** - * Not for display but need to be sent back for the selected choice option. - */ - id?: string | null; - /** - * Short description of the choice option. There may be more information to be shown as a tooltip. - */ - label?: Schema$TextWithTooltip; - } - /** - * Text input allows merchants to provide a text value. - */ - export interface Schema$InputFieldTextInput { - /** - * Additional info regarding the field to be displayed to merchant. For example, warning to not include personal identifiable information. There may be more information to be shown in a tooltip. - */ - additionalInfo?: Schema$TextWithTooltip; - /** - * Text to be used as the [aria-label](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html) for the input. - */ - ariaLabel?: string | null; - /** - * Information about the required format. If present, it should be shown close to the input field to help merchants to provide a correct value. For example: "VAT numbers should be in a format similar to SK9999999999" - */ - formatInfo?: string | null; - /** - * Type of the text input - */ - type?: string | null; - } - /** - * Input provided by the merchant for input field. - */ - export interface Schema$InputValue { - /** - * Value for checkbox input field. - */ - checkboxInputValue?: Schema$InputValueCheckboxInputValue; - /** - * Value for choice input field. - */ - choiceInputValue?: Schema$InputValueChoiceInputValue; - /** - * Required. Id of the corresponding input field. - */ - inputFieldId?: string | null; - /** - * Value for text input field. - */ - textInputValue?: Schema$InputValueTextInputValue; - } - /** - * Value for checkbox input field. - */ - export interface Schema$InputValueCheckboxInputValue { - /** - * Required. True if the merchant checked the box field. False otherwise. - */ - value?: boolean | null; - } - /** - * Value for choice input field. - */ - export interface Schema$InputValueChoiceInputValue { - /** - * Required. Id of the option that was selected by the merchant. - */ - choiceInputOptionId?: string | null; - } - /** - * Value for text input field. - */ - export interface Schema$InputValueTextInputValue { - /** - * Required. Text provided by the merchant. - */ - value?: string | null; - } - /** - * Request message for the `InsertCheckoutSettings` method. - */ - export interface Schema$InsertCheckoutSettingsRequest { - /** - * Required. The `UrlSettings` for the request. The presence of URL settings indicates `Checkout` enrollment. - */ - uriSettings?: Schema$UrlSettings; - } - /** - * Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. - */ - export interface Schema$Installment { - /** - * The amount the buyer has to pay per month. - */ - amount?: Schema$Price; - /** - * Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`" - */ - creditType?: string | null; - /** - * Optional. The initial down payment amount the buyer has to pay. - */ - downpayment?: Schema$Price; - /** - * The number of installments the buyer has to pay. - */ - months?: string | null; - } - /** - * The IDs of labels that should be assigned to the CSS domain. - */ - export interface Schema$LabelIds { - /** - * The list of label IDs. - */ - labelIds?: string[] | null; - } - export interface Schema$LiaAboutPageSettings { - /** - * The status of the verification process for the About page. Supported values are: - "`active`" - "`inactive`" - "`pending`" - */ - status?: string | null; - /** - * The URL for the About page. - */ - url?: string | null; - } - export interface Schema$LiaCountrySettings { - /** - * The settings for the About page. - */ - about?: Schema$LiaAboutPageSettings; - /** - * Required. CLDR country code (for example, "US"). - */ - country?: string | null; - /** - * The status of the "Merchant hosted local storefront" feature. - */ - hostedLocalStorefrontActive?: boolean | null; - /** - * LIA inventory verification settings. - */ - inventory?: Schema$LiaInventorySettings; - /** - * The omnichannel experience configured for this country. - */ - omnichannelExperience?: Schema$LiaOmnichannelExperience; - /** - * LIA "On Display To Order" settings. - */ - onDisplayToOrder?: Schema$LiaOnDisplayToOrderSettings; - /** - * The POS data provider linked with this country. - */ - posDataProvider?: Schema$LiaPosDataProvider; - /** - * The status of the "Store pickup" feature. - */ - storePickupActive?: boolean | null; - } - export interface Schema$LiaInventorySettings { - /** - * The email of the contact for the inventory verification process. - */ - inventoryVerificationContactEmail?: string | null; - /** - * The name of the contact for the inventory verification process. - */ - inventoryVerificationContactName?: string | null; - /** - * The status of the verification contact. Acceptable values are: - "`active`" - "`inactive`" - "`pending`" - */ - inventoryVerificationContactStatus?: string | null; - /** - * The status of the inventory verification process. Acceptable values are: - "`active`" - "`inactive`" - "`pending`" - */ - status?: string | null; - } - /** - * Omnichannel experience details. - */ - export interface Schema$LiaOmnichannelExperience { - /** - * The CLDR country code (for example, "US"). - */ - country?: string | null; - /** - * The Local Store Front (LSF) type for this country. Acceptable values are: - "`ghlsf`" (Google-Hosted Local Store Front) - "`mhlsfBasic`" (Merchant-Hosted Local Store Front Basic) - "`mhlsfFull`" (Merchant-Hosted Local Store Front Full) More details about these types can be found here. - */ - lsfType?: string | null; - /** - * The Pickup types for this country. Acceptable values are: - "`pickupToday`" - "`pickupLater`" - */ - pickupTypes?: string[] | null; - } - export interface Schema$LiaOnDisplayToOrderSettings { - /** - * Shipping cost and policy URL. - */ - shippingCostPolicyUrl?: string | null; - /** - * The status of the ?On display to order? feature. Acceptable values are: - "`active`" - "`inactive`" - "`pending`" - */ - status?: string | null; - } - export interface Schema$LiaPosDataProvider { - /** - * The ID of the POS data provider. - */ - posDataProviderId?: string | null; - /** - * The account ID by which this merchant is known to the POS data provider. - */ - posExternalAccountId?: string | null; - } - /** - * Local Inventory ads (LIA) settings. All methods except listposdataproviders require the admin role. - */ - export interface Schema$LiaSettings { - /** - * The ID of the account to which these LIA settings belong. Ignored upon update, always present in get request responses. - */ - accountId?: string | null; - /** - * The LIA settings for each country. - */ - countrySettings?: Schema$LiaCountrySettings[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liaSettings`" - */ - kind?: string | null; - } - export interface Schema$LiasettingsCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$LiasettingsCustomBatchRequestEntry[]; - } - export interface Schema$LiasettingsCustomBatchRequestEntry { - /** - * The ID of the account for which to get/update account LIA settings. - */ - accountId?: string | null; - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * Inventory validation contact email. Required only for SetInventoryValidationContact. - */ - contactEmail?: string | null; - /** - * Inventory validation contact name. Required only for SetInventoryValidationContact. - */ - contactName?: string | null; - /** - * The country code. Required only for RequestInventoryVerification. - */ - country?: string | null; - /** - * The Business Profile. Required only for RequestGmbAccess. - */ - gmbEmail?: string | null; - /** - * The account Lia settings to update. Only defined if the method is `update`. - */ - liaSettings?: Schema$LiaSettings; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`get`" - "`getAccessibleGmbAccounts`" - "`requestGmbAccess`" - "`requestInventoryVerification`" - "`setInventoryVerificationContact`" - "`update`" - */ - method?: string | null; - /** - * The omnichannel experience for a country. Required only for SetOmnichannelExperience. - */ - omnichannelExperience?: Schema$LiaOmnichannelExperience; - /** - * The ID of POS data provider. Required only for SetPosProvider. - */ - posDataProviderId?: string | null; - /** - * The account ID by which this merchant is known to the POS provider. - */ - posExternalAccountId?: string | null; - } - export interface Schema$LiasettingsCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$LiasettingsCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsCustomBatchResponse`". - */ - kind?: string | null; - } - export interface Schema$LiasettingsCustomBatchResponseEntry { - /** - * The ID of the request entry to which this entry responds. - */ - batchId?: number | null; - /** - * A list of errors defined if, and only if, the request failed. - */ - errors?: Schema$Errors; - /** - * The list of accessible Business Profiles. - */ - gmbAccounts?: Schema$GmbAccounts; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsCustomBatchResponseEntry`" - */ - kind?: string | null; - /** - * The retrieved or updated Lia settings. - */ - liaSettings?: Schema$LiaSettings; - /** - * The updated omnichannel experience for a country. - */ - omnichannelExperience?: Schema$LiaOmnichannelExperience; - /** - * The list of POS data providers. - */ - posDataProviders?: Schema$PosDataProviders[]; - } - export interface Schema$LiasettingsGetAccessibleGmbAccountsResponse { - /** - * The ID of the Merchant Center account. - */ - accountId?: string | null; - /** - * A list of Business Profiles which are available to the merchant. - */ - gmbAccounts?: Schema$GmbAccountsGmbAccount[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsGetAccessibleGmbAccountsResponse`". - */ - kind?: string | null; - } - export interface Schema$LiasettingsListPosDataProvidersResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsListPosDataProvidersResponse`". - */ - kind?: string | null; - /** - * The list of POS data providers for each eligible country - */ - posDataProviders?: Schema$PosDataProviders[]; - } - export interface Schema$LiasettingsListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of LIA settings. - */ - nextPageToken?: string | null; - resources?: Schema$LiaSettings[]; - } - export interface Schema$LiasettingsRequestGmbAccessResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsRequestGmbAccessResponse`". - */ - kind?: string | null; - } - export interface Schema$LiasettingsRequestInventoryVerificationResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsRequestInventoryVerificationResponse`". - */ - kind?: string | null; - } - export interface Schema$LiasettingsSetInventoryVerificationContactResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsSetInventoryVerificationContactResponse`". - */ - kind?: string | null; - } - export interface Schema$LiasettingsSetPosDataProviderResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#liasettingsSetPosDataProviderResponse`". - */ - kind?: string | null; - } - export interface Schema$LinkedAccount { - /** - * The ID of the linked account. - */ - linkedAccountId?: string | null; - /** - * List of provided services. - */ - services?: Schema$LinkService[]; - } - export interface Schema$LinkService { - /** - * Service provided to or by the linked account. Acceptable values are: - "`shoppingActionsOrderManagement`" - "`shoppingActionsProductManagement`" - "`shoppingAdsProductManagement`" - "`paymentProcessing`" - */ - service?: string | null; - /** - * Status of the link Acceptable values are: - "`active`" - "`inactive`" - "`pending`" - */ - status?: string | null; - } - /** - * Response message for the `ListAccountLabels` method. - */ - export interface Schema$ListAccountLabelsResponse { - /** - * The labels from the specified account. - */ - accountLabels?: Schema$AccountLabel[]; - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - } - /** - * Response for listing account return carriers. - */ - export interface Schema$ListAccountReturnCarrierResponse { - /** - * List of all available account return carriers for the merchant. - */ - accountReturnCarriers?: Schema$AccountReturnCarrier[]; - } - /** - * Response message for the ListCollections method. - */ - export interface Schema$ListCollectionsResponse { - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - /** - * The collections listed. - */ - resources?: Schema$Collection[]; - } - /** - * Response message for the ListCollectionStatuses method. - */ - export interface Schema$ListCollectionStatusesResponse { - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - /** - * The collectionstatuses listed. - */ - resources?: Schema$CollectionStatus[]; - } - /** - * Response message for the ListConversionSources method. - */ - export interface Schema$ListConversionSourcesResponse { - /** - * List of conversion sources. - */ - conversionSources?: Schema$ConversionSource[]; - /** - * Token to be used to fetch the next results page. - */ - nextPageToken?: string | null; - } - /** - * The response message for the `ListCsses` method - */ - export interface Schema$ListCssesResponse { - /** - * The CSS domains affiliated with the specified CSS group. - */ - csses?: Schema$Css[]; - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - } - /** - * Response message for the ListMethodQuotas method. - */ - export interface Schema$ListMethodQuotasResponse { - /** - * The current quota usage and limits per each method. - */ - methodQuotas?: Schema$MethodQuota[]; - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - } - /** - * Response message for Promotions.List method. - */ - export interface Schema$ListPromotionResponse { - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - /** - * List of all available promotions for the merchant. - */ - promotions?: Schema$Promotion[]; - } - /** - * Response message for the `ListRegions` method. - */ - export interface Schema$ListRegionsResponse { - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - /** - * The regions from the specified merchant. - */ - regions?: Schema$Region[]; - } - /** - * Response message for the `ListReturnPolicyOnline` method. - */ - export interface Schema$ListReturnPolicyOnlineResponse { - /** - * The retrieved return policies. - */ - returnPolicies?: Schema$ReturnPolicyOnline[]; - } - /** - * Local inventory resource. For accepted attribute values, see the local product inventory feed specification. - */ - export interface Schema$LocalInventory { - /** - * The availability of the product. For accepted attribute values, see the local product inventory feed specification. - */ - availability?: string | null; - /** - * A list of custom (merchant-provided) attributes. Can also be used to submit any attribute of the feed specification in its generic form, for example, `{ "name": "size type", "value": "regular" \}`. - */ - customAttributes?: Schema$CustomAttribute[]; - /** - * The in-store product location. - */ - instoreProductLocation?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#localInventory`" - */ - kind?: string | null; - /** - * The 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. - */ - pickupMethod?: string | null; - /** - * The expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the local product inventory feed specification. - */ - pickupSla?: string | null; - /** - * The price of the product. - */ - price?: Schema$Price; - /** - * The quantity of the product. Must be nonnegative. - */ - quantity?: number | null; - /** - * The sale price of the product. Mandatory if `sale_price_effective_date` is defined. - */ - salePrice?: Schema$Price; - /** - * A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates may be specified as 'null' if undecided. - */ - salePriceEffectiveDate?: string | null; - /** - * Required. The store code of this local inventory resource. - */ - storeCode?: string | null; - } - export interface Schema$LocalinventoryCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$LocalinventoryCustomBatchRequestEntry[]; - } - /** - * Batch entry encoding a single local inventory update request. - */ - export interface Schema$LocalinventoryCustomBatchRequestEntry { - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * Local inventory of the product. - */ - localInventory?: Schema$LocalInventory; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * Method of the batch request entry. Acceptable values are: - "`insert`" - */ - method?: string | null; - /** - * The ID of the product for which to update local inventory. - */ - productId?: string | null; - } - export interface Schema$LocalinventoryCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$LocalinventoryCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#localinventoryCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * Batch entry encoding a single local inventory update response. - */ - export interface Schema$LocalinventoryCustomBatchResponseEntry { - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#localinventoryCustomBatchResponseEntry`" - */ - kind?: string | null; - } - export interface Schema$LocationIdSet { - /** - * A non-empty list of location IDs. They must all be of the same location type (for example, state). - */ - locationIds?: string[] | null; - } - /** - * Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 - */ - export interface Schema$LoyaltyProgram { - /** - * Optional. The cashback that can be used for future purchases. - */ - cashbackForFutureUse?: Schema$Price; - /** - * Optional. The amount of loyalty points earned on a purchase. - */ - loyaltyPoints?: string | null; - /** - * Optional. A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash. - */ - memberPriceEffectiveDate?: string | null; - /** - * Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price. - */ - price?: Schema$Price; - /** - * Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account. - */ - programLabel?: string | null; - /** - * Optional. The shipping label for the loyalty program. You can use this label to indicate whether this offer has the loyalty shipping benefit. If not specified, the item is not eligible for loyalty shipping for the given loyalty tier. - */ - shippingLabel?: string | null; - /** - * Required. The label of the tier within the loyalty program. Must match one of the labels within the program. - */ - tierLabel?: string | null; - } - /** - * "Merchant Center Destination" sources can be used to send conversion events from a website using a Google tag directly to a Merchant Center account where the source is created. - */ - export interface Schema$MerchantCenterDestination { - /** - * Required. Attribution settings being used for the Merchant Center Destination. - */ - attributionSettings?: Schema$AttributionSettings; - /** - * Required. Three-letter currency code (ISO 4217). The currency code defines in which currency the conversions sent to this destination will be reported in Merchant Center. - */ - currencyCode?: string | null; - /** - * Output only. Merchant Center Destination ID. - */ - destinationId?: string | null; - /** - * Required. Merchant-specified display name for the destination. This is the name that identifies the conversion source within the Merchant Center UI. Limited to 64 characters. - */ - displayName?: string | null; - } - /** - * The quota information per method in the Content API. - */ - export interface Schema$MethodQuota { - /** - * Output only. The method name, for example `products.list`. Method name does not contain version because quota can be shared between different API versions of the same method. - */ - method?: string | null; - /** - * Output only. The maximum number of calls allowed per day for the method. - */ - quotaLimit?: string | null; - /** - * Output only. The maximum number of calls allowed per minute for the method. - */ - quotaMinuteLimit?: string | null; - /** - * Output only. The current quota usage, meaning the number of calls already made to the method per day. Usage is reset every day at 12 PM midday UTC. - */ - quotaUsage?: string | null; - } - /** - * Performance metrics. Values are only set for metrics requested explicitly in the request's search query. - */ - export interface Schema$Metrics { - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Average order size - the average number of items in an order. **This metric cannot be segmented by product dimensions and customer_country_code.** - */ - aos?: number | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Average order value in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) - 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 and customer_country_code.** - */ - aovMicros?: number | null; - /** - * Number of clicks. - */ - clicks?: string | null; - /** - * Number of conversions divided by the number of clicks, reported on the impression date. The metric is currently available only for the `FREE_PRODUCT_LISTING` program. - */ - conversionRate?: number | null; - /** - * Number of conversions attributed to the product, reported on the conversion date. Depending on the attribution model, a conversion might be distributed across multiple clicks, where each click gets its own credit assigned. This metric is a sum of all such credits. The metric is currently available only for the `FREE_PRODUCT_LISTING` program. - */ - conversions?: number | null; - /** - * Value of conversions in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) attributed to the product, reported on the conversion date. The metric is currently available only for the `FREE_PRODUCT_LISTING` program. 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. - */ - conversionValueMicros?: string | null; - /** - * Click-through rate - the number of clicks merchant's products receive (clicks) divided by the number of times the products are shown (impressions). - */ - ctr?: number | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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 and customer_country_code.** - */ - daysToShip?: number | null; - /** - * Number of times merchant's products are shown. - */ - impressions?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Average number of days between an item being ordered and the item being **This metric cannot be segmented by customer_country_code.** - */ - itemDaysToShip?: number | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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. **This metric cannot be segmented by customer_country_code.** - */ - itemFillRate?: number | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of ordered items. Excludes customer cancellations that happened within 30 minutes of placing the order. **This metric cannot be segmented by customer_country_code.** - */ - orderedItems?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Total price of ordered items in micros (1 millionth of a standard unit, 1 USD = 1000000 micros). 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. **This metric cannot be segmented by customer_country_code.** - */ - orderedItemSalesMicros?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of placed orders. Excludes customer cancellations that happened within 30 minutes of placing the order. **This metric cannot be segmented by product dimensions and customer_country_code.** - */ - orders?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of ordered items canceled by the merchant, reported on the order date. **This metric cannot be segmented by customer_country_code.** - */ - rejectedItems?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of ordered items sent back for return, reported on the date when the merchant accepted the return. **This metric cannot be segmented by customer_country_code.** - */ - returnedItems?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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. **This metric cannot be segmented by customer_country_code.** - */ - returnRate?: number | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Total price of ordered items sent back for return in micros (1 millionth of a standard unit, 1 USD = 1000000 micros), 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. **This metric cannot be segmented by customer_country_code.** - */ - returnsMicros?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of shipped items, reported on the shipment date. **This metric cannot be segmented by customer_country_code.** - */ - shippedItems?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Total price of shipped items in micros (1 millionth of a standard unit, 1 USD = 1000000 micros), 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. **This metric cannot be segmented by customer_country_code.** - */ - shippedItemSalesMicros?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. Number of fully shipped orders, reported on the last shipment date. **This metric cannot be segmented by product dimensions and customer_country_code.** - */ - shippedOrders?: string | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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. **This metric cannot be segmented by customer_country_code.** - */ - unshippedItems?: number | null; - /** - * *Deprecated*: This field is no longer supported and retrieving it returns 0 starting from May 2024. 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 and customer_country_code.** - */ - unshippedOrders?: number | null; - } - export interface Schema$MinimumOrderValueTable { - storeCodeSetWithMovs?: Schema$MinimumOrderValueTableStoreCodeSetWithMov[]; - } - /** - * A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency. - */ - export interface Schema$MinimumOrderValueTableStoreCodeSetWithMov { - /** - * A list of unique store codes or empty for the catch all. - */ - storeCodes?: string[] | null; - /** - * The minimum order value for the given stores. - */ - value?: Schema$Price; - } - /** - * Represents a merchant trade from which signals are extracted, e.g. shipping. - */ - export interface Schema$OrderTrackingSignal { - /** - * The shipping fee of the order; this value should be set to zero in the case of free shipping. - */ - customerShippingFee?: Schema$PriceAmount; - /** - * 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. - */ - deliveryPostalCode?: string | null; - /** - * Required. The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping destination. - */ - deliveryRegionCode?: string | null; - /** - * Information about line items in the order. - */ - lineItems?: Schema$OrderTrackingSignalLineItemDetails[]; - /** - * The Google merchant ID of this order tracking signal. This value is optional. If left unset, the caller's merchant ID is used. You must request access in order to provide data on behalf of another merchant. For more information, see [Submitting Order Tracking Signals](/shopping-content/guides/order-tracking-signals). - */ - merchantId?: string | null; - /** - * Required. The time when the order was created on the merchant side. Include the year and timezone string, if available. - */ - orderCreatedTime?: Schema$DateTime; - /** - * Required. The ID of the order on the merchant side. This field will be hashed in returned OrderTrackingSignal creation response. - */ - orderId?: string | null; - /** - * Output only. The ID that uniquely identifies this order tracking signal. - */ - orderTrackingSignalId?: string | null; - /** - * The mapping of the line items to the shipment information. - */ - shipmentLineItemMapping?: Schema$OrderTrackingSignalShipmentLineItemMapping[]; - /** - * The shipping information for the order. - */ - shippingInfo?: Schema$OrderTrackingSignalShippingInfo[]; - } - /** - * The line items of the order. - */ - export interface Schema$OrderTrackingSignalLineItemDetails { - /** - * Brand of the product. - */ - brand?: string | null; - /** - * The Global Trade Item Number. - */ - gtin?: string | null; - /** - * Required. The ID for this line item. - */ - lineItemId?: string | null; - /** - * The manufacturer part number. - */ - mpn?: string | null; - /** - * Plain text description of this product (deprecated: Please use product_title instead). - */ - productDescription?: string | null; - /** - * Required. The Content API REST ID of the product, in the form channel:contentLanguage:targetCountry:offerId. - */ - productId?: string | null; - /** - * Plain text title of this product. - */ - productTitle?: string | null; - /** - * The quantity of the line item in the order. - */ - quantity?: string | null; - /** - * Merchant SKU for this item (deprecated). - */ - sku?: string | null; - /** - * Universal product code for this item (deprecated: Please use GTIN instead). - */ - upc?: string | null; - } - /** - * Represents how many items are in the shipment for the given shipment_id and line_item_id. - */ - export interface Schema$OrderTrackingSignalShipmentLineItemMapping { - /** - * Required. The line item ID. - */ - lineItemId?: string | null; - /** - * The line item quantity in the shipment. - */ - quantity?: string | null; - /** - * Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response. - */ - shipmentId?: string | null; - } - /** - * The shipping information for the order. - */ - export interface Schema$OrderTrackingSignalShippingInfo { - /** - * The time when the shipment was actually delivered. 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. - */ - actualDeliveryTime?: Schema$DateTime; - /** - * The name of the shipping carrier for the delivery. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time. - */ - carrierName?: string | null; - /** - * The service type for fulfillment, e.g., GROUND, FIRST_CLASS, etc. - */ - carrierServiceName?: string | null; - /** - * The earliest 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. - */ - earliestDeliveryPromiseTime?: Schema$DateTime; - /** - * 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. - */ - latestDeliveryPromiseTime?: Schema$DateTime; - /** - * 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. - */ - originPostalCode?: string | null; - /** - * The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping origin. - */ - originRegionCode?: string | null; - /** - * Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response. - */ - shipmentId?: string | null; - /** - * The time when the shipment was shipped. Include the year and timezone string, if available. - */ - shippedTime?: Schema$DateTime; - /** - * The status of the shipment. - */ - shippingStatus?: string | null; - /** - * The tracking ID of the shipment. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time. - */ - trackingId?: string | null; - } - /** - * Additional information required for PAYMENT_SERVICE_PROVIDER link type. - */ - export interface Schema$PaymentServiceProviderLinkInfo { - /** - * The business country of the merchant account as identified by the third party service provider. - */ - externalAccountBusinessCountry?: string | null; - /** - * The id used by the third party service provider to identify the merchant. - */ - externalAccountId?: string | null; - } - export interface Schema$PickupCarrierService { - /** - * The name of the pickup carrier (for example, `"UPS"`). Required. - */ - carrierName?: string | null; - /** - * The name of the pickup service (for example, `"Access point"`). Required. - */ - serviceName?: string | null; - } - export interface Schema$PickupServicesPickupService { - /** - * The name of the carrier (for example, `"UPS"`). Always present. - */ - carrierName?: string | null; - /** - * The CLDR country code of the carrier (for example, "US"). Always present. - */ - country?: string | null; - /** - * The name of the pickup service (for example, `"Access point"`). Always present. - */ - serviceName?: string | null; - } - export interface Schema$PosCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$PosCustomBatchRequestEntry[]; - } - export interface Schema$PosCustomBatchRequestEntry { - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * The inventory to submit. This should be set only if the method is `inventory`. - */ - inventory?: Schema$PosInventory; - /** - * The ID of the POS data provider. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`delete`" - "`get`" - "`insert`" - "`inventory`" - "`sale`" - */ - method?: string | null; - /** - * The sale information to submit. This should be set only if the method is `sale`. - */ - sale?: Schema$PosSale; - /** - * The store information to submit. This should be set only if the method is `insert`. - */ - store?: Schema$PosStore; - /** - * The store code. This should be set only if the method is `delete` or `get`. - */ - storeCode?: string | null; - /** - * The ID of the account for which to get/submit data. - */ - targetMerchantId?: string | null; - } - export interface Schema$PosCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$PosCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#posCustomBatchResponse`". - */ - kind?: string | null; - } - export interface Schema$PosCustomBatchResponseEntry { - /** - * The ID of the request entry to which this entry responds. - */ - batchId?: number | null; - /** - * A list of errors defined if, and only if, the request failed. - */ - errors?: Schema$Errors; - /** - * The updated inventory information. - */ - inventory?: Schema$PosInventory; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#posCustomBatchResponseEntry`" - */ - kind?: string | null; - /** - * The updated sale information. - */ - sale?: Schema$PosSale; - /** - * The retrieved or updated store information. - */ - store?: Schema$PosStore; - } - export interface Schema$PosDataProviders { - /** - * Country code. - */ - country?: string | null; - /** - * A list of POS data providers. - */ - posDataProviders?: Schema$PosDataProvidersPosDataProvider[]; - } - export interface Schema$PosDataProvidersPosDataProvider { - /** - * The display name of Pos data Provider. - */ - displayName?: string | null; - /** - * The full name of this POS data Provider. - */ - fullName?: string | null; - /** - * The ID of the account. - */ - providerId?: string | null; - } - /** - * The absolute quantity of an item available at the given store. - */ - export interface Schema$PosInventory { - /** - * Required. The two-letter ISO 639-1 language code for the item. - */ - contentLanguage?: string | null; - /** - * Global Trade Item Number. - */ - gtin?: string | null; - /** - * Required. A unique identifier for the item. - */ - itemId?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#posInventory`" - */ - kind?: string | null; - /** - * Optional. Supported pickup method for this offer. Unless the value is "not supported", this field must be submitted together with `pickupSla`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342). - */ - pickupMethod?: string | null; - /** - * Optional. Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342). - */ - pickupSla?: string | null; - /** - * Required. The current price of the item. - */ - price?: Schema$Price; - /** - * Required. The available quantity of the item. - */ - quantity?: string | null; - /** - * 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. - */ - storeCode?: string | null; - /** - * Required. The CLDR territory code for the item. - */ - targetCountry?: string | null; - /** - * Required. The inventory timestamp, in ISO 8601 format. - */ - timestamp?: string | null; - } - export interface Schema$PosInventoryRequest { - /** - * Required. The two-letter ISO 639-1 language code for the item. - */ - contentLanguage?: string | null; - /** - * Global Trade Item Number. - */ - gtin?: string | null; - /** - * Required. A unique identifier for the item. - */ - itemId?: string | null; - /** - * Optional. Supported pickup method for this offer. Unless the value is "not supported", this field must be submitted together with `pickupSla`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342). - */ - pickupMethod?: string | null; - /** - * Optional. Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342). - */ - pickupSla?: string | null; - /** - * Required. The current price of the item. - */ - price?: Schema$Price; - /** - * Required. The available quantity of the item. - */ - quantity?: string | null; - /** - * 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. - */ - storeCode?: string | null; - /** - * Required. The CLDR territory code for the item. - */ - targetCountry?: string | null; - /** - * Required. The inventory timestamp, in ISO 8601 format. - */ - timestamp?: string | null; - } - export interface Schema$PosInventoryResponse { - /** - * Required. The two-letter ISO 639-1 language code for the item. - */ - contentLanguage?: string | null; - /** - * Global Trade Item Number. - */ - gtin?: string | null; - /** - * Required. A unique identifier for the item. - */ - itemId?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#posInventoryResponse`". - */ - kind?: string | null; - /** - * Optional. Supported pickup method for this offer. Unless the value is "not supported", this field must be submitted together with `pickupSla`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342). - */ - pickupMethod?: string | null; - /** - * Optional. Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the [local product inventory feed specification](https://support.google.com/merchants/answer/3061342). - */ - pickupSla?: string | null; - /** - * Required. The current price of the item. - */ - price?: Schema$Price; - /** - * Required. The available quantity of the item. - */ - quantity?: string | null; - /** - * 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. - */ - storeCode?: string | null; - /** - * Required. The CLDR territory code for the item. - */ - targetCountry?: string | null; - /** - * Required. The inventory timestamp, in ISO 8601 format. - */ - timestamp?: string | null; - } - export interface Schema$PosListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#posListResponse`". - */ - kind?: string | null; - resources?: Schema$PosStore[]; - } - /** - * The change of the available quantity of an item at the given store. - */ - export interface Schema$PosSale { - /** - * Required. The two-letter ISO 639-1 language code for the item. - */ - contentLanguage?: string | null; - /** - * Global Trade Item Number. - */ - gtin?: string | null; - /** - * Required. A unique identifier for the item. - */ - itemId?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#posSale`" - */ - kind?: string | null; - /** - * Required. The price of the item. - */ - price?: Schema$Price; - /** - * Required. The relative change of the available quantity. Negative for items returned. - */ - quantity?: string | null; - /** - * A unique ID to group items from the same sale event. - */ - saleId?: string | null; - /** - * 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. - */ - storeCode?: string | null; - /** - * Required. The CLDR territory code for the item. - */ - targetCountry?: string | null; - /** - * Required. The inventory timestamp, in ISO 8601 format. - */ - timestamp?: string | null; - } - export interface Schema$PosSaleRequest { - /** - * Required. The two-letter ISO 639-1 language code for the item. - */ - contentLanguage?: string | null; - /** - * Global Trade Item Number. - */ - gtin?: string | null; - /** - * Required. A unique identifier for the item. - */ - itemId?: string | null; - /** - * Required. The price of the item. - */ - price?: Schema$Price; - /** - * Required. The relative change of the available quantity. Negative for items returned. - */ - quantity?: string | null; - /** - * A unique ID to group items from the same sale event. - */ - saleId?: string | null; - /** - * 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. - */ - storeCode?: string | null; - /** - * Required. The CLDR territory code for the item. - */ - targetCountry?: string | null; - /** - * Required. The inventory timestamp, in ISO 8601 format. - */ - timestamp?: string | null; - } - export interface Schema$PosSaleResponse { - /** - * Required. The two-letter ISO 639-1 language code for the item. - */ - contentLanguage?: string | null; - /** - * Global Trade Item Number. - */ - gtin?: string | null; - /** - * Required. A unique identifier for the item. - */ - itemId?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#posSaleResponse`". - */ - kind?: string | null; - /** - * Required. The price of the item. - */ - price?: Schema$Price; - /** - * Required. The relative change of the available quantity. Negative for items returned. - */ - quantity?: string | null; - /** - * A unique ID to group items from the same sale event. - */ - saleId?: string | null; - /** - * 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. - */ - storeCode?: string | null; - /** - * Required. The CLDR territory code for the item. - */ - targetCountry?: string | null; - /** - * Required. The inventory timestamp, in ISO 8601 format. - */ - timestamp?: string | null; - } - /** - * Store resource. - */ - export interface Schema$PosStore { - /** - * The business type of the store. - */ - gcidCategory?: string[] | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#posStore`" - */ - kind?: string | null; - /** - * Output only. The matching status of POS store and Google Business Profile store. Possible values are: - "`matched`": The POS store is successfully matched with the Google Business Profile store. - "`failed`": The POS store is not matched with the Google Business Profile store. See matching_status_hint for further details. Note that there is up to 48 hours propagation delay for changes in Merchant Center (e.g. creation of new account, accounts linking) and Google Business Profile (e.g. store address update) which may affect the matching status. In such cases, after a delay call [pos.list](https://developers.google.com/shopping-content/reference/rest/v2.1/pos/list) to retrieve the updated matching status. - */ - matchingStatus?: string | null; - /** - * Output only. The hint of why the matching has failed. This is only set when matching_status=failed. Possible values are: - "`linked-store-not-found`": There aren't any Google Business Profile stores available for matching. Connect your Merchant Center account with the Google Business Profile account. Or add a new Google Business Profile store corresponding to the POS store. - "`store-match-not-found`": The provided POS store couldn't be matched to any of the connected Google Business Profile stores. Merchant Center account is connected correctly and stores are available on Google Business Profile, but POS store location address does not match with Google Business Profile stores' addresses. Update POS store address or Google Business Profile store address to match correctly. - "`store-match-unverified`": The provided POS store couldn't be matched to any of the connected Google Business Profile stores, as the matched Google Business Profile store is unverified. Go through the Google Business Profile verification process to match correctly. - */ - matchingStatusHint?: string | null; - /** - * The store phone number. - */ - phoneNumber?: string | null; - /** - * The Google Place Id of the store location. - */ - placeId?: string | null; - /** - * Required. The street address of the store. - */ - storeAddress?: string | null; - /** - * Required. A store identifier that is unique for the given merchant. - */ - storeCode?: string | null; - /** - * The merchant or store name. - */ - storeName?: string | null; - /** - * The website url for the store or merchant. - */ - websiteUrl?: string | null; - } - export interface Schema$PostalCodeGroup { - /** - * The CLDR territory code of the country the postal code group applies to. Required. - */ - country?: string | null; - /** - * The name of the postal code group, referred to in headers. Required. - */ - name?: string | null; - /** - * A range of postal codes. Required. - */ - postalCodeRanges?: Schema$PostalCodeRange[]; - } - export interface Schema$PostalCodeRange { - /** - * A postal code or a pattern of the form `prefix*` denoting the inclusive lower bound of the range defining the area. Examples values: `"94108"`, `"9410*"`, `"9*"`. Required. - */ - postalCodeRangeBegin?: string | null; - /** - * A postal code or a pattern of the form `prefix*` denoting the inclusive upper bound of the range defining the area. It must have the same length as `postalCodeRangeBegin`: if `postalCodeRangeBegin` is a postal code then `postalCodeRangeEnd` must be a postal code too; if `postalCodeRangeBegin` is a pattern then `postalCodeRangeEnd` must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching `postalCodeRangeBegin`. - */ - postalCodeRangeEnd?: string | null; - } - export interface Schema$Price { - /** - * The currency of the price. - */ - currency?: string | null; - /** - * The price represented as a number. - */ - value?: string | null; - } - /** - * The price represented as a number and currency. - */ - export interface Schema$PriceAmount { - /** - * The currency of the price. - */ - currency?: string | null; - /** - * The price represented as a number. - */ - value?: string | null; - } - /** - * Price competitiveness fields requested by the merchant in the query. Field values are only set if the merchant queries `PriceCompetitivenessProductView`. https://support.google.com/merchants/answer/9626903 - */ - export interface Schema$PriceCompetitiveness { - /** - * The price benchmark currency (ISO 4217 code). - */ - benchmarkPriceCurrencyCode?: string | null; - /** - * The latest available price benchmark in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) for the product's catalog in the benchmark country. - */ - benchmarkPriceMicros?: string | null; - /** - * The country of the price benchmark (ISO 3166 code). - */ - countryCode?: string | null; - } - /** - * Price insights fields requested by the merchant in the query. Field values are only set if the merchant queries `PriceInsightsProductView`. https://support.google.com/merchants/answer/11916926 - */ - export interface Schema$PriceInsights { - /** - * The predicted effectiveness of applying the price suggestion, bucketed. - */ - effectiveness?: string | null; - /** - * The predicted change in clicks as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in clicks. - */ - predictedClicksChangeFraction?: number | null; - /** - * The predicted change in conversions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in conversions). - */ - predictedConversionsChangeFraction?: number | null; - /** - * *Deprecated*: This field is no longer supported and will start returning 0. The predicted change in gross profit as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in gross profit. - */ - predictedGrossProfitChangeFraction?: number | null; - /** - * The predicted change in impressions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in impressions. - */ - predictedImpressionsChangeFraction?: number | null; - /** - * *Deprecated*: This field is no longer supported and will start returning USD for all requests. The predicted monthly gross profit change currency (ISO 4217 code). - */ - predictedMonthlyGrossProfitChangeCurrencyCode?: string | null; - /** - * *Deprecated*: This field is no longer supported and will start returning 0. The predicted change in gross profit in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) after introducing the suggested price for a month compared to current active price. - */ - predictedMonthlyGrossProfitChangeMicros?: string | null; - /** - * The suggested price currency (ISO 4217 code). - */ - suggestedPriceCurrencyCode?: string | null; - /** - * The latest suggested price in micros (1 millionth of a standard unit, 1 USD = 1000000 micros) for the product. - */ - suggestedPriceMicros?: string | null; - } - /** - * Required product attributes are primarily defined by the product data specification. See the Product 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. The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style. - */ - export interface Schema$Product { - /** - * Additional URLs of images of the item. - */ - additionalImageLinks?: string[] | null; - /** - * Additional cut of the item. Used together with size_type to represent combined size types for apparel items. - */ - additionalSizeType?: string | null; - /** - * Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise. - */ - adsGrouping?: string | null; - /** - * Similar to ads_grouping, but only works on CPC. - */ - adsLabels?: string[] | null; - /** - * Allows advertisers to override the item URL when the product is shown within the context of Product Ads. - */ - adsRedirect?: string | null; - /** - * Should be set to true if the item is targeted towards adults. - */ - adult?: boolean | null; - /** - * Target age group of the item. - */ - ageGroup?: string | null; - /** - * A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability. - */ - autoPricingMinPrice?: Schema$Price; - /** - * Availability status of the item. - */ - availability?: string | null; - /** - * The day a pre-ordered product becomes available for delivery, in ISO 8601 format. - */ - availabilityDate?: string | null; - /** - * Brand of the item. - */ - brand?: string | null; - /** - * URL for the canonical version of your item's landing page. - */ - canonicalLink?: string | null; - /** - * Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. - */ - certifications?: Schema$ProductCertification[]; - /** - * Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`" - */ - channel?: string | null; - /** - * Extra fields to export to the Cloud Retail program. - */ - cloudExportAdditionalProperties?: Schema$CloudExportAdditionalProperties[]; - /** - * Color of the item. - */ - color?: string | null; - /** - * Condition or state of the item. - */ - condition?: string | null; - /** - * Required. The two-letter ISO 639-1 language code for the item. - */ - contentLanguage?: string | null; - /** - * Cost of goods sold. Used for gross profit reporting. - */ - costOfGoodsSold?: Schema$Price; - /** - * 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). - */ - customAttributes?: Schema$CustomAttribute[]; - /** - * Custom label 0 for custom grouping of items in a Shopping campaign. - */ - customLabel0?: string | null; - /** - * Custom label 1 for custom grouping of items in a Shopping campaign. - */ - customLabel1?: string | null; - /** - * Custom label 2 for custom grouping of items in a Shopping campaign. - */ - customLabel2?: string | null; - /** - * Custom label 3 for custom grouping of items in a Shopping campaign. - */ - customLabel3?: string | null; - /** - * Custom label 4 for custom grouping of items in a Shopping campaign. - */ - customLabel4?: string | null; - /** - * Description of the item. - */ - description?: string | null; - /** - * The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information. - */ - disclosureDate?: string | null; - /** - * An identifier for an item for dynamic remarketing campaigns. - */ - displayAdsId?: string | null; - /** - * URL directly to your item's landing page for dynamic remarketing campaigns. - */ - displayAdsLink?: string | null; - /** - * Advertiser-specified recommendations. - */ - displayAdsSimilarIds?: string[] | null; - /** - * Title of an item for dynamic remarketing campaigns. - */ - displayAdsTitle?: string | null; - /** - * Offer margin for dynamic remarketing campaigns. - */ - displayAdsValue?: number | null; - /** - * The energy efficiency class as defined in EU directive 2010/30/EU. - */ - energyEfficiencyClass?: string | null; - /** - * The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted. - */ - excludedDestinations?: string[] | null; - /** - * Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` and might be earlier if `expirationDate` is too far in the future. - */ - expirationDate?: string | null; - /** - * Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account. - */ - externalSellerId?: string | null; - /** - * Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). - */ - feedLabel?: string | null; - /** - * Optional. Conditions to be met for a product to have free shipping. - */ - freeShippingThreshold?: Schema$FreeShippingThreshold[]; - /** - * Target gender of the item. - */ - gender?: string | null; - /** - * Google's category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API. - */ - googleProductCategory?: string | null; - /** - * Global Trade Item Number (GTIN) of the item. - */ - gtin?: string | null; - /** - * The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId. - */ - id?: string | null; - /** - * False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada. - */ - identifierExists?: boolean | null; - /** - * URL of an image of the item. - */ - imageLink?: string | null; - /** - * The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. - */ - includedDestinations?: string[] | null; - /** - * Number and amount of installments to pay for an item. - */ - installment?: Schema$Installment; - /** - * Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price. - */ - isBundle?: boolean | null; - /** - * Shared identifier for all variants of the same product. - */ - itemGroupId?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#product`" - */ - kind?: string | null; - /** - * Additional URLs of lifestyle images of the item. Used to explicitly identify images that showcase your item in a real-world context. See the Help Center article for more information. - */ - lifestyleImageLinks?: string[] | null; - /** - * URL directly linking to your item's page on your website. - */ - link?: string | null; - /** - * URL template for merchant hosted local storefront. - */ - linkTemplate?: string | null; - /** - * Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below. - */ - loyaltyProgram?: Schema$LoyaltyProgram; - /** - * Optional. A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item. - */ - loyaltyPrograms?: Schema$LoyaltyProgram[]; - /** - * The material of which the item is made. - */ - material?: string | null; - /** - * The energy efficiency class as defined in EU directive 2010/30/EU. - */ - maxEnergyEfficiencyClass?: string | null; - /** - * Maximal product handling time (in business days). - */ - maxHandlingTime?: string | null; - /** - * Maximum retail price (MRP) of the item. Applicable to India only. - */ - maximumRetailPrice?: Schema$Price; - /** - * The energy efficiency class as defined in EU directive 2010/30/EU. - */ - minEnergyEfficiencyClass?: string | null; - /** - * Minimal product handling time (in business days). - */ - minHandlingTime?: string | null; - /** - * URL for the mobile-optimized version of your item's landing page. - */ - mobileLink?: string | null; - /** - * URL template for merchant hosted local storefront optimized for mobile devices. - */ - mobileLinkTemplate?: string | null; - /** - * Manufacturer Part Number (MPN) of the item. - */ - mpn?: string | null; - /** - * The number of identical products in a merchant-defined multipack. - */ - multipack?: string | null; - /** - * Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier. - */ - offerId?: string | null; - /** - * The item's pattern (for example, polka dots). - */ - pattern?: string | null; - /** - * Publication of this item should be temporarily paused. Acceptable values are: - "`ads`" - */ - pause?: string | null; - /** - * The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`" - */ - pickupMethod?: string | null; - /** - * 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`" - */ - pickupSla?: string | null; - /** - * Price of the item. - */ - price?: Schema$Price; - /** - * Technical specification or additional product details. - */ - productDetails?: Schema$ProductProductDetail[]; - /** - * The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). - */ - productHeight?: Schema$ProductDimension; - /** - * Bullet points describing the most relevant highlights of a product. - */ - productHighlights?: string[] | null; - /** - * The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). - */ - productLength?: Schema$ProductDimension; - /** - * Categories of the item (formatted as in product data specification). - */ - productTypes?: string[] | null; - /** - * The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive). - */ - productWeight?: Schema$ProductWeight; - /** - * The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). - */ - productWidth?: Schema$ProductDimension; - /** - * The unique ID of a promotion. - */ - promotionIds?: string[] | null; - /** - * Advertised sale price of the item. - */ - salePrice?: Schema$Price; - /** - * Date range during which the item is on sale (see product data specification ). - */ - salePriceEffectiveDate?: string | null; - /** - * The quantity of the product that is available for selling on Google. Supported only for online products. - */ - sellOnGoogleQuantity?: string | null; - /** - * Shipping rules. - */ - shipping?: Schema$ProductShipping[]; - /** - * Height of the item for shipping. - */ - shippingHeight?: Schema$ProductShippingDimension; - /** - * The shipping label of the product, used to group product in account-level shipping rules. - */ - shippingLabel?: string | null; - /** - * Length of the item for shipping. - */ - shippingLength?: Schema$ProductShippingDimension; - /** - * Weight of the item for shipping. - */ - shippingWeight?: Schema$ProductShippingWeight; - /** - * Width of the item for shipping. - */ - shippingWidth?: Schema$ProductShippingDimension; - /** - * List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings. - */ - shoppingAdsExcludedCountries?: string[] | null; - /** - * Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value (see size definition). - */ - sizes?: string[] | null; - /** - * System in which the size is specified. Recommended for apparel items. - */ - sizeSystem?: string | null; - /** - * The cut of the item. Recommended for apparel items. - */ - sizeType?: string | null; - /** - * Output only. The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`" - */ - source?: string | null; - /** - * Structured description, for algorithmically (AI)-generated descriptions. - */ - structuredDescription?: Schema$ProductStructuredDescription; - /** - * Structured title, for algorithmically (AI)-generated titles. - */ - structuredTitle?: Schema$ProductStructuredTitle; - /** - * Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract. - */ - subscriptionCost?: Schema$ProductSubscriptionCost; - /** - * Optional. The list of sustainability incentive programs. - */ - sustainabilityIncentives?: Schema$ProductSustainabilityIncentive[]; - /** - * Required. The CLDR territory code for the item's country of sale. - */ - targetCountry?: string | null; - /** - * The tax category of the product, used to configure detailed tax nexus in account-level tax settings. - */ - taxCategory?: string | null; - /** - * Tax information. - */ - taxes?: Schema$ProductTax[]; - /** - * Title of the item. - */ - title?: string | null; - /** - * The transit time label of the product, used to group product in account-level transit time tables. - */ - transitTimeLabel?: string | null; - /** - * The preference of the denominator of the unit price. - */ - unitPricingBaseMeasure?: Schema$ProductUnitPricingBaseMeasure; - /** - * The measure and dimension of an item. - */ - unitPricingMeasure?: Schema$ProductUnitPricingMeasure; - /** - * URL of the 3D model of the item to provide more visuals. - */ - virtualModelLink?: string | null; - } - /** - * Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. - */ - export interface Schema$ProductCertification { - /** - * The certification authority, for example "European_Commission". Maximum length is 2000 characters. - */ - certificationAuthority?: string | null; - /** - * The certification code, for eaxample "123456". Maximum length is 2000 characters. - */ - certificationCode?: string | null; - /** - * The name of the certification, for example "EPREL". Maximum length is 2000 characters. - */ - certificationName?: string | null; - /** - * The certification value (also known as class, level or grade), for example "A+", "C", "gold". Maximum length is 2000 characters. - */ - certificationValue?: string | null; - } - /** - * Product cluster fields. A product cluster is a grouping for different offers that represent the same product. Values are only set for fields requested explicitly in the request's search query. - */ - export interface Schema$ProductCluster { - /** - * Brand of the product cluster. - */ - brand?: string | null; - /** - * Tells if there is at least one product of the brand currently `IN_STOCK` in your product feed across multiple countries, all products are `OUT_OF_STOCK` in your product feed, or `NOT_IN_INVENTORY`. The field doesn't take the Best Sellers report country filter into account. - */ - brandInventoryStatus?: string | null; - /** - * Product category (1st level) of the product cluster, represented in Google's product taxonomy. - */ - categoryL1?: string | null; - /** - * Product category (2nd level) of the product cluster, represented in Google's product taxonomy. - */ - categoryL2?: string | null; - /** - * Product category (3rd level) of the product cluster, represented in Google's product taxonomy. - */ - categoryL3?: string | null; - /** - * Product category (4th level) of the product cluster, represented in Google's product taxonomy. - */ - categoryL4?: string | null; - /** - * Product category (5th level) of the product cluster, represented in Google's product taxonomy. - */ - categoryL5?: string | null; - /** - * Tells whether the product cluster is `IN_STOCK` in your product feed across multiple countries, `OUT_OF_STOCK` in your product feed, or `NOT_IN_INVENTORY` at all. The field doesn't take the Best Sellers report country filter into account. - */ - inventoryStatus?: string | null; - /** - * Title of the product cluster. - */ - title?: string | null; - /** - * GTINs of example variants of the product cluster. - */ - variantGtins?: string[] | null; - } - /** - * The estimated days to deliver a product after an order is placed. Only authorized shipping signals partners working with a merchant can use this resource. Merchants should use the [`products`](https://developers.google.com/shopping-content/reference/rest/v2.1/products#productshipping) resource instead. - */ - export interface Schema$ProductDeliveryTime { - /** - * Required. A set of associations between `DeliveryArea` and `DeliveryTime` entries. The total number of `areaDeliveryTimes` can be at most 100. - */ - areaDeliveryTimes?: Schema$ProductDeliveryTimeAreaDeliveryTime[]; - /** - * Required. The `id` of the product. - */ - productId?: Schema$ProductId; - } - /** - * A pairing of `DeliveryArea` associated with a `DeliveryTime` for this product. - */ - export interface Schema$ProductDeliveryTimeAreaDeliveryTime { - /** - * Required. The delivery area associated with `deliveryTime` for this product. - */ - deliveryArea?: Schema$DeliveryArea; - /** - * Required. The delivery time associated with `deliveryArea` for this product. - */ - deliveryTime?: Schema$ProductDeliveryTimeAreaDeliveryTimeDeliveryTime; - } - /** - * A delivery time for this product. - */ - export interface Schema$ProductDeliveryTimeAreaDeliveryTimeDeliveryTime { - /** - * Required. The maximum number of business days (inclusive) between when an order is placed and when the product ships. If a product ships in the same day, set this value to 0. - */ - maxHandlingTimeDays?: number | null; - /** - * Required. The maximum number of business days (inclusive) between when the product ships and when the product is delivered. - */ - maxTransitTimeDays?: number | null; - /** - * Required. The minimum number of business days (inclusive) between when an order is placed and when the product ships. If a product ships in the same day, set this value to 0. - */ - minHandlingTimeDays?: number | null; - /** - * Required. The minimum number of business days (inclusive) between when the product ships and when the product is delivered. - */ - minTransitTimeDays?: number | null; - } - export interface Schema$ProductDimension { - /** - * Required. The length units. Acceptable values are: - "`in`" - "`cm`" - */ - unit?: string | null; - /** - * Required. The length value represented as a number. The value can have a maximum precision of four decimal places. - */ - value?: number | null; - } - /** - * The Content API ID of the product. - */ - export interface Schema$ProductId { - /** - * The Content API ID of the product, in the form `channel:contentLanguage:targetCountry:offerId`. - */ - productId?: string | null; - } - /** - * An issue affecting specific product. - */ - export interface Schema$ProductIssue { - /** - * A list of actionable steps that can be executed to solve the issue. An example is requesting a re-review or providing arguments when merchant disagrees with the issue. Actions that are supported in (your) third-party application can be rendered as buttons and should be available to merchant when they expand the issue. - */ - actions?: Schema$Action[]; - /** - * Clarifies the severity of the issue. The summarizing message, if present, should be shown right under the title for each issue. It helps merchants to quickly understand the impact of the issue. The detailed breakdown helps the merchant to fully understand the impact of the issue. It can be rendered as dialog that opens when the merchant mouse over the summarized impact statement. Issues with different severity can be styled differently. They may use a different color or icon to signal the difference between `ERROR`, `WARNING` and `INFO`. - */ - impact?: Schema$ProductIssueImpact; - /** - * Details of the issue as a pre-rendered HTML. HTML elements contain CSS classes that can be used to customize the style of the content. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `issue-detail` - top level container for the detail of the issue * `callout-banners` - section of the `issue-detail` with callout banners * `callout-banner` - single callout banner, inside `callout-banners` * `callout-banner-info` - callout with important information (default) * `callout-banner-warning` - callout with a warning * `callout-banner-error` - callout informing about an error (most severe) * `issue-content` - section of the `issue-detail`, contains multiple `content-element` * `content-element` - content element such as a list, link or paragraph, inside `issue-content` * `root-causes` - unordered list with items describing root causes of the issue, inside `issue-content` * `root-causes-intro` - intro text before the `root-causes` list, inside `issue-content` * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. * `content-moderation` - marks the paragraph that explains how the issue was identified. * `list-intro` - marks the paragraph that contains an intro for a list. This paragraph will be always followed by a list. * `new-element` - Present for new elements added to the pre-rendered content in the future. To make sure that a new content element does not break your style, you can hide everything with this class. - */ - prerenderedContent?: string | null; - /** - * Pre-rendered HTML that contains a link to the external location where the ODS can be requested and instructions for how to request it. HTML elements contain CSS classes that can be used to customize the style of this snippet. Always sanitize the HTML before embedding it directly to your application. The sanitizer needs to allow basic HTML tags, such as: `div`, `span`, `p`, `a`, `ul`, `li`, `table`, `tr`, `td`. For example, you can use [DOMPurify](https://www.npmjs.com/package/dompurify). CSS classes: * `ods-section`* - wrapper around the out-of-court dispute resolution section * `ods-description`* - intro text for the out-of-court dispute resolution. It may contain multiple segments and a link. * `ods-param`* - wrapper around the header-value pair for parameters that merchant may need to provide during the ODS process. * `ods-routing-id`* - ods param for the Routing ID. * `ods-reference-id`* - ods param for the Routing ID. * `ods-param-header`* - header for the ODS parameter * `ods-param-value`* - value of the ODS parameter. This value should be rendered in a way that it is easy for merchants to identify and copy. * `segment` - section of the text, `span` inside paragraph * `segment-attribute` - section of the text that represents a product attribute, for example 'image\_link' * `segment-literal` - section of the text that contains a special value, for example '0-1000 kg' * `segment-bold` - section of the text that should be rendered as bold * `segment-italic` - section of the text that should be rendered as italic * `tooltip` - used on paragraphs that should be rendered with a tooltip. A section of the text in such a paragraph will have a class `tooltip-text` and is intended to be shown in a mouse over dialog. If the style is not used, the `tooltip-text` section would be shown on a new line, after the main part of the text. * `tooltip-text` - marks a section of the text within a `tooltip`, that is intended to be shown in a mouse over dialog. * `tooltip-icon` - marks a section of the text within a `tooltip`, that can be replaced with a tooltip icon, for example '?' or 'i'. By default, this section contains a `br` tag, that is separating the main text and the tooltip text when the style is not used. * `tooltip-style-question` - the tooltip shows helpful information, can use the '?' as an icon. * `tooltip-style-info` - the tooltip adds additional information fitting to the context, can use the 'i' as an icon. - */ - prerenderedOutOfCourtDisputeSettlement?: string | null; - /** - * Title of the issue. - */ - title?: string | null; - } - /** - * Overall impact of product issue. - */ - export interface Schema$ProductIssueImpact { - /** - * Detailed impact breakdown. Explains the types of restriction the issue has in different shopping destinations and territory. If present, it should be rendered to the merchant. Can be shown as a mouse over dropdown or a dialog. Each breakdown item represents a group of regions with the same impact details. - */ - breakdowns?: Schema$Breakdown[]; - /** - * Optional. Message summarizing the overall impact of the issue. If present, it should be rendered to the merchant. For example: "Limits visibility in France" - */ - message?: string | null; - /** - * The severity of the issue. - */ - severity?: string | null; - } - export interface Schema$ProductProductDetail { - /** - * The name of the product detail. - */ - attributeName?: string | null; - /** - * The value of the product detail. - */ - attributeValue?: string | null; - /** - * The section header used to group a set of product details. - */ - sectionName?: string | null; - } - export interface Schema$ProductsCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$ProductsCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch products request. - */ - export interface Schema$ProductsCustomBatchRequestEntry { - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * The Content API Supplemental Feed ID. If present then product insertion or deletion applies to a supplemental feed instead of primary Content API feed. - */ - feedId?: string | null; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`delete`" - "`get`" - "`insert`" - "`update`" - */ - method?: string | null; - /** - * 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. - */ - product?: Schema$Product; - /** - * The ID of the product to get or mutate. Only defined if the method is `get`, `delete`, or `update`. - */ - productId?: string | null; - /** - * 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. *You must specify the update mask to delete attributes.* 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`. - */ - updateMask?: string | null; - } - export interface Schema$ProductsCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$ProductsCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#productsCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch products response. - */ - export interface Schema$ProductsCustomBatchResponseEntry { - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#productsCustomBatchResponseEntry`" - */ - kind?: string | null; - /** - * The inserted product. Only defined if the method is `insert` and if the request was successful. - */ - product?: Schema$Product; - } - export interface Schema$ProductShipping { - /** - * The CLDR territory code of the country to which an item will ship. - */ - country?: string | null; - /** - * The location where the shipping is applicable, represented by a location group name. - */ - locationGroupName?: string | null; - /** - * The numeric ID of a location that the shipping rate applies to as defined in the Google Ads API. - */ - locationId?: string | null; - /** - * 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. - */ - maxHandlingTime?: string | null; - /** - * 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. - */ - maxTransitTime?: string | null; - /** - * 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. - */ - minHandlingTime?: string | null; - /** - * 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. - */ - minTransitTime?: string | null; - /** - * 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. - */ - postalCode?: string | null; - /** - * Fixed shipping price, represented as a number. - */ - price?: Schema$Price; - /** - * The geographic region to which a shipping rate applies. - */ - region?: string | null; - /** - * A free-form description of the service class or delivery speed. - */ - service?: string | null; - } - export interface Schema$ProductShippingDimension { - /** - * The unit of value. - */ - unit?: string | null; - /** - * The dimension of the product used to calculate the shipping cost of the item. - */ - value?: number | null; - } - export interface Schema$ProductShippingWeight { - /** - * The unit of value. - */ - unit?: string | null; - /** - * The weight of the product used to calculate the shipping cost of the item. - */ - value?: number | null; - } - export interface Schema$ProductsListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#productsListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of products. - */ - nextPageToken?: string | null; - resources?: Schema$Product[]; - } - /** - * The status of a product, that is, information about a product computed asynchronously. - */ - export interface Schema$ProductStatus { - /** - * Date on which the item has been created, in ISO 8601 format. - */ - creationDate?: string | null; - /** - * The intended destinations for the product. - */ - destinationStatuses?: Schema$ProductStatusDestinationStatus[]; - /** - * Date on which the item expires in Google Shopping, in ISO 8601 format. - */ - googleExpirationDate?: string | null; - /** - * A list of all issues associated with the product. - */ - itemLevelIssues?: Schema$ProductStatusItemLevelIssue[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#productStatus`" - */ - kind?: string | null; - /** - * Date on which the item has been last updated, in ISO 8601 format. - */ - lastUpdateDate?: string | null; - /** - * The link to the product. - */ - link?: string | null; - /** - * The ID of the product for which status is reported. - */ - productId?: string | null; - /** - * The title of the product. - */ - title?: string | null; - } - export interface Schema$ProductStatusDestinationStatus { - /** - * List of country codes (ISO 3166-1 alpha-2) where the offer is approved. - */ - approvedCountries?: string[] | null; - /** - * The channel of the destination. - */ - channel?: string | null; - /** - * The name of the destination - */ - destination?: string | null; - /** - * List of country codes (ISO 3166-1 alpha-2) where the offer is disapproved. - */ - disapprovedCountries?: string[] | null; - /** - * List of country codes (ISO 3166-1 alpha-2) where the offer is pending approval. - */ - pendingCountries?: string[] | null; - /** - * Deprecated. Destination approval status in `targetCountry` of the offer. - */ - status?: string | null; - } - export interface Schema$ProductstatusesCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$ProductstatusesCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch productstatuses request. - */ - export interface Schema$ProductstatusesCustomBatchRequestEntry { - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - */ - destinations?: string[] | null; - /** - * Deprecated: Setting this field has no effect and attributes are never included. - */ - includeAttributes?: boolean | null; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`get`" - */ - method?: string | null; - /** - * The ID of the product whose status to get. - */ - productId?: string | null; - } - export interface Schema$ProductstatusesCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$ProductstatusesCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#productstatusesCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch productstatuses response. - */ - export interface Schema$ProductstatusesCustomBatchResponseEntry { - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#productstatusesCustomBatchResponseEntry`" - */ - kind?: string | null; - /** - * The requested product status. Only defined if the request was successful. - */ - productStatus?: Schema$ProductStatus; - } - export interface Schema$ProductstatusesListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#productstatusesListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of products statuses. - */ - nextPageToken?: string | null; - resources?: Schema$ProductStatus[]; - } - export interface Schema$ProductStatusItemLevelIssue { - /** - * List of country codes (ISO 3166-1 alpha-2) where issue applies to the offer. - */ - applicableCountries?: string[] | null; - /** - * The attribute's name, if the issue is caused by a single attribute. - */ - attributeName?: string | null; - /** - * The error code of the issue. - */ - code?: string | null; - /** - * A short issue description in English. - */ - description?: string | null; - /** - * The destination the issue applies to. - */ - destination?: string | null; - /** - * A detailed issue description in English. - */ - detail?: string | null; - /** - * The URL of a web page to help with resolving this issue. - */ - documentation?: string | null; - /** - * Whether the issue can be resolved by the merchant. - */ - resolution?: string | null; - /** - * How this issue affects serving of the offer. - */ - servability?: string | null; - } - /** - * Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. - */ - export interface Schema$ProductStructuredDescription { - /** - * Required. The description text. Maximum length is 5000 characters. - */ - content?: string | null; - /** - * Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`" - */ - digitalSourceType?: string | null; - } - /** - * Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. - */ - export interface Schema$ProductStructuredTitle { - /** - * Required. The title text. Maximum length is 150 characters. - */ - content?: string | null; - /** - * Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`" - */ - digitalSourceType?: string | null; - } - export interface Schema$ProductSubscriptionCost { - /** - * The amount the buyer has to pay per subscription period. - */ - amount?: Schema$Price; - /** - * The type of subscription period. - "`month`" - "`year`" - */ - period?: string | null; - /** - * The number of subscription periods the buyer has to pay. - */ - periodLength?: string | null; - } - /** - * Information regarding sustainability related incentive programs such as rebates or tax relief. - */ - export interface Schema$ProductSustainabilityIncentive { - /** - * Optional. The fixed amount of the incentive. - */ - amount?: Schema$Price; - /** - * Optional. The percentage of the sale price that the incentive is applied to. - */ - percentage?: number | null; - /** - * Required. Sustainability incentive program. - */ - type?: string | null; - } - export interface Schema$ProductTax { - /** - * The country within which the item is taxed, specified as a CLDR territory code. - */ - country?: string | null; - /** - * The numeric ID of a location that the tax rate applies to as defined in the Google Ads API. - */ - locationId?: string | null; - /** - * The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*. - */ - postalCode?: string | null; - /** - * The percentage of tax rate that applies to the item price. - */ - rate?: number | null; - /** - * The geographic region to which the tax rate applies. - */ - region?: string | null; - /** - * Should be set to true if tax is charged on shipping. - */ - taxShip?: boolean | null; - } - export interface Schema$ProductUnitPricingBaseMeasure { - /** - * The unit of the denominator. - */ - unit?: string | null; - /** - * The denominator of the unit price. - */ - value?: string | null; - } - export interface Schema$ProductUnitPricingMeasure { - /** - * The unit of the measure. - */ - unit?: string | null; - /** - * The measure of an item. - */ - value?: number | null; - } - /** - * Product fields. Values are only set for fields requested explicitly in the request's search query. - */ - export interface Schema$ProductView { - /** - * Aggregated destination status. - */ - aggregatedDestinationStatus?: string | null; - /** - * Availability of the product. - */ - availability?: string | null; - /** - * Brand of the product. - */ - brand?: string | null; - /** - * First level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - categoryL1?: string | null; - /** - * Second level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - categoryL2?: string | null; - /** - * Third level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - categoryL3?: string | null; - /** - * Fourth level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - categoryL4?: string | null; - /** - * Fifth level of the product category in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - categoryL5?: string | null; - /** - * Channel of the product (online versus local). - */ - channel?: string | null; - /** - * Estimated performance potential compared to highest performing products of the merchant. - */ - clickPotential?: string | null; - /** - * Normalized click potential of the product. Values range from 1 to 1000, where 1 is the highest click potential and 1000 is the theoretical lowest. - */ - clickPotentialRank?: string | null; - /** - * Condition of the product. - */ - condition?: string | null; - /** - * The time the merchant created the product in timestamp seconds. - */ - creationTime?: string | null; - /** - * Product price currency code (for example, ISO 4217). Absent if product price is not available. - */ - currencyCode?: string | null; - /** - * Expiration date for the product. Specified on insertion. - */ - expirationDate?: Schema$Date; - /** - * GTIN of the product. - */ - gtin?: string[] | null; - /** - * The REST ID of the product, in the form of channel:contentLanguage:targetCountry:offerId. Content API methods that operate on products take this as their productId parameter. Should always be included in the SELECT clause. - */ - id?: string | null; - /** - * Item group ID provided by the merchant for grouping variants together. - */ - itemGroupId?: string | null; - /** - * List of item issues for the product. - */ - itemIssues?: Schema$ProductViewItemIssue[]; - /** - * Language code of the product in BCP 47 format. - */ - languageCode?: string | null; - /** - * Merchant-provided id of the product. - */ - offerId?: string | null; - /** - * Product price specified as micros (1 millionth of a standard unit, 1 USD = 1000000 micros) in the product currency. Absent in case the information about the price of the product is not available. - */ - priceMicros?: string | null; - /** - * First level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - productTypeL1?: string | null; - /** - * Second level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - productTypeL2?: string | null; - /** - * Third level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - productTypeL3?: string | null; - /** - * Fourth level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - productTypeL4?: string | null; - /** - * Fifth level of the product type in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324436). - */ - productTypeL5?: string | null; - /** - * The normalized shipping label specified in the feed - */ - shippingLabel?: string | null; - /** - * Title of the product. - */ - title?: string | null; - } - /** - * Item issue associated with the product. - */ - export interface Schema$ProductViewItemIssue { - /** - * Item issue type. - */ - issueType?: Schema$ProductViewItemIssueItemIssueType; - /** - * Item issue resolution. - */ - resolution?: string | null; - /** - * Item issue severity. - */ - severity?: Schema$ProductViewItemIssueItemIssueSeverity; - } - /** - * Issue severity for all affected regions in a destination. - */ - export interface Schema$ProductViewItemIssueIssueSeverityPerDestination { - /** - * List of demoted countries in the destination. - */ - demotedCountries?: string[] | null; - /** - * Issue destination. - */ - destination?: string | null; - /** - * List of disapproved countries in the destination. - */ - disapprovedCountries?: string[] | null; - } - /** - * Severity of an issue per destination in a region, and aggregated severity. - */ - export interface Schema$ProductViewItemIssueItemIssueSeverity { - /** - * Severity of an issue aggregated for destination. - */ - aggregatedSeverity?: string | null; - /** - * Item issue severity for every destination. - */ - severityPerDestination?: Schema$ProductViewItemIssueIssueSeverityPerDestination[]; - } - /** - * Type of the item issue. - */ - export interface Schema$ProductViewItemIssueItemIssueType { - /** - * Canonical attribute name for attribute-specific issues. - */ - canonicalAttribute?: string | null; - /** - * Error code of the issue. - */ - code?: string | null; - } - export interface Schema$ProductWeight { - /** - * Required. The weight unit. Acceptable values are: - "`g`" - "`kg`" - "`oz`" - "`lb`" - */ - unit?: string | null; - /** - * Required. The weight represented as a number. The weight can have a maximum precision of four decimal places. - */ - value?: number | null; - } - /** - * 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) - */ - export interface Schema$Promotion { - /** - * Product filter by brand for the promotion. - */ - brand?: string[] | null; - /** - * Product filter by brand exclusion for the promotion. - */ - brandExclusion?: string[] | null; - /** - * Required. The content language used as part of the unique identifier. `en` content language is available for all target countries. `fr` content language is available for `CA` and `FR` target countries. `de` content language is available for `DE` target country. `nl` content language is available for `NL` target country. `it` content language is available for `IT` target country. `pt` content language is available for `BR` target country. `ja` content language is available for `JP` target country. `ko` content language is available for `KR` target country. - */ - contentLanguage?: string | null; - /** - * Required. Coupon value type for the promotion. - */ - couponValueType?: string | null; - /** - * The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set. - */ - customRedemptionRestriction?: string | null; - /** - * Free gift description for the promotion. - */ - freeGiftDescription?: string | null; - /** - * Free gift item ID for the promotion. - */ - freeGiftItemId?: string | null; - /** - * Free gift value for the promotion. - */ - freeGiftValue?: Schema$PriceAmount; - /** - * Generic redemption code for the promotion. To be used with the `offerType` field. - */ - genericRedemptionCode?: string | null; - /** - * The number of items discounted in the promotion. - */ - getThisQuantityDiscounted?: number | null; - /** - * 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 has a value of `"online"`, `"in_store"`, or `"online_in_store"`. - */ - id?: string | null; - /** - * Product filter by item group ID for the promotion. - */ - itemGroupId?: string[] | null; - /** - * Product filter by item group ID exclusion for the promotion. - */ - itemGroupIdExclusion?: string[] | null; - /** - * Product filter by item ID for the promotion. - */ - itemId?: string[] | null; - /** - * Product filter by item ID exclusion for the promotion. - */ - itemIdExclusion?: string[] | null; - /** - * Maximum purchase quantity for the promotion. - */ - limitQuantity?: number | null; - /** - * Maximum purchase value for the promotion. - */ - limitValue?: Schema$PriceAmount; - /** - * Required. Long title for the promotion. - */ - longTitle?: string | null; - /** - * The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type. - */ - maxDiscountAmount?: Schema$PriceAmount; - /** - * Minimum purchase amount for the promotion. - */ - minimumPurchaseAmount?: Schema$PriceAmount; - /** - * Minimum purchase quantity for the promotion. - */ - minimumPurchaseQuantity?: number | null; - /** - * Cost cap for the promotion. - */ - moneyBudget?: Schema$PriceAmount; - /** - * The money off amount offered in the promotion. - */ - moneyOffAmount?: Schema$PriceAmount; - /** - * Required. Type of the promotion. - */ - offerType?: string | null; - /** - * Order limit for the promotion. - */ - orderLimit?: number | null; - /** - * The percentage discount offered in the promotion. - */ - percentOff?: number | null; - /** - * Required. Applicability of the promotion to either all products or only specific products. - */ - productApplicability?: string | null; - /** - * Product filter by product type for the promotion. - */ - productType?: string[] | null; - /** - * Product filter by product type exclusion for the promotion. - */ - productTypeExclusion?: string[] | null; - /** - * Destination ID for the promotion. - */ - promotionDestinationIds?: string[] | null; - /** - * String representation of the promotion display dates. Deprecated. Use `promotion_display_time_period` instead. - */ - promotionDisplayDates?: string | null; - /** - * `TimePeriod` representation of the promotion's display dates. - */ - promotionDisplayTimePeriod?: Schema$TimePeriod; - /** - * String representation of the promotion effective dates. Deprecated. Use `promotion_effective_time_period` instead. - */ - promotionEffectiveDates?: string | null; - /** - * Required. `TimePeriod` representation of the promotion's effective dates. - */ - promotionEffectiveTimePeriod?: Schema$TimePeriod; - /** - * Required. The user provided promotion ID to uniquely identify the promotion. - */ - promotionId?: string | null; - /** - * Output only. The current status of the promotion. - */ - promotionStatus?: Schema$PromotionPromotionStatus; - /** - * URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no promo url is included. URL is used to confirm that the promotion is valid and can be redeemed. - */ - promotionUrl?: string | null; - /** - * Required. Redemption channel for the promotion. At least one channel is required. - */ - redemptionChannel?: string[] | null; - /** - * The redemption restriction for the promotion. - */ - redemptionRestriction?: string | null; - /** - * Shipping service names for the promotion. - */ - shippingServiceNames?: string[] | null; - /** - * Whether the promotion applies to all stores, or only specified stores. Local Inventory ads promotions throw an error if no store applicability is included. An INVALID_ARGUMENT error is thrown if store_applicability is set to ALL_STORES and store_code or score_code_exclusion is set to a value. - */ - storeApplicability?: string | null; - /** - * Store codes to include for the promotion. - */ - storeCode?: string[] | null; - /** - * Store codes to exclude for the promotion. - */ - storeCodeExclusion?: string[] | null; - /** - * Required. The target country used as part of the unique identifier. Can be `AU`, `CA`, `DE`, `FR`, `GB`, `IN`, `US`, `BR`, `ES`, `NL`, `JP`, `IT` or `KR`. - */ - targetCountry?: string | null; - } - /** - * The status of the promotion. - */ - export interface Schema$PromotionPromotionStatus { - /** - * Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z" - */ - creationDate?: string | null; - /** - * The intended destinations for the promotion. - */ - destinationStatuses?: Schema$PromotionPromotionStatusDestinationStatus[]; - /** - * Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z" - */ - lastUpdateDate?: string | null; - /** - * A list of issues associated with the promotion. - */ - promotionIssue?: Schema$PromotionPromotionStatusPromotionIssue[]; - } - /** - * The destination status of the promotion. - */ - export interface Schema$PromotionPromotionStatusDestinationStatus { - /** - * The name of the destination. - */ - destination?: string | null; - /** - * The status for the specified destination. - */ - status?: string | null; - } - /** - * The issue associated with the promotion. - */ - export interface Schema$PromotionPromotionStatusPromotionIssue { - /** - * Code of the issue. - */ - code?: string | null; - /** - * Explanation of the issue. - */ - detail?: string | null; - } - /** - * Settings for Pub/Sub notifications, all methods require that the caller is a direct user of the merchant center account. - */ - export interface Schema$PubsubNotificationSettings { - /** - * Cloud pub/sub topic to which notifications are sent (read-only). - */ - cloudTopicName?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#pubsubNotificationSettings`" - */ - kind?: string | null; - /** - * List of event types. Acceptable values are: - "`orderPendingShipment`" - */ - registeredEvents?: string[] | null; - } - export interface Schema$RateGroup { - /** - * A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required. - */ - applicableShippingLabels?: string[] | null; - /** - * A list of carrier rates that can be referred to by `mainTable` or `singleValue`. - */ - carrierRates?: Schema$CarrierRate[]; - /** - * A table defining the rate group, when `singleValue` is not expressive enough. Can only be set if `singleValue` is not set. - */ - mainTable?: Schema$Table; - /** - * Name of the rate group. Optional. If set has to be unique within shipping service. - */ - name?: string | null; - /** - * The value of the rate group (for example, flat rate $10). Can only be set if `mainTable` and `subtables` are not set. - */ - singleValue?: Schema$Value; - /** - * A list of subtables referred to by `mainTable`. Can only be set if `mainTable` is set. - */ - subtables?: Schema$Table[]; - } - /** - * Recommendations are suggested ways to improve your merchant account's performance. For example, to engage with a feature, or start using a new Google product. - */ - export interface Schema$Recommendation { - /** - * Output only. CTAs of this recommendation. Repeated. - */ - additionalCallToAction?: Schema$RecommendationCallToAction[]; - /** - * Output only. List of additional localized descriptions for a recommendation. Localication uses the `languageCode` field in `GenerateRecommendations` requests. Not all description types are guaranteed to be present and we recommend to rely on default description. - */ - additionalDescriptions?: Schema$RecommendationDescription[]; - /** - * Output only. Any creatives attached to the recommendation. Repeated. - */ - creative?: Schema$RecommendationCreative[]; - /** - * Optional. Default CTA of the recommendation. - */ - defaultCallToAction?: Schema$RecommendationCallToAction; - /** - * Optional. Localized recommendation description. The localization the {@link `GenerateRecommendationsRequest.language_code`\} field in {@link `GenerateRecommendationsRequest`\} requests. - */ - defaultDescription?: string | null; - /** - * Optional. A numerical score of the impact from the recommendation's description. For example, a recommendation might suggest an upward trend in sales for a certain product. Higher number means larger impact. - */ - numericalImpact?: number | null; - /** - * Optional. Indicates whether a user needs to pay when they complete the user journey suggested by the recommendation. - */ - paid?: boolean | null; - /** - * Optional. Localized recommendation name. The localization uses the {@link `GenerateRecommendationsRequest.language_code`\} field in {@link `GenerateRecommendationsRequest`\} requests. - */ - recommendationName?: string | null; - /** - * Optional. Subtype of the recommendations. Only applicable when multiple recommendations can be generated per type, and is used as an identifier of recommendation under the same recommendation type. - */ - subType?: string | null; - /** - * Optional. Localized Recommendation Title. Localization uses the {@link `GenerateRecommendationsRequest.language_code`\} field in {@link `GenerateRecommendationsRequest`\} requests. - */ - title?: string | null; - /** - * Output only. Type of the recommendation. List of currently available recommendation types: - OPPORTUNITY_CREATE_NEW_COLLECTION - OPPORTUNITY_CREATE_EMAIL_CAMPAIGN - */ - type?: string | null; - } - /** - * Call to action (CTA) that explains how a merchant can implement this recommendation - */ - export interface Schema$RecommendationCallToAction { - /** - * Output only. Intent of the action. This value describes the intent (for example, `OPEN_CREATE_EMAIL_CAMPAIGN_FLOW`) and can vary from recommendation to recommendation. This value can change over time for the same recommendation. Currently available intent values: - OPEN_CREATE_EMAIL_CAMPAIGN_FLOW: Opens a user journey where they can create a marketing email campaign. (No default URL) - OPEN_CREATE_COLLECTION_TAB: Opens a user journey where they can [create a collection](https://support.google.com/merchants/answer/9703228) for their Merchant account. (No default URL) - */ - intent?: string | null; - /** - * Output only. Localized text of the CTA. Optional. - */ - localizedText?: string | null; - /** - * Optional. URL of the CTA. This field will only be set for some recommendations where there is a suggested landing URL. Otherwise it will be set to an empty string. We recommend developers to use their own custom landing page according to the description of the intent field above when this uri field is empty. - */ - uri?: string | null; - } - /** - * Creative is a multimedia attachment to recommendation that can be used on the frontend. - */ - export interface Schema$RecommendationCreative { - /** - * Type of the creative. - */ - type?: string | null; - /** - * URL of the creative. - */ - uri?: string | null; - } - /** - * Google-provided description for the recommendation. - */ - export interface Schema$RecommendationDescription { - /** - * Output only. Text of the description. - */ - text?: string | null; - /** - * Output only. Type of the description. - */ - type?: string | null; - } - /** - * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. - */ - export interface Schema$Region { - /** - * The display name of the region. - */ - displayName?: string | null; - /** - * A list of geotargets that defines the region area. - */ - geotargetArea?: Schema$RegionGeoTargetArea; - /** - * Output only. Immutable. Merchant that owns the region. - */ - merchantId?: string | null; - /** - * A list of postal codes that defines the region area. - */ - postalCodeArea?: Schema$RegionPostalCodeArea; - /** - * Output only. Indicates if the region is eligible to use in the Regional Inventory configuration. - */ - regionalInventoryEligible?: boolean | null; - /** - * Output only. Immutable. The ID uniquely identifying each region. - */ - regionId?: string | null; - /** - * Output only. Indicates if the region is eligible to use in the Shipping Services configuration. - */ - shippingEligible?: boolean | null; - } - /** - * Regional inventory resource. contains the regional name and all attributes which are overridden for the specified region. - */ - export interface Schema$RegionalInventory { - /** - * The availability of the product. - */ - availability?: string | null; - /** - * A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form. - */ - customAttributes?: Schema$CustomAttribute[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#regionalInventory`". - */ - kind?: string | null; - /** - * The price of the product. - */ - price?: Schema$Price; - /** - * The ID uniquely identifying each region. - */ - regionId?: string | null; - /** - * The sale price of the product. Mandatory if `sale_price_effective_date` is defined. - */ - salePrice?: Schema$Price; - /** - * A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates might be specified as 'null' if undecided. - */ - salePriceEffectiveDate?: string | null; - } - export interface Schema$RegionalinventoryCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$RegionalinventoryCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch regional inventory request. - */ - export interface Schema$RegionalinventoryCustomBatchRequestEntry { - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * Method of the batch request entry. Acceptable values are: - "`insert`" - */ - method?: string | null; - /** - * The ID of the product for which to update price and availability. - */ - productId?: string | null; - /** - * Price and availability of the product. - */ - regionalInventory?: Schema$RegionalInventory; - } - export interface Schema$RegionalinventoryCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$RegionalinventoryCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#regionalinventoryCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch regional inventory response. - */ - export interface Schema$RegionalinventoryCustomBatchResponseEntry { - /** - * The ID of the request entry this entry responds to. - */ - batchId?: number | null; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#regionalinventoryCustomBatchResponseEntry`". - */ - kind?: string | null; - /** - * Price and availability of the product. - */ - regionalInventory?: Schema$RegionalInventory; - } - /** - * A list of geotargets that defines the region area. - */ - export interface Schema$RegionGeoTargetArea { - /** - * Required. A non-empty list of [location IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting). They must all be of the same location type (e.g., state). - */ - geotargetCriteriaIds?: string[] | null; - } - /** - * A list of postal codes that defines the region area. Note: All regions defined using postal codes are accessible via the account's `ShippingSettings.postalCodeGroups` resource. - */ - export interface Schema$RegionPostalCodeArea { - /** - * Required. A range of postal codes. - */ - postalCodes?: Schema$RegionPostalCodeAreaPostalCodeRange[]; - /** - * Required. CLDR territory code or the country the postal code group applies to. - */ - regionCode?: string | null; - } - /** - * A range of postal codes that defines the region area. - */ - export interface Schema$RegionPostalCodeAreaPostalCodeRange { - /** - * Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: "94108", "9410*", "9*". - */ - begin?: string | null; - /** - * Optional. A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin. - */ - end?: string | null; - } - /** - * The payload for configuring how the content should be rendered. - */ - export interface Schema$RenderAccountIssuesRequestPayload { - /** - * Optional. How the detailed content should be returned. Default option is to return the content as a pre-rendered HTML text. - */ - contentOption?: string | null; - /** - * Optional. How actions with user input form should be handled. If not provided, actions will be returned as links that points merchant to Merchant Center where they can request the action. - */ - userInputActionOption?: string | null; - } - /** - * Response containing support content and actions for listed account issues. - */ - export interface Schema$RenderAccountIssuesResponse { - /** - * Alternate Dispute Resolution (ADR) is deprecated. Use `prerendered_out_of_court_dispute_settlement` instead. - */ - alternateDisputeResolution?: Schema$AlternateDisputeResolution; - /** - * List of account issues for a given account. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered. - */ - issues?: Schema$AccountIssue[]; - } - /** - * The payload for configuring how the content should be rendered. - */ - export interface Schema$RenderProductIssuesRequestPayload { - /** - * Optional. How the detailed content should be returned. Default option is to return the content as a pre-rendered HTML text. - */ - contentOption?: string | null; - /** - * Optional. How actions with user input form should be handled. If not provided, actions will be returned as links that points merchant to Merchant Center where they can request the action. - */ - userInputActionOption?: string | null; - } - /** - * Response containing support content and actions for listed product issues. - */ - export interface Schema$RenderProductIssuesResponse { - /** - * Alternate Dispute Resolution (ADR) is deprecated. Use `prerendered_out_of_court_dispute_settlement` instead. - */ - alternateDisputeResolution?: Schema$AlternateDisputeResolution; - /** - * List of issues for a given product. This list can be shown with compressed, expandable items. In the compressed form, the title and impact should be shown for each issue. Once the issue is expanded, the detailed content and available actions should be rendered. - */ - issues?: Schema$ProductIssue[]; - } - /** - * Request to report interactions on a recommendation. - */ - export interface Schema$ReportInteractionRequest { - /** - * Required. Type of the interaction that is reported, for example INTERACTION_CLICK. - */ - interactionType?: string | null; - /** - * Required. Token of the response when recommendation was returned. - */ - responseToken?: string | null; - /** - * Optional. Subtype of the recommendations this interaction happened on. This field must be set only to the value that is returned by {@link `RecommendationsService.GenerateRecommendations`\} call. - */ - subtype?: string | null; - /** - * Required. Type of the recommendations on which this interaction happened. This field must be set only to the value that is returned by {@link `GenerateRecommendationsResponse`\} call. - */ - type?: string | null; - } - /** - * Result row returned from the search query. - */ - export interface Schema$ReportRow { - /** - * Best sellers fields requested by the merchant in the query. Field values are only set if the merchant queries `BestSellersProductClusterView` or `BestSellersBrandView`. - */ - bestSellers?: Schema$BestSellers; - /** - * Brand fields requested by the merchant in the query. Field values are only set if the merchant queries `BestSellersBrandView`. - */ - brand?: Schema$Brand; - /** - * Competitive visibility fields requested by the merchant in the query. Field values are only set if the merchant queries `CompetitiveVisibilityTopMerchantView`, `CompetitiveVisibilityBenchmarkView` or `CompetitiveVisibilityCompetitorView`. - */ - competitiveVisibility?: Schema$CompetitiveVisibility; - /** - * Metrics requested by the merchant in the query. Metric values are only set for metrics requested explicitly in the query. - */ - metrics?: Schema$Metrics; - /** - * Price competitiveness fields requested by the merchant in the query. Field values are only set if the merchant queries `PriceCompetitivenessProductView`. - */ - priceCompetitiveness?: Schema$PriceCompetitiveness; - /** - * Price insights fields requested by the merchant in the query. Field values are only set if the merchant queries `PriceInsightsProductView`. - */ - priceInsights?: Schema$PriceInsights; - /** - * Product cluster fields requested by the merchant in the query. Field values are only set if the merchant queries `BestSellersProductClusterView`. - */ - productCluster?: Schema$ProductCluster; - /** - * Product fields requested by the merchant in the query. Field values are only set if the merchant queries `ProductView`. - */ - productView?: Schema$ProductView; - /** - * Segmentation dimensions requested by the merchant in the query. Dimension values are only set for dimensions requested explicitly in the query. - */ - segments?: Schema$Segments; - /** - * [Topic trends](https://support.google.com/merchants/answer/13542370) fields requested by the merchant in the query. Field values are only set if the merchant queries `TopicTrendsView`. - */ - topicTrends?: Schema$TopicTrends; - } - /** - * Request message for the RequestPhoneVerification method. - */ - export interface Schema$RequestPhoneVerificationRequest { - /** - * 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. - */ - languageCode?: string | null; - /** - * Phone number to be verified. - */ - phoneNumber?: string | null; - /** - * 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. - */ - phoneRegionCode?: string | null; - /** - * Verification method to receive verification code. - */ - phoneVerificationMethod?: string | null; - } - /** - * Response message for the RequestPhoneVerification method. - */ - export interface Schema$RequestPhoneVerificationResponse { - /** - * The verification ID to use in subsequent calls to `verifyphonenumber`. - */ - verificationId?: string | null; - } - /** - * Request message for the RequestReviewFreeListings Program method. - */ - export interface Schema$RequestReviewFreeListingsRequest { - /** - * 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. - */ - regionCode?: string | null; - } - /** - * Request message for the RequestReviewShoppingAds program method. - */ - export interface Schema$RequestReviewShoppingAdsRequest { - /** - * 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. - */ - regionCode?: string | null; - } - /** - * Return policy online object. This is currently used to represent return policies for ads and free listings programs. - */ - export interface Schema$ReturnPolicyOnline { - /** - * The countries of sale where the return policy is applicable. The values must be a valid 2 letter ISO 3166 code, e.g. "US". - */ - countries?: string[] | null; - /** - * The item conditions that are accepted for returns. This is required to not be empty unless the type of return policy is noReturns. - */ - itemConditions?: string[] | null; - /** - * The unique user-defined label of the return policy. The same label cannot be used in different return policies for the same country. Policies with the label 'default' will apply to all products, unless a product specifies a return_policy_label attribute. - */ - label?: string | null; - /** - * The name of the policy as shown in Merchant Center. - */ - name?: string | null; - /** - * The return policy. - */ - policy?: Schema$ReturnPolicyOnlinePolicy; - /** - * The restocking fee that applies to all return reason categories. This would be treated as a free restocking fee if the value is not set. - */ - restockingFee?: Schema$ReturnPolicyOnlineRestockingFee; - /** - * The return methods of how customers can return an item. This value is required to not be empty unless the type of return policy is noReturns. - */ - returnMethods?: string[] | null; - /** - * Output only. Return policy ID generated by Google. - */ - returnPolicyId?: string | null; - /** - * The return policy uri. This can used by Google to do a sanity check for the policy. - */ - returnPolicyUri?: string | null; - /** - * The return reason category information. This required to not be empty unless the type of return policy is noReturns. - */ - returnReasonCategoryInfo?: Schema$ReturnPolicyOnlineReturnReasonCategoryInfo[]; - } - /** - * The available policies. - */ - export interface Schema$ReturnPolicyOnlinePolicy { - /** - * The number of days items can be returned after delivery, where one day is defined to be 24 hours after the delivery timestamp. Required for `numberOfDaysAfterDelivery` returns. - */ - days?: string | null; - /** - * Policy type. - */ - type?: string | null; - } - /** - * The restocking fee. This can either be a fixed fee or a micro percent. - */ - export interface Schema$ReturnPolicyOnlineRestockingFee { - /** - * Fixed restocking fee. - */ - fixedFee?: Schema$PriceAmount; - /** - * Percent of total price in micros. 15,000,000 means 15% of the total price would be charged. - */ - microPercent?: number | null; - } - /** - * The return reason category info wrapper. - */ - export interface Schema$ReturnPolicyOnlineReturnReasonCategoryInfo { - /** - * The corresponding return label source. If the `ReturnMethod` field includes `BY_MAIL`, it is required to specify `ReturnLabelSource` for both `BUYER_REMORSE` and `ITEM_DEFECT` return reason categories. - */ - returnLabelSource?: string | null; - /** - * The return reason category. - */ - returnReasonCategory?: string | null; - /** - * The corresponding return shipping fee. This is only applicable when returnLabelSource is not the customer's responsibility. - */ - returnShippingFee?: Schema$ReturnPolicyOnlineReturnShippingFee; - } - /** - * The return shipping fee. This can either be a fixed fee or a boolean to indicate that the customer pays the actual shipping cost. - */ - export interface Schema$ReturnPolicyOnlineReturnShippingFee { - /** - * Fixed return shipping fee amount. This value is only applicable when type is FIXED. We will treat the return shipping fee as free if type is FIXED and this value is not set. - */ - fixedFee?: Schema$PriceAmount; - /** - * Type of return shipping fee. - */ - type?: string | null; - } - export interface Schema$Row { - /** - * The list of cells that constitute the row. Must have the same length as `columnHeaders` for two-dimensional tables, a length of 1 for one-dimensional tables. Required. - */ - cells?: Schema$Value[]; - } - /** - * Request message for the ReportService.Search method. - */ - export interface Schema$SearchRequest { - /** - * Number of ReportRows to retrieve in a single page. Defaults to 1000. Values above 5000 are coerced to 5000. - */ - pageSize?: number | null; - /** - * Token of the page to retrieve. If not specified, the first page of results is returned. In order to request the next page of results, the value obtained from `next_page_token` in the previous response should be used. - */ - pageToken?: string | null; - /** - * 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). - */ - query?: string | null; - } - /** - * Response message for the ReportService.Search method. - */ - export interface Schema$SearchResponse { - /** - * Token which can be sent as `page_token` to retrieve the next page. If omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - /** - * Rows that matched the search query. - */ - results?: Schema$ReportRow[]; - } - /** - * Dimensions according to which metrics are segmented in the response. Values of product dimensions, such as `offer_id`, reflect the state of a product at the time of the corresponding event, for example, 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. - */ - export interface Schema$Segments { - /** - * Brand of the product. - */ - brand?: string | null; - /** - * [Product category (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. - */ - categoryL1?: string | null; - /** - * [Product category (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. - */ - categoryL2?: string | null; - /** - * [Product category (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. - */ - categoryL3?: string | null; - /** - * [Product category (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. - */ - categoryL4?: string | null; - /** - * [Product category (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. - */ - categoryL5?: string | null; - /** - * Currency in which price metrics are represented, for example, if you select `ordered_item_sales_micros`, the returned value will be represented by this currency. - */ - currencyCode?: string | null; - /** - * Code of the country where the customer is located at the time of the event. Represented in the ISO 3166 format. If the customer country cannot be determined, a special 'ZZ' code is returned. - */ - customerCountryCode?: string | null; - /** - * Custom label 0 for custom grouping of products. - */ - customLabel0?: string | null; - /** - * Custom label 1 for custom grouping of products. - */ - customLabel1?: string | null; - /** - * Custom label 2 for custom grouping of products. - */ - customLabel2?: string | null; - /** - * Custom label 3 for custom grouping of products. - */ - customLabel3?: string | null; - /** - * Custom label 4 for custom grouping of products. - */ - customLabel4?: string | null; - /** - * Date in the merchant timezone to which metrics apply. - */ - date?: Schema$Date; - /** - * Merchant-provided id of the product. - */ - offerId?: string | null; - /** - * [Product type (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. - */ - productTypeL1?: string | null; - /** - * [Product type (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. - */ - productTypeL2?: string | null; - /** - * [Product type (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. - */ - productTypeL3?: string | null; - /** - * [Product type (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. - */ - productTypeL4?: string | null; - /** - * [Product type (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. - */ - productTypeL5?: string | null; - /** - * Program to which metrics apply, for example, Free Product Listing. - */ - program?: string | null; - /** - * Title of the product. - */ - title?: string | null; - /** - * First day of the week (Monday) of the metrics date in the merchant timezone. - */ - week?: Schema$Date; - } - export interface Schema$Service { - /** - * A boolean exposing the active status of the shipping service. Required. - */ - active?: boolean | null; - /** - * The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups. - */ - currency?: string | null; - /** - * The CLDR territory code of the country to which the service applies. Required. - */ - deliveryCountry?: string | null; - /** - * Time spent in various aspects from order to the delivery of the product. Required. - */ - deliveryTime?: Schema$DeliveryTime; - /** - * Eligibility for this service. Acceptable values are: - "`All scenarios`" - "`All scenarios except Shopping Actions`" - "`Shopping Actions`" - */ - eligibility?: string | null; - /** - * Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table. - */ - minimumOrderValue?: Schema$Price; - /** - * Table of per store minimum order values for the pickup fulfillment type. Cannot be set together with minimum_order_value. - */ - minimumOrderValueTable?: Schema$MinimumOrderValueTable; - /** - * Free-form name of the service. Must be unique within target account. Required. - */ - name?: string | null; - /** - * 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`. - */ - pickupService?: Schema$PickupCarrierService; - /** - * 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. - */ - rateGroups?: Schema$RateGroup[]; - /** - * Type of locations this service ships orders to. Acceptable values are: - "`delivery`" - "`pickup` (deprecated)" - "`local_delivery`" - "`collection_point`" - */ - shipmentType?: string | null; - /** - * A list of stores your products are delivered from. This is only available for the local delivery shipment type. - */ - storeConfig?: Schema$ServiceStoreConfig; - } - /** - * Stores that provide local delivery. Only valid with local delivery fulfillment. - */ - export interface Schema$ServiceStoreConfig { - /** - * Time local delivery ends for the day. This can be either `local_cutoff_time` or `store_close_offset_hours`, if both are provided an error is thrown. - */ - cutoffConfig?: Schema$ServiceStoreConfigCutoffConfig; - /** - * Maximum delivery radius. Only needed for local delivery fulfillment type. - */ - serviceRadius?: Schema$Distance; - /** - * A list of store codes that provide local delivery. If empty, then `store_service_type` must be `all_stores`, or an error is thrown. If not empty, then `store_service_type` must be `selected_stores`, or an error is thrown. - */ - storeCodes?: string[] | null; - /** - * Indicates whether all stores listed by this merchant provide local delivery or not. Acceptable values are `all stores` and `selected stores` - */ - storeServiceType?: string | null; - } - /** - * Time local delivery ends for the day based on the local timezone of the store. `local_cutoff_time` and `store_close_offset_hours` are mutually exclusive. - */ - export interface Schema$ServiceStoreConfigCutoffConfig { - /** - * Time in hours and minutes in the local timezone when local delivery ends. - */ - localCutoffTime?: Schema$ServiceStoreConfigCutoffConfigLocalCutoffTime; - /** - * Merchants can opt-out of showing n+1 day local delivery when they have a shipping service configured to n day local delivery. For example, if the shipping service defines same-day delivery, and it's past the cut-off, setting this field to `true` results in the calculated shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the same example, setting this field to `false` results in the calculated shipping time being one day. This is only for local delivery. - */ - noDeliveryPostCutoff?: boolean | null; - /** - * Represents cutoff time as the number of hours before store closing. Mutually exclusive with other fields (hour and minute). - */ - storeCloseOffsetHours?: string | null; - } - /** - * Time in hours and minutes in the local timezone when local delivery ends. - */ - export interface Schema$ServiceStoreConfigCutoffConfigLocalCutoffTime { - /** - * Hour local delivery orders must be placed by to process the same day. - */ - hour?: string | null; - /** - * Minute local delivery orders must be placed by to process the same day. - */ - minute?: string | null; - } - /** - * The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role. - */ - export interface Schema$ShippingSettings { - /** - * The ID of the account to which these account shipping settings belong. Ignored upon update, always present in get request responses. - */ - accountId?: string | null; - /** - * A list of postal code groups that can be referred to in `services`. Optional. - */ - postalCodeGroups?: Schema$PostalCodeGroup[]; - /** - * The target account's list of services. Optional. - */ - services?: Schema$Service[]; - /** - * Optional. A list of warehouses which can be referred to in `services`. - */ - warehouses?: Schema$Warehouse[]; - } - export interface Schema$ShippingsettingsCustomBatchRequest { - /** - * The request entries to be processed in the batch. - */ - entries?: Schema$ShippingsettingsCustomBatchRequestEntry[]; - } - /** - * A batch entry encoding a single non-batch shippingsettings request. - */ - export interface Schema$ShippingsettingsCustomBatchRequestEntry { - /** - * The ID of the account for which to get/update account shipping settings. - */ - accountId?: string | null; - /** - * An entry ID, unique within the batch request. - */ - batchId?: number | null; - /** - * The ID of the managing account. - */ - merchantId?: string | null; - /** - * The method of the batch entry. Acceptable values are: - "`get`" - "`update`" - */ - method?: string | null; - /** - * The account shipping settings to update. Only defined if the method is `update`. - */ - shippingSettings?: Schema$ShippingSettings; - } - export interface Schema$ShippingsettingsCustomBatchResponse { - /** - * The result of the execution of the batch requests. - */ - entries?: Schema$ShippingsettingsCustomBatchResponseEntry[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#shippingsettingsCustomBatchResponse`". - */ - kind?: string | null; - } - /** - * A batch entry encoding a single non-batch shipping settings response. - */ - export interface Schema$ShippingsettingsCustomBatchResponseEntry { - /** - * The ID of the request entry to which this entry responds. - */ - batchId?: number | null; - /** - * A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. - */ - errors?: Schema$Errors; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#shippingsettingsCustomBatchResponseEntry`" - */ - kind?: string | null; - /** - * The retrieved or updated account shipping settings. - */ - shippingSettings?: Schema$ShippingSettings; - } - export interface Schema$ShippingsettingsGetSupportedCarriersResponse { - /** - * A list of supported carriers. May be empty. - */ - carriers?: Schema$CarriersCarrier[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#shippingsettingsGetSupportedCarriersResponse`". - */ - kind?: string | null; - } - export interface Schema$ShippingsettingsGetSupportedHolidaysResponse { - /** - * A list of holidays applicable for delivery guarantees. May be empty. - */ - holidays?: Schema$HolidaysHoliday[]; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#shippingsettingsGetSupportedHolidaysResponse`". - */ - kind?: string | null; - } - export interface Schema$ShippingsettingsGetSupportedPickupServicesResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#shippingsettingsGetSupportedPickupServicesResponse`". - */ - kind?: string | null; - /** - * A list of supported pickup services. May be empty. - */ - pickupServices?: Schema$PickupServicesPickupService[]; - } - export interface Schema$ShippingsettingsListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#shippingsettingsListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of shipping settings. - */ - nextPageToken?: string | null; - resources?: Schema$ShippingSettings[]; - } - /** - * Response message for GetShoppingAdsProgramStatus. - */ - export interface Schema$ShoppingAdsProgramStatus { - /** - * State of the program. `ENABLED` if there are offers for at least one region. - */ - globalState?: string | null; - /** - * Status of the program in each region. Regions with the same status and review eligibility are grouped together in `regionCodes`. - */ - regionStatuses?: Schema$ShoppingAdsProgramStatusRegionStatus[]; - } - /** - * Status of program and region. - */ - export interface Schema$ShoppingAdsProgramStatusRegionStatus { - /** - * Date by which eligibilityStatus will go from `WARNING` to `DISAPPROVED`. Only visible when your eligibilityStatus is WARNING. In [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DD`. - */ - disapprovalDate?: string | null; - /** - * Eligibility status of the Shopping Ads program. - */ - eligibilityStatus?: string | null; - /** - * Issues that must be fixed to be eligible for review. - */ - onboardingIssues?: string[] | null; - /** - * 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`. - */ - regionCodes?: string[] | null; - /** - * If a program is eligible for review in a specific region. Only visible if `eligibilityStatus` is `DISAPPROVED`. - */ - reviewEligibilityStatus?: string | null; - /** - * Review ineligibility reason if account is not eligible for review. - */ - reviewIneligibilityReason?: string | null; - /** - * Reason a program in a specific region isn’t eligible for review. Only visible if `reviewEligibilityStatus` is `INELIGIBLE`. - */ - reviewIneligibilityReasonDescription?: string | null; - /** - * Additional information for ineligibility. If `reviewIneligibilityReason` is `IN_COOLDOWN_PERIOD`, a timestamp for the end of the cooldown period is provided. - */ - reviewIneligibilityReasonDetails?: Schema$ShoppingAdsProgramStatusReviewIneligibilityReasonDetails; - /** - * Issues evaluated in the review process. Fix all issues before requesting a review. - */ - reviewIssues?: string[] | null; - } - /** - * Additional details for review ineligibility reasons. - */ - export interface Schema$ShoppingAdsProgramStatusReviewIneligibilityReasonDetails { - /** - * This timestamp represents end of cooldown period for review ineligbility reason `IN_COOLDOWN_PERIOD`. - */ - cooldownTime?: string | null; - } - export interface Schema$Table { - /** - * Headers of the table's columns. Optional: if not set then the table has only one dimension. - */ - columnHeaders?: Schema$Headers; - /** - * Name of the table. Required for subtables, ignored for the main table. - */ - name?: string | null; - /** - * Headers of the table's rows. Required. - */ - rowHeaders?: Schema$Headers; - /** - * The list of rows that constitute the table. Must have the same length as `rowHeaders`. Required. - */ - rows?: Schema$Row[]; - } - /** - * Block of text that may contain a tooltip with more information. - */ - export interface Schema$TextWithTooltip { - /** - * Value of the tooltip as a simple text. - */ - simpleTooltipValue?: string | null; - /** - * Value of the message as a simple text. - */ - simpleValue?: string | null; - /** - * The suggested type of an icon for tooltip, if a tooltip is present. - */ - tooltipIconStyle?: string | null; - } - /** - * A message that represents a time period. - */ - export interface Schema$TimePeriod { - /** - * The ending timestamp. - */ - endTime?: string | null; - /** - * The starting timestamp. - */ - startTime?: string | null; - } - /** - * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). - */ - export interface Schema$TimeZone { - /** - * IANA Time Zone Database time zone. For example "America/New_York". - */ - id?: string | null; - /** - * Optional. IANA Time Zone Database version number. For example "2019a". - */ - version?: string | null; - } - /** - * Topic trends fields requested by the merchant in the query. Field values are only set if the merchant queries `TopicTrendsView`. Forecast data can be queried up to 13 weeks by passing a future date in the `date` field. Historical data is measured daily, and forecasted data is projected weekly. All data points are normalized based on the highest data points returned in the response. If you make separate queries with different date ranges, you might see different values for the same date in each response. The recommended way to get a trend score of a topic is `last7_days_search_interest / last{$day\}_days_search_interest - 1`. You can view trends for up to eight topics at a time. - */ - export interface Schema$TopicTrends { - /** - * Country trends are calculated for. Must be a two-letter country code (ISO 3166-1-alpha-2 code), for example, `“US”`. - */ - customerCountryCode?: string | null; - /** - * Date the trend score was retrieved. - */ - date?: Schema$Date; - /** - * Search interest in the last 120 days, with the same normalization as search_interest. This field is only present for a past date. - */ - last120DaysSearchInterest?: number | null; - /** - * Search interest in the last 30 days, with the same normalization as search_interest. This field is only present for a past date. - */ - last30DaysSearchInterest?: number | null; - /** - * Search interest in the last 7 days, with the same normalization as search_interest. This field is only present for a past date. - */ - last7DaysSearchInterest?: number | null; - /** - * Search interest in the last 90 days, with the same normalization as search_interest. This field is only present for a past date. - */ - last90DaysSearchInterest?: number | null; - /** - * Estimated search interest in the next 7 days, with the same normalization as search_interest. This field is only present for a future date. - */ - next7DaysSearchInterest?: number | null; - /** - * Daily search interest, normalized to the time and country to make comparisons easier, with 100 representing peak popularity (from 0 to 100) for the requested time period and location. - */ - searchInterest?: number | null; - /** - * Google-provided topic trends are calculated for. Only top eight topics are returned. Topic is what shoppers are searching for on Google, grouped by the same concept. - */ - topic?: string | null; - } - export interface Schema$TransitTable { - /** - * A list of postal group names. The last value can be `"all other locations"`. Example: `["zone 1", "zone 2", "all other locations"]`. The referred postal code groups must match the delivery country of the service. - */ - postalCodeGroupNames?: string[] | null; - rows?: Schema$TransitTableTransitTimeRow[]; - /** - * A list of transit time labels. The last value can be `"all other labels"`. Example: `["food", "electronics", "all other labels"]`. - */ - transitTimeLabels?: string[] | null; - } - export interface Schema$TransitTableTransitTimeRow { - values?: Schema$TransitTableTransitTimeRowTransitTimeValue[]; - } - export interface Schema$TransitTableTransitTimeRowTransitTimeValue { - /** - * Must be greater than or equal to `minTransitTimeInDays`. - */ - maxTransitTimeInDays?: number | null; - /** - * Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery. - */ - minTransitTimeInDays?: number | null; - } - /** - * The payload for the triggered action. - */ - export interface Schema$TriggerActionPayload { - /** - * Required. The context from the selected action. The value is obtained from rendered issues and needs to be sent back to identify the action that is being triggered. - */ - actionContext?: string | null; - /** - * Required. Input provided by the merchant. - */ - actionInput?: Schema$ActionInput; - } - /** - * Response informing about the started action. - */ - export interface Schema$TriggerActionResponse { - /** - * The message for merchant. - */ - message?: string | null; - } - /** - * Request message for the UndeleteConversionSource method. - */ - export interface Schema$UndeleteConversionSourceRequest {} - /** - * Specifications related to the `Checkout` URL. The `UriTemplate` is of the form `https://www.mystore.com/checkout?item_id={id\}` where `{id\}` will be automatically replaced with data from the merchant account with this attribute [offer_id](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.offer_id) - */ - export interface Schema$UrlSettings { - /** - * URL template when the placeholders are expanded will redirect the buyer to the cart page on the merchant website with the selected item in cart. - */ - cartUriTemplate?: string | null; - /** - * URL template when the placeholders are expanded will redirect the buyer to the merchant checkout page with the item in the cart. - */ - checkoutUriTemplate?: string | null; - } - /** - * The single value of a rate group or the value of a rate group table's cell. Exactly one of `noShipping`, `flatRate`, `pricePercentage`, `carrierRateName`, `subtableName` must be set. - */ - export interface Schema$Value { - /** - * The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set. - */ - carrierRateName?: string | null; - /** - * A flat rate. Can only be set if all other fields are not set. - */ - flatRate?: Schema$Price; - /** - * If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set. - */ - noShipping?: boolean | null; - /** - * 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. - */ - pricePercentage?: string | null; - /** - * 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. - */ - subtableName?: string | null; - } - /** - * Request message for the VerifyPhoneNumber method. - */ - export interface Schema$VerifyPhoneNumberRequest { - /** - * Verification method used to receive verification code. - */ - phoneVerificationMethod?: string | null; - /** - * The verification code that was sent to the phone number for validation. - */ - verificationCode?: string | null; - /** - * The verification ID returned by `requestphoneverification`. - */ - verificationId?: string | null; - } - /** - * Response message for the VerifyPhoneNumber method. - */ - export interface Schema$VerifyPhoneNumberResponse { - /** - * Verified phone number if verification is successful. This phone number can only be replaced by another verified phone number. - */ - verifiedPhoneNumber?: string | null; - } - /** - * A fulfillment warehouse, which stores and handles inventory. - */ - export interface Schema$Warehouse { - /** - * Business days of the warehouse. If not set, will be Monday to Friday by default. - */ - businessDayConfig?: Schema$BusinessDayConfig; - /** - * 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. - */ - cutoffTime?: Schema$WarehouseCutoffTime; - /** - * 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. - */ - handlingDays?: string | null; - /** - * Required. The name of the warehouse. Must be unique within account. - */ - name?: string | null; - /** - * Required. Shipping address of the warehouse. - */ - shippingAddress?: Schema$Address; - } - export interface Schema$WarehouseBasedDeliveryTime { - /** - * Required. Carrier, such as `"UPS"` or `"Fedex"`. The list of supported carriers can be retrieved through the `listSupportedCarriers` method. - */ - carrier?: string | null; - /** - * 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. - */ - carrierService?: string | null; - /** - * Shipping origin's state. - */ - originAdministrativeArea?: string | null; - /** - * Shipping origin's city. - */ - originCity?: string | null; - /** - * Shipping origin's country represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). - */ - originCountry?: string | null; - /** - * Shipping origin. - */ - originPostalCode?: string | null; - /** - * Shipping origin's street address. - */ - originStreetAddress?: string | null; - /** - * 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. - */ - warehouseName?: string | null; - } - export interface Schema$WarehouseCutoffTime { - /** - * 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. - */ - hour?: number | null; - /** - * 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. - */ - minute?: number | null; - } - export interface Schema$Weight { - /** - * Required. The weight unit. Acceptable values are: - "`kg`" - "`lb`" - */ - unit?: string | null; - /** - * Required. The weight represented as a number. The weight can have a maximum precision of four decimal places. - */ - value?: string | null; - } - - export class Resource$Accounts { - context: APIRequestContext; - credentials: Resource$Accounts$Credentials; - labels: Resource$Accounts$Labels; - returncarrier: Resource$Accounts$Returncarrier; - constructor(context: APIRequestContext) { - this.context = context; - this.credentials = new Resource$Accounts$Credentials(this.context); - this.labels = new Resource$Accounts$Labels(this.context); - this.returncarrier = new Resource$Accounts$Returncarrier(this.context); - } - - /** - * Returns information about the authenticated user. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.authinfo({}); - * console.log(res.data); - * - * // Example response - * // { - * // "accountIdentifiers": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - authinfo( - params: Params$Resource$Accounts$Authinfo, - options: StreamMethodOptions - ): Promise>; - authinfo( - params?: Params$Resource$Accounts$Authinfo, - options?: MethodOptions - ): Promise>; - authinfo( - params: Params$Resource$Accounts$Authinfo, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - authinfo( - params: Params$Resource$Accounts$Authinfo, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - authinfo( - params: Params$Resource$Accounts$Authinfo, - callback: BodyResponseCallback - ): void; - authinfo( - callback: BodyResponseCallback - ): void; - authinfo( - paramsOrCallback?: - | Params$Resource$Accounts$Authinfo - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Authinfo; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Authinfo; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/accounts/authinfo').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Claims the website of a Merchant Center sub-account. Merchant accounts with approved third-party CSSs aren't required to claim a website. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.claimwebsite({ - * // The ID of the account whose website is claimed. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * // 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. - * overwrite: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - claimwebsite( - params: Params$Resource$Accounts$Claimwebsite, - options: StreamMethodOptions - ): Promise>; - claimwebsite( - params?: Params$Resource$Accounts$Claimwebsite, - options?: MethodOptions - ): Promise>; - claimwebsite( - params: Params$Resource$Accounts$Claimwebsite, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - claimwebsite( - params: Params$Resource$Accounts$Claimwebsite, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - claimwebsite( - params: Params$Resource$Accounts$Claimwebsite, - callback: BodyResponseCallback - ): void; - claimwebsite( - callback: BodyResponseCallback - ): void; - claimwebsite( - paramsOrCallback?: - | Params$Resource$Accounts$Claimwebsite - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Claimwebsite; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Claimwebsite; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/accounts/{accountId}/claimwebsite' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Retrieves, inserts, updates, and deletes multiple Merchant Center (sub-)accounts in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Accounts$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Accounts$Custombatch, - options?: MethodOptions - ): Promise>; - custombatch( - params: Params$Resource$Accounts$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Accounts$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Accounts$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Accounts$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/accounts/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes a Merchant Center sub-account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.delete({ - * // The ID of the account. - * accountId: 'placeholder-value', - * // Option to delete sub-accounts with products. The default value is false. - * force: 'placeholder-value', - * // The ID of the managing account. This must be a multi-client account, and accountId must be the ID of a sub-account of this account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Accounts$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Accounts$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Accounts$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Accounts$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Accounts$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Accounts$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Accounts$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/accounts/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves a Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.get({ - * // The ID of the account. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * // Controls which fields will be populated. Acceptable values are: "merchant" and "css". The default value is "merchant". - * view: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountManagement": "my_accountManagement", - * // "adsLinks": [], - * // "adultContent": false, - * // "automaticImprovements": {}, - * // "automaticLabelIds": [], - * // "businessIdentity": {}, - * // "businessInformation": {}, - * // "conversionSettings": {}, - * // "cssId": "my_cssId", - * // "googleMyBusinessLink": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "labelIds": [], - * // "name": "my_name", - * // "sellerId": "my_sellerId", - * // "users": [], - * // "websiteUrl": "my_websiteUrl", - * // "youtubeChannelLinks": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Accounts$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Accounts$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Accounts$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Accounts$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Accounts$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Accounts$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Accounts$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/accounts/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates a Merchant Center sub-account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.insert({ - * // The ID of the managing account. This must be a multi-client account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountManagement": "my_accountManagement", - * // "adsLinks": [], - * // "adultContent": false, - * // "automaticImprovements": {}, - * // "automaticLabelIds": [], - * // "businessIdentity": {}, - * // "businessInformation": {}, - * // "conversionSettings": {}, - * // "cssId": "my_cssId", - * // "googleMyBusinessLink": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "labelIds": [], - * // "name": "my_name", - * // "sellerId": "my_sellerId", - * // "users": [], - * // "websiteUrl": "my_websiteUrl", - * // "youtubeChannelLinks": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountManagement": "my_accountManagement", - * // "adsLinks": [], - * // "adultContent": false, - * // "automaticImprovements": {}, - * // "automaticLabelIds": [], - * // "businessIdentity": {}, - * // "businessInformation": {}, - * // "conversionSettings": {}, - * // "cssId": "my_cssId", - * // "googleMyBusinessLink": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "labelIds": [], - * // "name": "my_name", - * // "sellerId": "my_sellerId", - * // "users": [], - * // "websiteUrl": "my_websiteUrl", - * // "youtubeChannelLinks": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Accounts$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Accounts$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Accounts$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Accounts$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Accounts$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Accounts$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Accounts$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/accounts').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Performs an action on a link between two Merchant Center accounts, namely accountId and linkedAccountId. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.link({ - * // The ID of the account that should be linked. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "eCommercePlatformLinkInfo": {}, - * // "linkType": "my_linkType", - * // "linkedAccountId": "my_linkedAccountId", - * // "paymentServiceProviderLinkInfo": {}, - * // "services": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - link( - params: Params$Resource$Accounts$Link, - options: StreamMethodOptions - ): Promise>; - link( - params?: Params$Resource$Accounts$Link, - options?: MethodOptions - ): Promise>; - link( - params: Params$Resource$Accounts$Link, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - link( - params: Params$Resource$Accounts$Link, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - link( - params: Params$Resource$Accounts$Link, - callback: BodyResponseCallback - ): void; - link(callback: BodyResponseCallback): void; - link( - paramsOrCallback?: - | Params$Resource$Accounts$Link - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Accounts$Link; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Link; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/accounts/{accountId}/link' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the sub-accounts in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.list({ - * // If view is set to "css", only return accounts that are assigned label with given ID. - * label: 'placeholder-value', - * // The maximum number of accounts to return in the response, used for paging. - * maxResults: 'placeholder-value', - * // The ID of the managing account. This must be a multi-client account. - * merchantId: 'placeholder-value', - * // If set, only the accounts with the given name (case sensitive) will be returned. - * name: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * // Controls which fields will be populated. Acceptable values are: "merchant" and "css". The default value is "merchant". - * view: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Accounts$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Accounts$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Accounts$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accounts$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accounts$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Accounts$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Accounts$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/accounts').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns the list of accounts linked to your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.listlinks({ - * // The ID of the account for which to list links. - * accountId: 'placeholder-value', - * // 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. - * maxResults: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "links": [], - * // "nextPageToken": "my_nextPageToken" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - listlinks( - params: Params$Resource$Accounts$Listlinks, - options: StreamMethodOptions - ): Promise>; - listlinks( - params?: Params$Resource$Accounts$Listlinks, - options?: MethodOptions - ): Promise>; - listlinks( - params: Params$Resource$Accounts$Listlinks, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listlinks( - params: Params$Resource$Accounts$Listlinks, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listlinks( - params: Params$Resource$Accounts$Listlinks, - callback: BodyResponseCallback - ): void; - listlinks( - callback: BodyResponseCallback - ): void; - listlinks( - paramsOrCallback?: - | Params$Resource$Accounts$Listlinks - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Listlinks; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Listlinks; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/accounts/{accountId}/listlinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Request verification code to start phone verification. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.requestphoneverification({ - * // Required. The ID of the account. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "languageCode": "my_languageCode", - * // "phoneNumber": "my_phoneNumber", - * // "phoneRegionCode": "my_phoneRegionCode", - * // "phoneVerificationMethod": "my_phoneVerificationMethod" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "verificationId": "my_verificationId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - requestphoneverification( - params: Params$Resource$Accounts$Requestphoneverification, - options: StreamMethodOptions - ): Promise>; - requestphoneverification( - params?: Params$Resource$Accounts$Requestphoneverification, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - requestphoneverification( - params: Params$Resource$Accounts$Requestphoneverification, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestphoneverification( - params: Params$Resource$Accounts$Requestphoneverification, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestphoneverification( - params: Params$Resource$Accounts$Requestphoneverification, - callback: BodyResponseCallback - ): void; - requestphoneverification( - callback: BodyResponseCallback - ): void; - requestphoneverification( - paramsOrCallback?: - | Params$Resource$Accounts$Requestphoneverification - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Requestphoneverification; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Requestphoneverification; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/accounts/{accountId}/requestphoneverification' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates a Merchant Center account. Any fields that are not provided are deleted from the resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.update({ - * // The ID of the account. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountManagement": "my_accountManagement", - * // "adsLinks": [], - * // "adultContent": false, - * // "automaticImprovements": {}, - * // "automaticLabelIds": [], - * // "businessIdentity": {}, - * // "businessInformation": {}, - * // "conversionSettings": {}, - * // "cssId": "my_cssId", - * // "googleMyBusinessLink": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "labelIds": [], - * // "name": "my_name", - * // "sellerId": "my_sellerId", - * // "users": [], - * // "websiteUrl": "my_websiteUrl", - * // "youtubeChannelLinks": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountManagement": "my_accountManagement", - * // "adsLinks": [], - * // "adultContent": false, - * // "automaticImprovements": {}, - * // "automaticLabelIds": [], - * // "businessIdentity": {}, - * // "businessInformation": {}, - * // "conversionSettings": {}, - * // "cssId": "my_cssId", - * // "googleMyBusinessLink": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "labelIds": [], - * // "name": "my_name", - * // "sellerId": "my_sellerId", - * // "users": [], - * // "websiteUrl": "my_websiteUrl", - * // "youtubeChannelLinks": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Accounts$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Accounts$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Accounts$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Accounts$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Accounts$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Accounts$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Accounts$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/accounts/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates labels that are assigned to the Merchant Center account by CSS user. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.updatelabels({ - * // The ID of the account whose labels are updated. - * accountId: 'placeholder-value', - * // The ID of the managing account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "labelIds": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - updatelabels( - params: Params$Resource$Accounts$Updatelabels, - options: StreamMethodOptions - ): Promise>; - updatelabels( - params?: Params$Resource$Accounts$Updatelabels, - options?: MethodOptions - ): Promise>; - updatelabels( - params: Params$Resource$Accounts$Updatelabels, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updatelabels( - params: Params$Resource$Accounts$Updatelabels, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updatelabels( - params: Params$Resource$Accounts$Updatelabels, - callback: BodyResponseCallback - ): void; - updatelabels( - callback: BodyResponseCallback - ): void; - updatelabels( - paramsOrCallback?: - | Params$Resource$Accounts$Updatelabels - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Updatelabels; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Updatelabels; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/accounts/{accountId}/updatelabels' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * 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. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.verifyphonenumber({ - * // Required. The ID of the account. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "phoneVerificationMethod": "my_phoneVerificationMethod", - * // "verificationCode": "my_verificationCode", - * // "verificationId": "my_verificationId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "verifiedPhoneNumber": "my_verifiedPhoneNumber" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - verifyphonenumber( - params: Params$Resource$Accounts$Verifyphonenumber, - options: StreamMethodOptions - ): Promise>; - verifyphonenumber( - params?: Params$Resource$Accounts$Verifyphonenumber, - options?: MethodOptions - ): Promise>; - verifyphonenumber( - params: Params$Resource$Accounts$Verifyphonenumber, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - verifyphonenumber( - params: Params$Resource$Accounts$Verifyphonenumber, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - verifyphonenumber( - params: Params$Resource$Accounts$Verifyphonenumber, - callback: BodyResponseCallback - ): void; - verifyphonenumber( - callback: BodyResponseCallback - ): void; - verifyphonenumber( - paramsOrCallback?: - | Params$Resource$Accounts$Verifyphonenumber - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Verifyphonenumber; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Verifyphonenumber; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/accounts/{accountId}/verifyphonenumber' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Accounts$Authinfo extends StandardParameters {} - export interface Params$Resource$Accounts$Claimwebsite extends StandardParameters { - /** - * The ID of the account whose website is claimed. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - /** - * 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. - */ - overwrite?: boolean; - } - export interface Params$Resource$Accounts$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$AccountsCustomBatchRequest; - } - export interface Params$Resource$Accounts$Delete extends StandardParameters { - /** - * The ID of the account. - */ - accountId?: string; - /** - * Option to delete sub-accounts with products. The default value is false. - */ - force?: boolean; - /** - * The ID of the managing account. This must be a multi-client account, and accountId must be the ID of a sub-account of this account. - */ - merchantId?: string; - } - export interface Params$Resource$Accounts$Get extends StandardParameters { - /** - * The ID of the account. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - /** - * Controls which fields will be populated. Acceptable values are: "merchant" and "css". The default value is "merchant". - */ - view?: string; - } - export interface Params$Resource$Accounts$Insert extends StandardParameters { - /** - * The ID of the managing account. This must be a multi-client account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Account; - } - export interface Params$Resource$Accounts$Link extends StandardParameters { - /** - * The ID of the account that should be linked. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccountsLinkRequest; - } - export interface Params$Resource$Accounts$List extends StandardParameters { - /** - * If view is set to "css", only return accounts that are assigned label with given ID. - */ - label?: string; - /** - * The maximum number of accounts to return in the response, used for paging. - */ - maxResults?: number; - /** - * The ID of the managing account. This must be a multi-client account. - */ - merchantId?: string; - /** - * If set, only the accounts with the given name (case sensitive) will be returned. - */ - name?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - /** - * Controls which fields will be populated. Acceptable values are: "merchant" and "css". The default value is "merchant". - */ - view?: string; - } - export interface Params$Resource$Accounts$Listlinks extends StandardParameters { - /** - * The ID of the account for which to list links. - */ - accountId?: string; - /** - * 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. - */ - maxResults?: number; - /** - * 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. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - export interface Params$Resource$Accounts$Requestphoneverification extends StandardParameters { - /** - * Required. The ID of the account. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RequestPhoneVerificationRequest; - } - export interface Params$Resource$Accounts$Update extends StandardParameters { - /** - * The ID of the account. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Account; - } - export interface Params$Resource$Accounts$Updatelabels extends StandardParameters { - /** - * The ID of the account whose labels are updated. - */ - accountId?: string; - /** - * The ID of the managing account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccountsUpdateLabelsRequest; - } - export interface Params$Resource$Accounts$Verifyphonenumber extends StandardParameters { - /** - * Required. The ID of the account. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$VerifyPhoneNumberRequest; - } - - export class Resource$Accounts$Credentials { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Uploads credentials for the Merchant Center account. If credentials already exist for this Merchant Center account and purpose, this method updates them. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.credentials.create({ - * // Required. The merchant id of the account these credentials belong to. - * accountId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accessToken": "my_accessToken", - * // "expiresIn": "my_expiresIn", - * // "purpose": "my_purpose" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accessToken": "my_accessToken", - * // "expiresIn": "my_expiresIn", - * // "purpose": "my_purpose" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Accounts$Credentials$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Accounts$Credentials$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Accounts$Credentials$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Accounts$Credentials$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Accounts$Credentials$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Accounts$Credentials$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Credentials$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Credentials$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/accounts/{accountId}/credentials' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Accounts$Credentials$Create extends StandardParameters { - /** - * Required. The merchant id of the account these credentials belong to. - */ - accountId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccountCredentials; - } - - export class Resource$Accounts$Labels { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates a new label, not assigned to any account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.labels.create({ - * // Required. The id of the account this label belongs to. - * accountId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "description": "my_description", - * // "labelId": "my_labelId", - * // "labelType": "my_labelType", - * // "name": "my_name" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "description": "my_description", - * // "labelId": "my_labelId", - * // "labelType": "my_labelType", - * // "name": "my_name" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Accounts$Labels$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Accounts$Labels$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Accounts$Labels$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Accounts$Labels$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Accounts$Labels$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Accounts$Labels$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Labels$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Labels$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/accounts/{accountId}/labels' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes a label and removes it from all accounts to which it was assigned. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.labels.delete({ - * // Required. The id of the account that owns the label. - * accountId: 'placeholder-value', - * // Required. The id of the label to delete. - * labelId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Accounts$Labels$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Accounts$Labels$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Accounts$Labels$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Accounts$Labels$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Accounts$Labels$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Accounts$Labels$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Labels$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Labels$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/accounts/{accountId}/labels/{labelId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'labelId'], - pathParams: ['accountId', 'labelId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the labels assigned to an account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.labels.list({ - * // Required. The account id for whose labels are to be listed. - * accountId: 'placeholder-value', - * // The maximum number of labels to return. The service may return fewer than this value. If unspecified, at most 50 labels will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListAccountLabels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountLabels` must match the call that provided the page token. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountLabels": [], - * // "nextPageToken": "my_nextPageToken" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Accounts$Labels$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Accounts$Labels$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Accounts$Labels$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accounts$Labels$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accounts$Labels$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Accounts$Labels$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Labels$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Labels$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/accounts/{accountId}/labels' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates a label. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.labels.patch({ - * // Required. The id of the account this label belongs to. - * accountId: 'placeholder-value', - * // Required. The id of the label to update. - * labelId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "description": "my_description", - * // "labelId": "my_labelId", - * // "labelType": "my_labelType", - * // "name": "my_name" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "description": "my_description", - * // "labelId": "my_labelId", - * // "labelType": "my_labelType", - * // "name": "my_name" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Accounts$Labels$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Accounts$Labels$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Accounts$Labels$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Accounts$Labels$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Accounts$Labels$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Accounts$Labels$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Labels$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Labels$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/accounts/{accountId}/labels/{labelId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'labelId'], - pathParams: ['accountId', 'labelId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Accounts$Labels$Create extends StandardParameters { - /** - * Required. The id of the account this label belongs to. - */ - accountId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccountLabel; - } - export interface Params$Resource$Accounts$Labels$Delete extends StandardParameters { - /** - * Required. The id of the account that owns the label. - */ - accountId?: string; - /** - * Required. The id of the label to delete. - */ - labelId?: string; - } - export interface Params$Resource$Accounts$Labels$List extends StandardParameters { - /** - * Required. The account id for whose labels are to be listed. - */ - accountId?: string; - /** - * The maximum number of labels to return. The service may return fewer than this value. If unspecified, at most 50 labels will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * A page token, received from a previous `ListAccountLabels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountLabels` must match the call that provided the page token. - */ - pageToken?: string; - } - export interface Params$Resource$Accounts$Labels$Patch extends StandardParameters { - /** - * Required. The id of the account this label belongs to. - */ - accountId?: string; - /** - * Required. The id of the label to update. - */ - labelId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccountLabel; - } - - export class Resource$Accounts$Returncarrier { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Links return carrier to a merchant account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.returncarrier.create({ - * // Required. The Merchant Center Account Id under which the Return Carrier is to be linked. - * accountId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "carrierAccountId": "my_carrierAccountId", - * // "carrierAccountName": "my_carrierAccountName", - * // "carrierAccountNumber": "my_carrierAccountNumber", - * // "carrierCode": "my_carrierCode" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "carrierAccountId": "my_carrierAccountId", - * // "carrierAccountName": "my_carrierAccountName", - * // "carrierAccountNumber": "my_carrierAccountNumber", - * // "carrierCode": "my_carrierCode" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Accounts$Returncarrier$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Accounts$Returncarrier$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Accounts$Returncarrier$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Accounts$Returncarrier$Create, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Accounts$Returncarrier$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Accounts$Returncarrier$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Returncarrier$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Returncarrier$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/accounts/{accountId}/returncarrier' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Delete a return carrier in the merchant account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.returncarrier.delete({ - * // Required. The Merchant Center Account Id under which the Return Carrier is to be linked. - * accountId: 'placeholder-value', - * // Required. The Google-provided unique carrier ID, used to update the resource. - * carrierAccountId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Accounts$Returncarrier$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Accounts$Returncarrier$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Accounts$Returncarrier$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Accounts$Returncarrier$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Accounts$Returncarrier$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Accounts$Returncarrier$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Returncarrier$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Returncarrier$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/accounts/{accountId}/returncarrier/{carrierAccountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'carrierAccountId'], - pathParams: ['accountId', 'carrierAccountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists available return carriers in the merchant account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.returncarrier.list({ - * // Required. The Merchant Center Account Id under which the Return Carrier is to be linked. - * accountId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountReturnCarriers": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Accounts$Returncarrier$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Accounts$Returncarrier$List, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - list( - params: Params$Resource$Accounts$Returncarrier$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accounts$Returncarrier$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accounts$Returncarrier$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Accounts$Returncarrier$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Returncarrier$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Returncarrier$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/accounts/{accountId}/returncarrier' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates a return carrier in the merchant account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounts.returncarrier.patch({ - * // Required. The Merchant Center Account Id under which the Return Carrier is to be linked. - * accountId: 'placeholder-value', - * // Required. The Google-provided unique carrier ID, used to update the resource. - * carrierAccountId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "carrierAccountId": "my_carrierAccountId", - * // "carrierAccountName": "my_carrierAccountName", - * // "carrierAccountNumber": "my_carrierAccountNumber", - * // "carrierCode": "my_carrierCode" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "carrierAccountId": "my_carrierAccountId", - * // "carrierAccountName": "my_carrierAccountName", - * // "carrierAccountNumber": "my_carrierAccountNumber", - * // "carrierCode": "my_carrierCode" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Accounts$Returncarrier$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Accounts$Returncarrier$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Accounts$Returncarrier$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Accounts$Returncarrier$Patch, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Accounts$Returncarrier$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Accounts$Returncarrier$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounts$Returncarrier$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounts$Returncarrier$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/accounts/{accountId}/returncarrier/{carrierAccountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'carrierAccountId'], - pathParams: ['accountId', 'carrierAccountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Accounts$Returncarrier$Create extends StandardParameters { - /** - * Required. The Merchant Center Account Id under which the Return Carrier is to be linked. - */ - accountId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccountReturnCarrier; - } - export interface Params$Resource$Accounts$Returncarrier$Delete extends StandardParameters { - /** - * Required. The Merchant Center Account Id under which the Return Carrier is to be linked. - */ - accountId?: string; - /** - * Required. The Google-provided unique carrier ID, used to update the resource. - */ - carrierAccountId?: string; - } - export interface Params$Resource$Accounts$Returncarrier$List extends StandardParameters { - /** - * Required. The Merchant Center Account Id under which the Return Carrier is to be linked. - */ - accountId?: string; - } - export interface Params$Resource$Accounts$Returncarrier$Patch extends StandardParameters { - /** - * Required. The Merchant Center Account Id under which the Return Carrier is to be linked. - */ - accountId?: string; - /** - * Required. The Google-provided unique carrier ID, used to update the resource. - */ - carrierAccountId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccountReturnCarrier; - } - - export class Resource$Accountstatuses { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves multiple Merchant Center account statuses in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accountstatuses.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Accountstatuses$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Accountstatuses$Custombatch, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - custombatch( - params: Params$Resource$Accountstatuses$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Accountstatuses$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Accountstatuses$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Accountstatuses$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accountstatuses$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accountstatuses$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/accountstatuses/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Retrieves the status of a Merchant Center account. No itemLevelIssues are returned for multi-client accounts. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accountstatuses.get({ - * // The ID of the account. - * accountId: 'placeholder-value', - * // If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - * destinations: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "accountLevelIssues": [], - * // "accountManagement": "my_accountManagement", - * // "kind": "my_kind", - * // "products": [], - * // "websiteClaimed": false - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Accountstatuses$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Accountstatuses$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Accountstatuses$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Accountstatuses$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Accountstatuses$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Accountstatuses$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accountstatuses$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accountstatuses$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/accountstatuses/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the statuses of the sub-accounts in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accountstatuses.list({ - * // If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - * destinations: 'placeholder-value', - * // The maximum number of account statuses to return in the response, used for paging. - * maxResults: 'placeholder-value', - * // The ID of the managing account. This must be a multi-client account. - * merchantId: 'placeholder-value', - * // If set, only the accounts with the given name (case sensitive) will be returned. - * name: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Accountstatuses$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Accountstatuses$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Accountstatuses$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accountstatuses$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accountstatuses$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Accountstatuses$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accountstatuses$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accountstatuses$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/accountstatuses' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Accountstatuses$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$AccountstatusesCustomBatchRequest; - } - export interface Params$Resource$Accountstatuses$Get extends StandardParameters { - /** - * The ID of the account. - */ - accountId?: string; - /** - * If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - */ - destinations?: string[]; - /** - * 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. - */ - merchantId?: string; - } - export interface Params$Resource$Accountstatuses$List extends StandardParameters { - /** - * If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - */ - destinations?: string[]; - /** - * The maximum number of account statuses to return in the response, used for paging. - */ - maxResults?: number; - /** - * The ID of the managing account. This must be a multi-client account. - */ - merchantId?: string; - /** - * If set, only the accounts with the given name (case sensitive) will be returned. - */ - name?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - - export class Resource$Accounttax { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves and updates tax settings of multiple accounts in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounttax.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Accounttax$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Accounttax$Custombatch, - options?: MethodOptions - ): Promise>; - custombatch( - params: Params$Resource$Accounttax$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Accounttax$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Accounttax$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Accounttax$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounttax$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounttax$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/accounttax/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Retrieves the tax settings of the account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounttax.get({ - * // The ID of the account for which to get/update account tax settings. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "kind": "my_kind", - * // "rules": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Accounttax$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Accounttax$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Accounttax$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Accounttax$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Accounttax$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Accounttax$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Accounttax$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounttax$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/accounttax/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the tax settings of the sub-accounts in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounttax.list({ - * // The maximum number of tax settings to return in the response, used for paging. - * maxResults: 'placeholder-value', - * // The ID of the managing account. This must be a multi-client account. - * merchantId: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Accounttax$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Accounttax$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Accounttax$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accounttax$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Accounttax$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Accounttax$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Accounttax$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounttax$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/accounttax').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates the tax settings of the account. Any fields that are not provided are deleted from the resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.accounttax.update({ - * // The ID of the account for which to get/update account tax settings. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "kind": "my_kind", - * // "rules": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "kind": "my_kind", - * // "rules": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Accounttax$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Accounttax$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Accounttax$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Accounttax$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Accounttax$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Accounttax$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Accounttax$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Accounttax$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/accounttax/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Accounttax$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$AccounttaxCustomBatchRequest; - } - export interface Params$Resource$Accounttax$Get extends StandardParameters { - /** - * The ID of the account for which to get/update account tax settings. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - } - export interface Params$Resource$Accounttax$List extends StandardParameters { - /** - * The maximum number of tax settings to return in the response, used for paging. - */ - maxResults?: number; - /** - * The ID of the managing account. This must be a multi-client account. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - export interface Params$Resource$Accounttax$Update extends StandardParameters { - /** - * The ID of the account for which to get/update account tax settings. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccountTax; - } - - export class Resource$Collections { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Uploads a collection to your Merchant Center account. If a collection with the same collectionId already exists, this method updates that entry. In each update, the collection is completely replaced by the fields in the body of the update request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.collections.create({ - * // Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "customLabel0": "my_customLabel0", - * // "customLabel1": "my_customLabel1", - * // "customLabel2": "my_customLabel2", - * // "customLabel3": "my_customLabel3", - * // "customLabel4": "my_customLabel4", - * // "featuredProduct": [], - * // "headline": [], - * // "id": "my_id", - * // "imageLink": [], - * // "language": "my_language", - * // "link": "my_link", - * // "mobileLink": "my_mobileLink", - * // "productCountry": "my_productCountry" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "customLabel0": "my_customLabel0", - * // "customLabel1": "my_customLabel1", - * // "customLabel2": "my_customLabel2", - * // "customLabel3": "my_customLabel3", - * // "customLabel4": "my_customLabel4", - * // "featuredProduct": [], - * // "headline": [], - * // "id": "my_id", - * // "imageLink": [], - * // "language": "my_language", - * // "link": "my_link", - * // "mobileLink": "my_mobileLink", - * // "productCountry": "my_productCountry" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Collections$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Collections$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Collections$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Collections$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Collections$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Collections$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Collections$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Collections$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/collections').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes a collection from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.collections.delete({ - * // Required. The collectionId of the collection. CollectionId is the same as the REST ID of the collection. - * collectionId: 'placeholder-value', - * // Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Collections$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Collections$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Collections$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Collections$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Collections$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Collections$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Collections$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Collections$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/collections/{collectionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'collectionId'], - pathParams: ['collectionId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves a collection from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.collections.get({ - * // Required. The REST ID of the collection. - * collectionId: 'placeholder-value', - * // Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "customLabel0": "my_customLabel0", - * // "customLabel1": "my_customLabel1", - * // "customLabel2": "my_customLabel2", - * // "customLabel3": "my_customLabel3", - * // "customLabel4": "my_customLabel4", - * // "featuredProduct": [], - * // "headline": [], - * // "id": "my_id", - * // "imageLink": [], - * // "language": "my_language", - * // "link": "my_link", - * // "mobileLink": "my_mobileLink", - * // "productCountry": "my_productCountry" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Collections$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Collections$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Collections$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Collections$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Collections$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Collections$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Collections$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Collections$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/collections/{collectionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'collectionId'], - pathParams: ['collectionId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the collections in your Merchant Center account. The response might contain fewer items than specified by page_size. Rely on next_page_token to determine if there are more items to be requested. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.collections.list({ - * // Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The maximum number of collections to return in the response, used for paging. Defaults to 50; values above 1000 will be coerced to 1000. - * pageSize: 'placeholder-value', - * // Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Collections$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Collections$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Collections$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Collections$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Collections$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Collections$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Collections$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Collections$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/collections').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Collections$Create extends StandardParameters { - /** - * Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Collection; - } - export interface Params$Resource$Collections$Delete extends StandardParameters { - /** - * Required. The collectionId of the collection. CollectionId is the same as the REST ID of the collection. - */ - collectionId?: string; - /** - * Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - */ - merchantId?: string; - } - export interface Params$Resource$Collections$Get extends StandardParameters { - /** - * Required. The REST ID of the collection. - */ - collectionId?: string; - /** - * Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - */ - merchantId?: string; - } - export interface Params$Resource$Collections$List extends StandardParameters { - /** - * Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The maximum number of collections to return in the response, used for paging. Defaults to 50; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. - */ - pageToken?: string; - } - - export class Resource$Collectionstatuses { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Gets the status of a collection from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.collectionstatuses.get({ - * // Required. The collectionId of the collection. CollectionId is the same as the REST ID of the collection. - * collectionId: 'placeholder-value', - * // Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "collectionLevelIssuses": [], - * // "creationDate": "my_creationDate", - * // "destinationStatuses": [], - * // "id": "my_id", - * // "lastUpdateDate": "my_lastUpdateDate" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Collectionstatuses$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Collectionstatuses$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Collectionstatuses$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Collectionstatuses$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Collectionstatuses$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Collectionstatuses$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Collectionstatuses$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Collectionstatuses$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/collectionstatuses/{collectionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'collectionId'], - pathParams: ['collectionId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the statuses of the collections in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.collectionstatuses.list({ - * // Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The maximum number of collection statuses to return in the response, used for paging. Defaults to 50; values above 1000 will be coerced to 1000. - * pageSize: 'placeholder-value', - * // Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Collectionstatuses$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Collectionstatuses$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Collectionstatuses$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Collectionstatuses$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Collectionstatuses$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Collectionstatuses$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Collectionstatuses$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Collectionstatuses$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/collectionstatuses' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - } - - export interface Params$Resource$Collectionstatuses$Get extends StandardParameters { - /** - * Required. The collectionId of the collection. CollectionId is the same as the REST ID of the collection. - */ - collectionId?: string; - /** - * Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - */ - merchantId?: string; - } - export interface Params$Resource$Collectionstatuses$List extends StandardParameters { - /** - * Required. The ID of the account that contains the collection. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The maximum number of collection statuses to return in the response, used for paging. Defaults to 50; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. - */ - pageToken?: string; - } - - export class Resource$Conversionsources { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates a new conversion source. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.conversionsources.create({ - * // Required. The ID of the account that owns the new conversion source. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "conversionSourceId": "my_conversionSourceId", - * // "expireTime": "my_expireTime", - * // "googleAnalyticsLink": {}, - * // "merchantCenterDestination": {}, - * // "state": "my_state" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "conversionSourceId": "my_conversionSourceId", - * // "expireTime": "my_expireTime", - * // "googleAnalyticsLink": {}, - * // "merchantCenterDestination": {}, - * // "state": "my_state" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Conversionsources$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Conversionsources$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Conversionsources$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Conversionsources$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Conversionsources$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Conversionsources$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Conversionsources$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Conversionsources$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/conversionsources' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Archives an existing conversion source. It will be recoverable for 30 days. This archiving behavior is not typical in the Content API and unique to this service. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.conversionsources.delete({ - * // Required. The ID of the conversion source to be deleted. - * conversionSourceId: 'placeholder-value', - * // Required. The ID of the account that owns the new conversion source. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Conversionsources$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Conversionsources$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Conversionsources$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Conversionsources$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Conversionsources$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Conversionsources$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Conversionsources$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Conversionsources$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/conversionsources/{conversionSourceId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'conversionSourceId'], - pathParams: ['conversionSourceId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Fetches a conversion source. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.conversionsources.get({ - * // Required. The REST ID of the collection. - * conversionSourceId: 'placeholder-value', - * // Required. The ID of the account that owns the new conversion source. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "conversionSourceId": "my_conversionSourceId", - * // "expireTime": "my_expireTime", - * // "googleAnalyticsLink": {}, - * // "merchantCenterDestination": {}, - * // "state": "my_state" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Conversionsources$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Conversionsources$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Conversionsources$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Conversionsources$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Conversionsources$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Conversionsources$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Conversionsources$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Conversionsources$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/conversionsources/{conversionSourceId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'conversionSourceId'], - pathParams: ['conversionSourceId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves the list of conversion sources the caller has access to. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.conversionsources.list({ - * // Required. The ID of the account that owns the new conversion source. - * merchantId: 'placeholder-value', - * // The maximum number of conversion sources to return in a page. If no `page_size` is specified, `100` is used as the default value. The maximum value is `200`. Values above `200` will be coerced to `200`. Regardless of pagination, at most `200` conversion sources are returned in total. - * pageSize: 'placeholder-value', - * // Page token. - * pageToken: 'placeholder-value', - * // If true, also returns archived conversion sources. - * showDeleted: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "conversionSources": [], - * // "nextPageToken": "my_nextPageToken" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Conversionsources$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Conversionsources$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Conversionsources$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Conversionsources$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Conversionsources$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Conversionsources$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Conversionsources$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Conversionsources$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/conversionsources' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates information of an existing conversion source. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.conversionsources.patch({ - * // Required. The ID of the conversion source to be updated. - * conversionSourceId: 'placeholder-value', - * // Required. The ID of the account that owns the new conversion source. - * merchantId: 'placeholder-value', - * // Optional. List of fields being updated. The following fields can be updated: `attribution_settings`, `display_name`, `currency_code`. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "conversionSourceId": "my_conversionSourceId", - * // "expireTime": "my_expireTime", - * // "googleAnalyticsLink": {}, - * // "merchantCenterDestination": {}, - * // "state": "my_state" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "conversionSourceId": "my_conversionSourceId", - * // "expireTime": "my_expireTime", - * // "googleAnalyticsLink": {}, - * // "merchantCenterDestination": {}, - * // "state": "my_state" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Conversionsources$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Conversionsources$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Conversionsources$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Conversionsources$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Conversionsources$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Conversionsources$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Conversionsources$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Conversionsources$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/conversionsources/{conversionSourceId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'conversionSourceId'], - pathParams: ['conversionSourceId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Re-enables an archived conversion source. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.conversionsources.undelete({ - * // Required. The ID of the conversion source to be undeleted. - * conversionSourceId: 'placeholder-value', - * // Required. The ID of the account that owns the new conversion source. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // {} - * }, - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - undelete( - params: Params$Resource$Conversionsources$Undelete, - options: StreamMethodOptions - ): Promise>; - undelete( - params?: Params$Resource$Conversionsources$Undelete, - options?: MethodOptions - ): Promise>; - undelete( - params: Params$Resource$Conversionsources$Undelete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - undelete( - params: Params$Resource$Conversionsources$Undelete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - undelete( - params: Params$Resource$Conversionsources$Undelete, - callback: BodyResponseCallback - ): void; - undelete(callback: BodyResponseCallback): void; - undelete( - paramsOrCallback?: - | Params$Resource$Conversionsources$Undelete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Conversionsources$Undelete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Conversionsources$Undelete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/conversionsources/{conversionSourceId}:undelete' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'conversionSourceId'], - pathParams: ['conversionSourceId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Conversionsources$Create extends StandardParameters { - /** - * Required. The ID of the account that owns the new conversion source. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ConversionSource; - } - export interface Params$Resource$Conversionsources$Delete extends StandardParameters { - /** - * Required. The ID of the conversion source to be deleted. - */ - conversionSourceId?: string; - /** - * Required. The ID of the account that owns the new conversion source. - */ - merchantId?: string; - } - export interface Params$Resource$Conversionsources$Get extends StandardParameters { - /** - * Required. The REST ID of the collection. - */ - conversionSourceId?: string; - /** - * Required. The ID of the account that owns the new conversion source. - */ - merchantId?: string; - } - export interface Params$Resource$Conversionsources$List extends StandardParameters { - /** - * Required. The ID of the account that owns the new conversion source. - */ - merchantId?: string; - /** - * The maximum number of conversion sources to return in a page. If no `page_size` is specified, `100` is used as the default value. The maximum value is `200`. Values above `200` will be coerced to `200`. Regardless of pagination, at most `200` conversion sources are returned in total. - */ - pageSize?: number; - /** - * Page token. - */ - pageToken?: string; - /** - * If true, also returns archived conversion sources. - */ - showDeleted?: boolean; - } - export interface Params$Resource$Conversionsources$Patch extends StandardParameters { - /** - * Required. The ID of the conversion source to be updated. - */ - conversionSourceId?: string; - /** - * Required. The ID of the account that owns the new conversion source. - */ - merchantId?: string; - /** - * Optional. List of fields being updated. The following fields can be updated: `attribution_settings`, `display_name`, `currency_code`. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ConversionSource; - } - export interface Params$Resource$Conversionsources$Undelete extends StandardParameters { - /** - * Required. The ID of the conversion source to be undeleted. - */ - conversionSourceId?: string; - /** - * Required. The ID of the account that owns the new conversion source. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$UndeleteConversionSourceRequest; - } - - export class Resource$Csses { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves a single CSS domain by ID. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.csses.get({ - * // Required. The ID of the CSS domain to return. - * cssDomainId: 'placeholder-value', - * // Required. The ID of the managing account. If this parameter is not the same as [cssDomainId](#cssDomainId), then this ID must be a CSS group ID and `cssDomainId` must be the ID of a CSS domain affiliated with this group. - * cssGroupId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "cssDomainId": "my_cssDomainId", - * // "cssGroupId": "my_cssGroupId", - * // "displayName": "my_displayName", - * // "fullName": "my_fullName", - * // "homepageUri": "my_homepageUri", - * // "labelIds": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Csses$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Csses$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Csses$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Csses$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Csses$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Csses$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Csses$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Csses$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{cssGroupId}/csses/{cssDomainId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['cssGroupId', 'cssDomainId'], - pathParams: ['cssDomainId', 'cssGroupId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists CSS domains affiliated with a CSS group. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.csses.list({ - * // Required. The CSS group ID of CSS domains to be listed. - * cssGroupId: 'placeholder-value', - * // The maximum number of CSS domains to return. The service may return fewer than this value. If unspecified, at most 50 CSS domains will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListCsses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCsses` must match the call that provided the page token. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "csses": [], - * // "nextPageToken": "my_nextPageToken" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Csses$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Csses$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Csses$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Csses$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Csses$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Csses$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Csses$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Csses$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{cssGroupId}/csses').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['cssGroupId'], - pathParams: ['cssGroupId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates labels that are assigned to a CSS domain by its CSS group. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.csses.updatelabels({ - * // Required. The ID of the updated CSS domain. - * cssDomainId: 'placeholder-value', - * // Required. The CSS group ID of the updated CSS domain. - * cssGroupId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "labelIds": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "cssDomainId": "my_cssDomainId", - * // "cssGroupId": "my_cssGroupId", - * // "displayName": "my_displayName", - * // "fullName": "my_fullName", - * // "homepageUri": "my_homepageUri", - * // "labelIds": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - updatelabels( - params: Params$Resource$Csses$Updatelabels, - options: StreamMethodOptions - ): Promise>; - updatelabels( - params?: Params$Resource$Csses$Updatelabels, - options?: MethodOptions - ): Promise>; - updatelabels( - params: Params$Resource$Csses$Updatelabels, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updatelabels( - params: Params$Resource$Csses$Updatelabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updatelabels( - params: Params$Resource$Csses$Updatelabels, - callback: BodyResponseCallback - ): void; - updatelabels(callback: BodyResponseCallback): void; - updatelabels( - paramsOrCallback?: - | Params$Resource$Csses$Updatelabels - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Csses$Updatelabels; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Csses$Updatelabels; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{cssGroupId}/csses/{cssDomainId}/updatelabels' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['cssGroupId', 'cssDomainId'], - pathParams: ['cssDomainId', 'cssGroupId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Csses$Get extends StandardParameters { - /** - * Required. The ID of the CSS domain to return. - */ - cssDomainId?: string; - /** - * Required. The ID of the managing account. If this parameter is not the same as [cssDomainId](#cssDomainId), then this ID must be a CSS group ID and `cssDomainId` must be the ID of a CSS domain affiliated with this group. - */ - cssGroupId?: string; - } - export interface Params$Resource$Csses$List extends StandardParameters { - /** - * Required. The CSS group ID of CSS domains to be listed. - */ - cssGroupId?: string; - /** - * The maximum number of CSS domains to return. The service may return fewer than this value. If unspecified, at most 50 CSS domains will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * A page token, received from a previous `ListCsses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCsses` must match the call that provided the page token. - */ - pageToken?: string; - } - export interface Params$Resource$Csses$Updatelabels extends StandardParameters { - /** - * Required. The ID of the updated CSS domain. - */ - cssDomainId?: string; - /** - * Required. The CSS group ID of the updated CSS domain. - */ - cssGroupId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LabelIds; - } - - export class Resource$Datafeeds { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Deletes, fetches, gets, inserts and updates multiple datafeeds in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeeds.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Datafeeds$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Datafeeds$Custombatch, - options?: MethodOptions - ): Promise>; - custombatch( - params: Params$Resource$Datafeeds$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Datafeeds$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Datafeeds$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Datafeeds$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Datafeeds$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeeds$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/datafeeds/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Deletes a datafeed configuration from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeeds.delete({ - * // The ID of the datafeed. - * datafeedId: 'placeholder-value', - * // The ID of the account that manages the datafeed. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Datafeeds$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Datafeeds$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Datafeeds$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Datafeeds$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Datafeeds$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Datafeeds$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Datafeeds$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeeds$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/datafeeds/{datafeedId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'datafeedId'], - pathParams: ['datafeedId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Invokes a fetch for the datafeed in your Merchant Center account. If you need to call this method more than once per day, we recommend you use the [Products service](https://developers.google.com/shopping-content/reference/rest/v2.1/products) to update your product data. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeeds.fetchnow({ - * // The ID of the datafeed to be fetched. - * datafeedId: 'placeholder-value', - * // The ID of the account that manages the datafeed. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - fetchnow( - params: Params$Resource$Datafeeds$Fetchnow, - options: StreamMethodOptions - ): Promise>; - fetchnow( - params?: Params$Resource$Datafeeds$Fetchnow, - options?: MethodOptions - ): Promise>; - fetchnow( - params: Params$Resource$Datafeeds$Fetchnow, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - fetchnow( - params: Params$Resource$Datafeeds$Fetchnow, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - fetchnow( - params: Params$Resource$Datafeeds$Fetchnow, - callback: BodyResponseCallback - ): void; - fetchnow( - callback: BodyResponseCallback - ): void; - fetchnow( - paramsOrCallback?: - | Params$Resource$Datafeeds$Fetchnow - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Datafeeds$Fetchnow; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeeds$Fetchnow; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/datafeeds/{datafeedId}/fetchNow' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'datafeedId'], - pathParams: ['datafeedId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves a datafeed configuration from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeeds.get({ - * // The ID of the datafeed. - * datafeedId: 'placeholder-value', - * // The ID of the account that manages the datafeed. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "attributeLanguage": "my_attributeLanguage", - * // "contentType": "my_contentType", - * // "fetchSchedule": {}, - * // "fileName": "my_fileName", - * // "format": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "targets": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Datafeeds$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Datafeeds$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Datafeeds$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Datafeeds$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Datafeeds$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Datafeeds$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Datafeeds$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeeds$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/datafeeds/{datafeedId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'datafeedId'], - pathParams: ['datafeedId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Registers a datafeed configuration with your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeeds.insert({ - * // The ID of the account that manages the datafeed. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "attributeLanguage": "my_attributeLanguage", - * // "contentType": "my_contentType", - * // "fetchSchedule": {}, - * // "fileName": "my_fileName", - * // "format": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "targets": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "attributeLanguage": "my_attributeLanguage", - * // "contentType": "my_contentType", - * // "fetchSchedule": {}, - * // "fileName": "my_fileName", - * // "format": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "targets": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Datafeeds$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Datafeeds$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Datafeeds$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Datafeeds$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Datafeeds$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Datafeeds$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Datafeeds$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeeds$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/datafeeds').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the configurations for datafeeds in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeeds.list({ - * // The maximum number of products to return in the response, used for paging. - * maxResults: 'placeholder-value', - * // The ID of the account that manages the datafeeds. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Datafeeds$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Datafeeds$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Datafeeds$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Datafeeds$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Datafeeds$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Datafeeds$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Datafeeds$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeeds$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/datafeeds').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates a datafeed configuration of your Merchant Center account. Any fields that are not provided are deleted from the resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeeds.update({ - * // The ID of the datafeed. - * datafeedId: 'placeholder-value', - * // The ID of the account that manages the datafeed. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "attributeLanguage": "my_attributeLanguage", - * // "contentType": "my_contentType", - * // "fetchSchedule": {}, - * // "fileName": "my_fileName", - * // "format": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "targets": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "attributeLanguage": "my_attributeLanguage", - * // "contentType": "my_contentType", - * // "fetchSchedule": {}, - * // "fileName": "my_fileName", - * // "format": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "targets": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Datafeeds$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Datafeeds$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Datafeeds$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Datafeeds$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Datafeeds$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Datafeeds$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Datafeeds$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeeds$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/datafeeds/{datafeedId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'datafeedId'], - pathParams: ['datafeedId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Datafeeds$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$DatafeedsCustomBatchRequest; - } - export interface Params$Resource$Datafeeds$Delete extends StandardParameters { - /** - * The ID of the datafeed. - */ - datafeedId?: string; - /** - * The ID of the account that manages the datafeed. This account cannot be a multi-client account. - */ - merchantId?: string; - } - export interface Params$Resource$Datafeeds$Fetchnow extends StandardParameters { - /** - * The ID of the datafeed to be fetched. - */ - datafeedId?: string; - /** - * The ID of the account that manages the datafeed. This account cannot be a multi-client account. - */ - merchantId?: string; - } - export interface Params$Resource$Datafeeds$Get extends StandardParameters { - /** - * The ID of the datafeed. - */ - datafeedId?: string; - /** - * The ID of the account that manages the datafeed. This account cannot be a multi-client account. - */ - merchantId?: string; - } - export interface Params$Resource$Datafeeds$Insert extends StandardParameters { - /** - * The ID of the account that manages the datafeed. This account cannot be a multi-client account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Datafeed; - } - export interface Params$Resource$Datafeeds$List extends StandardParameters { - /** - * The maximum number of products to return in the response, used for paging. - */ - maxResults?: number; - /** - * The ID of the account that manages the datafeeds. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - export interface Params$Resource$Datafeeds$Update extends StandardParameters { - /** - * The ID of the datafeed. - */ - datafeedId?: string; - /** - * The ID of the account that manages the datafeed. This account cannot be a multi-client account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Datafeed; - } - - export class Resource$Datafeedstatuses { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Gets multiple Merchant Center datafeed statuses in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeedstatuses.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Datafeedstatuses$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Datafeedstatuses$Custombatch, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - custombatch( - params: Params$Resource$Datafeedstatuses$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Datafeedstatuses$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Datafeedstatuses$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Datafeedstatuses$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Datafeedstatuses$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeedstatuses$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/datafeedstatuses/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Retrieves the status of a datafeed from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeedstatuses.get({ - * // Deprecated. Use `feedLabel` instead. The country to get the datafeed status for. If this parameter is provided then `language` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target. - * country: 'placeholder-value', - * // The ID of the datafeed. - * datafeedId: 'placeholder-value', - * // The feed label to get the datafeed status for. If this parameter is provided then `language` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target. - * feedLabel: 'placeholder-value', - * // The language to get the datafeed status for. If this parameter is provided then `country` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target. - * language: 'placeholder-value', - * // The ID of the account that manages the datafeed. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "country": "my_country", - * // "datafeedId": "my_datafeedId", - * // "errors": [], - * // "feedLabel": "my_feedLabel", - * // "itemsTotal": "my_itemsTotal", - * // "itemsValid": "my_itemsValid", - * // "kind": "my_kind", - * // "language": "my_language", - * // "lastUploadDate": "my_lastUploadDate", - * // "processingStatus": "my_processingStatus", - * // "warnings": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Datafeedstatuses$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Datafeedstatuses$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Datafeedstatuses$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Datafeedstatuses$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Datafeedstatuses$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Datafeedstatuses$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Datafeedstatuses$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeedstatuses$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/datafeedstatuses/{datafeedId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'datafeedId'], - pathParams: ['datafeedId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the statuses of the datafeeds in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.datafeedstatuses.list({ - * // The maximum number of products to return in the response, used for paging. - * maxResults: 'placeholder-value', - * // The ID of the account that manages the datafeeds. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Datafeedstatuses$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Datafeedstatuses$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Datafeedstatuses$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Datafeedstatuses$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Datafeedstatuses$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Datafeedstatuses$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Datafeedstatuses$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Datafeedstatuses$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/datafeedstatuses' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - } - - export interface Params$Resource$Datafeedstatuses$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$DatafeedstatusesCustomBatchRequest; - } - export interface Params$Resource$Datafeedstatuses$Get extends StandardParameters { - /** - * Deprecated. Use `feedLabel` instead. The country to get the datafeed status for. If this parameter is provided then `language` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target. - */ - country?: string; - /** - * The ID of the datafeed. - */ - datafeedId?: string; - /** - * The feed label to get the datafeed status for. If this parameter is provided then `language` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target. - */ - feedLabel?: string; - /** - * The language to get the datafeed status for. If this parameter is provided then `country` must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target. - */ - language?: string; - /** - * The ID of the account that manages the datafeed. This account cannot be a multi-client account. - */ - merchantId?: string; - } - export interface Params$Resource$Datafeedstatuses$List extends StandardParameters { - /** - * The maximum number of products to return in the response, used for paging. - */ - maxResults?: number; - /** - * The ID of the account that manages the datafeeds. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - - export class Resource$Freelistingsprogram { - context: APIRequestContext; - checkoutsettings: Resource$Freelistingsprogram$Checkoutsettings; - constructor(context: APIRequestContext) { - this.context = context; - this.checkoutsettings = new Resource$Freelistingsprogram$Checkoutsettings( - this.context - ); - } - - /** - * Retrieves the status and review eligibility for the free listing program. Returns errors and warnings if they require action to resolve, will become disapprovals, or impact impressions. Use `accountstatuses` to view all issues for an account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.freelistingsprogram.get({ - * // Required. The ID of the account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "globalState": "my_globalState", - * // "regionStatuses": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Freelistingsprogram$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Freelistingsprogram$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Freelistingsprogram$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Freelistingsprogram$Get, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Freelistingsprogram$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Freelistingsprogram$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Freelistingsprogram$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Freelistingsprogram$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/freelistingsprogram' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Requests a review of free listings in a specific region. This method deprecated. Use the `MerchantSupportService` to view product and account issues and request a review. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.freelistingsprogram.requestreview({ - * // Required. The ID of the account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "regionCode": "my_regionCode" - * // } - * }, - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - requestreview( - params: Params$Resource$Freelistingsprogram$Requestreview, - options: StreamMethodOptions - ): Promise>; - requestreview( - params?: Params$Resource$Freelistingsprogram$Requestreview, - options?: MethodOptions - ): Promise>; - requestreview( - params: Params$Resource$Freelistingsprogram$Requestreview, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestreview( - params: Params$Resource$Freelistingsprogram$Requestreview, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestreview( - params: Params$Resource$Freelistingsprogram$Requestreview, - callback: BodyResponseCallback - ): void; - requestreview(callback: BodyResponseCallback): void; - requestreview( - paramsOrCallback?: - | Params$Resource$Freelistingsprogram$Requestreview - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Freelistingsprogram$Requestreview; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Freelistingsprogram$Requestreview; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/freelistingsprogram/requestreview' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Freelistingsprogram$Get extends StandardParameters { - /** - * Required. The ID of the account. - */ - merchantId?: string; - } - export interface Params$Resource$Freelistingsprogram$Requestreview extends StandardParameters { - /** - * Required. The ID of the account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RequestReviewFreeListingsRequest; - } - - export class Resource$Freelistingsprogram$Checkoutsettings { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Deletes `Checkout` settings and unenrolls merchant from `Checkout` program. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.freelistingsprogram.checkoutsettings.delete({ - * // Required. The ID of the account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Freelistingsprogram$Checkoutsettings$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Freelistingsprogram$Checkoutsettings$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Freelistingsprogram$Checkoutsettings$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Freelistingsprogram$Checkoutsettings$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/freelistingsprogram/checkoutsettings' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets Checkout settings for the given merchant. This includes information about review state, enrollment state and URL settings. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.freelistingsprogram.checkoutsettings.get({ - * // Required. The ID of the account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "effectiveEnrollmentState": "my_effectiveEnrollmentState", - * // "effectiveReviewState": "my_effectiveReviewState", - * // "effectiveUriSettings": {}, - * // "enrollmentState": "my_enrollmentState", - * // "merchantId": "my_merchantId", - * // "reviewState": "my_reviewState", - * // "uriSettings": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Freelistingsprogram$Checkoutsettings$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Freelistingsprogram$Checkoutsettings$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Freelistingsprogram$Checkoutsettings$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Freelistingsprogram$Checkoutsettings$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/freelistingsprogram/checkoutsettings' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Enrolls merchant in `Checkout` program. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.freelistingsprogram.checkoutsettings.insert({ - * // Required. The ID of the account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "uriSettings": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "effectiveEnrollmentState": "my_effectiveEnrollmentState", - * // "effectiveReviewState": "my_effectiveReviewState", - * // "effectiveUriSettings": {}, - * // "enrollmentState": "my_enrollmentState", - * // "merchantId": "my_merchantId", - * // "reviewState": "my_reviewState", - * // "uriSettings": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Freelistingsprogram$Checkoutsettings$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Freelistingsprogram$Checkoutsettings$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Freelistingsprogram$Checkoutsettings$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Freelistingsprogram$Checkoutsettings$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Freelistingsprogram$Checkoutsettings$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/freelistingsprogram/checkoutsettings' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Freelistingsprogram$Checkoutsettings$Delete extends StandardParameters { - /** - * Required. The ID of the account. - */ - merchantId?: string; - } - export interface Params$Resource$Freelistingsprogram$Checkoutsettings$Get extends StandardParameters { - /** - * Required. The ID of the account. - */ - merchantId?: string; - } - export interface Params$Resource$Freelistingsprogram$Checkoutsettings$Insert extends StandardParameters { - /** - * Required. The ID of the account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InsertCheckoutSettingsRequest; - } - - export class Resource$Liasettings { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves and/or updates the LIA settings of multiple accounts in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Liasettings$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Liasettings$Custombatch, - options?: MethodOptions - ): Promise>; - custombatch( - params: Params$Resource$Liasettings$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Liasettings$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Liasettings$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Liasettings$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/liasettings/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Retrieves the LIA settings of the account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.get({ - * // The ID of the account for which to get or update LIA settings. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "countrySettings": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Liasettings$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Liasettings$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Liasettings$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Liasettings$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Liasettings$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Liasettings$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Liasettings$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/liasettings/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves the list of accessible Business Profiles. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.getaccessiblegmbaccounts({ - * // The ID of the account for which to retrieve accessible Business Profiles. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "gmbAccounts": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getaccessiblegmbaccounts( - params: Params$Resource$Liasettings$Getaccessiblegmbaccounts, - options: StreamMethodOptions - ): Promise>; - getaccessiblegmbaccounts( - params?: Params$Resource$Liasettings$Getaccessiblegmbaccounts, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getaccessiblegmbaccounts( - params: Params$Resource$Liasettings$Getaccessiblegmbaccounts, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getaccessiblegmbaccounts( - params: Params$Resource$Liasettings$Getaccessiblegmbaccounts, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getaccessiblegmbaccounts( - params: Params$Resource$Liasettings$Getaccessiblegmbaccounts, - callback: BodyResponseCallback - ): void; - getaccessiblegmbaccounts( - callback: BodyResponseCallback - ): void; - getaccessiblegmbaccounts( - paramsOrCallback?: - | Params$Resource$Liasettings$Getaccessiblegmbaccounts - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Getaccessiblegmbaccounts; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Getaccessiblegmbaccounts; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/liasettings/{accountId}/accessiblegmbaccounts' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Lists the LIA settings of the sub-accounts in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.list({ - * // The maximum number of LIA settings to return in the response, used for paging. - * maxResults: 'placeholder-value', - * // The ID of the managing account. This must be a multi-client account. - * merchantId: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Liasettings$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Liasettings$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Liasettings$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Liasettings$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Liasettings$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Liasettings$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Liasettings$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/liasettings').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves the list of POS data providers that have active settings for the all eiligible countries. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.listposdataproviders({}); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "posDataProviders": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - listposdataproviders( - params: Params$Resource$Liasettings$Listposdataproviders, - options: StreamMethodOptions - ): Promise>; - listposdataproviders( - params?: Params$Resource$Liasettings$Listposdataproviders, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listposdataproviders( - params: Params$Resource$Liasettings$Listposdataproviders, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listposdataproviders( - params: Params$Resource$Liasettings$Listposdataproviders, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listposdataproviders( - params: Params$Resource$Liasettings$Listposdataproviders, - callback: BodyResponseCallback - ): void; - listposdataproviders( - callback: BodyResponseCallback - ): void; - listposdataproviders( - paramsOrCallback?: - | Params$Resource$Liasettings$Listposdataproviders - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Listposdataproviders; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Listposdataproviders; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/liasettings/posdataproviders' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Requests access to a specified Business Profile. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.requestgmbaccess({ - * // The ID of the account for which Business Profile access is requested. - * accountId: 'placeholder-value', - * // The email of the Business Profile. - * gmbEmail: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - requestgmbaccess( - params: Params$Resource$Liasettings$Requestgmbaccess, - options: StreamMethodOptions - ): Promise>; - requestgmbaccess( - params?: Params$Resource$Liasettings$Requestgmbaccess, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - requestgmbaccess( - params: Params$Resource$Liasettings$Requestgmbaccess, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestgmbaccess( - params: Params$Resource$Liasettings$Requestgmbaccess, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestgmbaccess( - params: Params$Resource$Liasettings$Requestgmbaccess, - callback: BodyResponseCallback - ): void; - requestgmbaccess( - callback: BodyResponseCallback - ): void; - requestgmbaccess( - paramsOrCallback?: - | Params$Resource$Liasettings$Requestgmbaccess - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Requestgmbaccess; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Requestgmbaccess; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/liasettings/{accountId}/requestgmbaccess' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId', 'gmbEmail'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Requests inventory validation for the specified country. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.requestinventoryverification({ - * // The ID of the account that manages the order. This cannot be a multi-client account. - * accountId: 'placeholder-value', - * // The country for which inventory validation is requested. - * country: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - requestinventoryverification( - params: Params$Resource$Liasettings$Requestinventoryverification, - options: StreamMethodOptions - ): Promise>; - requestinventoryverification( - params?: Params$Resource$Liasettings$Requestinventoryverification, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - requestinventoryverification( - params: Params$Resource$Liasettings$Requestinventoryverification, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestinventoryverification( - params: Params$Resource$Liasettings$Requestinventoryverification, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestinventoryverification( - params: Params$Resource$Liasettings$Requestinventoryverification, - callback: BodyResponseCallback - ): void; - requestinventoryverification( - callback: BodyResponseCallback - ): void; - requestinventoryverification( - paramsOrCallback?: - | Params$Resource$Liasettings$Requestinventoryverification - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Requestinventoryverification; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Requestinventoryverification; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/liasettings/{accountId}/requestinventoryverification/{country}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId', 'country'], - pathParams: ['accountId', 'country', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Sets the inventory verification contact for the specified country. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.setinventoryverificationcontact({ - * // The ID of the account that manages the order. This cannot be a multi-client account. - * accountId: 'placeholder-value', - * // The email of the inventory verification contact. - * contactEmail: 'placeholder-value', - * // The name of the inventory verification contact. - * contactName: 'placeholder-value', - * // The country for which inventory verification is requested. - * country: 'placeholder-value', - * // The language for which inventory verification is requested. - * language: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - setinventoryverificationcontact( - params: Params$Resource$Liasettings$Setinventoryverificationcontact, - options: StreamMethodOptions - ): Promise>; - setinventoryverificationcontact( - params?: Params$Resource$Liasettings$Setinventoryverificationcontact, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - setinventoryverificationcontact( - params: Params$Resource$Liasettings$Setinventoryverificationcontact, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setinventoryverificationcontact( - params: Params$Resource$Liasettings$Setinventoryverificationcontact, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setinventoryverificationcontact( - params: Params$Resource$Liasettings$Setinventoryverificationcontact, - callback: BodyResponseCallback - ): void; - setinventoryverificationcontact( - callback: BodyResponseCallback - ): void; - setinventoryverificationcontact( - paramsOrCallback?: - | Params$Resource$Liasettings$Setinventoryverificationcontact - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Setinventoryverificationcontact; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Liasettings$Setinventoryverificationcontact; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/liasettings/{accountId}/setinventoryverificationcontact' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'merchantId', - 'accountId', - 'country', - 'language', - 'contactName', - 'contactEmail', - ], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Sets the omnichannel experience for the specified country. Only supported for merchants whose POS data provider is trusted to enable the corresponding experience. For more context, see these help articles [about LFP](https://support.google.com/merchants/answer/7676652) and [how to get started](https://support.google.com/merchants/answer/7676578) with it. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.setomnichannelexperience({ - * // The ID of the account for which to retrieve accessible Business Profiles. - * accountId: 'placeholder-value', - * // The CLDR country code (for example, "US") for which the omnichannel experience is selected. - * country: 'placeholder-value', - * // The Local Store Front (LSF) type for this country. Acceptable values are: - "`ghlsf`" (Google-Hosted Local Store Front) - "`mhlsfBasic`" (Merchant-Hosted Local Store Front Basic) - "`mhlsfFull`" (Merchant-Hosted Local Store Front Full) More details about these types can be found here. - * lsfType: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * // The Pickup types for this country. Acceptable values are: - "`pickupToday`" - "`pickupLater`" - * pickupTypes: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "country": "my_country", - * // "lsfType": "my_lsfType", - * // "pickupTypes": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - setomnichannelexperience( - params: Params$Resource$Liasettings$Setomnichannelexperience, - options: StreamMethodOptions - ): Promise>; - setomnichannelexperience( - params?: Params$Resource$Liasettings$Setomnichannelexperience, - options?: MethodOptions - ): Promise>; - setomnichannelexperience( - params: Params$Resource$Liasettings$Setomnichannelexperience, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setomnichannelexperience( - params: Params$Resource$Liasettings$Setomnichannelexperience, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setomnichannelexperience( - params: Params$Resource$Liasettings$Setomnichannelexperience, - callback: BodyResponseCallback - ): void; - setomnichannelexperience( - callback: BodyResponseCallback - ): void; - setomnichannelexperience( - paramsOrCallback?: - | Params$Resource$Liasettings$Setomnichannelexperience - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Setomnichannelexperience; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Setomnichannelexperience; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/liasettings/{accountId}/setomnichannelexperience' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Sets the POS data provider for the specified country. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.setposdataprovider({ - * // The ID of the account for which to retrieve accessible Business Profiles. - * accountId: 'placeholder-value', - * // The country for which the POS data provider is selected. - * country: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * // The ID of POS data provider. - * posDataProviderId: 'placeholder-value', - * // The account ID by which this merchant is known to the POS data provider. - * posExternalAccountId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - setposdataprovider( - params: Params$Resource$Liasettings$Setposdataprovider, - options: StreamMethodOptions - ): Promise>; - setposdataprovider( - params?: Params$Resource$Liasettings$Setposdataprovider, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - setposdataprovider( - params: Params$Resource$Liasettings$Setposdataprovider, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setposdataprovider( - params: Params$Resource$Liasettings$Setposdataprovider, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setposdataprovider( - params: Params$Resource$Liasettings$Setposdataprovider, - callback: BodyResponseCallback - ): void; - setposdataprovider( - callback: BodyResponseCallback - ): void; - setposdataprovider( - paramsOrCallback?: - | Params$Resource$Liasettings$Setposdataprovider - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Setposdataprovider; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Setposdataprovider; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/liasettings/{accountId}/setposdataprovider' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId', 'country'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates the LIA settings of the account. Any fields that are not provided are deleted from the resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.liasettings.update({ - * // The ID of the account for which to get or update LIA settings. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "countrySettings": [], - * // "kind": "my_kind" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "countrySettings": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Liasettings$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Liasettings$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Liasettings$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Liasettings$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Liasettings$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Liasettings$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Liasettings$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Liasettings$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/liasettings/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Liasettings$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$LiasettingsCustomBatchRequest; - } - export interface Params$Resource$Liasettings$Get extends StandardParameters { - /** - * The ID of the account for which to get or update LIA settings. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - } - export interface Params$Resource$Liasettings$Getaccessiblegmbaccounts extends StandardParameters { - /** - * The ID of the account for which to retrieve accessible Business Profiles. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - } - export interface Params$Resource$Liasettings$List extends StandardParameters { - /** - * The maximum number of LIA settings to return in the response, used for paging. - */ - maxResults?: number; - /** - * The ID of the managing account. This must be a multi-client account. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - export interface Params$Resource$Liasettings$Listposdataproviders extends StandardParameters {} - export interface Params$Resource$Liasettings$Requestgmbaccess extends StandardParameters { - /** - * The ID of the account for which Business Profile access is requested. - */ - accountId?: string; - /** - * The email of the Business Profile. - */ - gmbEmail?: string; - /** - * 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. - */ - merchantId?: string; - } - export interface Params$Resource$Liasettings$Requestinventoryverification extends StandardParameters { - /** - * The ID of the account that manages the order. This cannot be a multi-client account. - */ - accountId?: string; - /** - * The country for which inventory validation is requested. - */ - country?: string; - /** - * 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. - */ - merchantId?: string; - } - export interface Params$Resource$Liasettings$Setinventoryverificationcontact extends StandardParameters { - /** - * The ID of the account that manages the order. This cannot be a multi-client account. - */ - accountId?: string; - /** - * The email of the inventory verification contact. - */ - contactEmail?: string; - /** - * The name of the inventory verification contact. - */ - contactName?: string; - /** - * The country for which inventory verification is requested. - */ - country?: string; - /** - * The language for which inventory verification is requested. - */ - language?: string; - /** - * 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. - */ - merchantId?: string; - } - export interface Params$Resource$Liasettings$Setomnichannelexperience extends StandardParameters { - /** - * The ID of the account for which to retrieve accessible Business Profiles. - */ - accountId?: string; - /** - * The CLDR country code (for example, "US") for which the omnichannel experience is selected. - */ - country?: string; - /** - * The Local Store Front (LSF) type for this country. Acceptable values are: - "`ghlsf`" (Google-Hosted Local Store Front) - "`mhlsfBasic`" (Merchant-Hosted Local Store Front Basic) - "`mhlsfFull`" (Merchant-Hosted Local Store Front Full) More details about these types can be found here. - */ - lsfType?: string; - /** - * 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. - */ - merchantId?: string; - /** - * The Pickup types for this country. Acceptable values are: - "`pickupToday`" - "`pickupLater`" - */ - pickupTypes?: string[]; - } - export interface Params$Resource$Liasettings$Setposdataprovider extends StandardParameters { - /** - * The ID of the account for which to retrieve accessible Business Profiles. - */ - accountId?: string; - /** - * The country for which the POS data provider is selected. - */ - country?: string; - /** - * 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. - */ - merchantId?: string; - /** - * The ID of POS data provider. - */ - posDataProviderId?: string; - /** - * The account ID by which this merchant is known to the POS data provider. - */ - posExternalAccountId?: string; - } - export interface Params$Resource$Liasettings$Update extends StandardParameters { - /** - * The ID of the account for which to get or update LIA settings. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LiaSettings; - } - - export class Resource$Localinventory { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Updates local inventory for multiple products or stores in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.localinventory.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Localinventory$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Localinventory$Custombatch, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - custombatch( - params: Params$Resource$Localinventory$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Localinventory$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Localinventory$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Localinventory$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Localinventory$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Localinventory$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/localinventory/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates the local inventory of a product in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.localinventory.insert({ - * // The ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The REST ID of the product for which to update local inventory. - * productId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "availability": "my_availability", - * // "customAttributes": [], - * // "instoreProductLocation": "my_instoreProductLocation", - * // "kind": "my_kind", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "quantity": 0, - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate", - * // "storeCode": "my_storeCode" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "availability": "my_availability", - * // "customAttributes": [], - * // "instoreProductLocation": "my_instoreProductLocation", - * // "kind": "my_kind", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "quantity": 0, - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate", - * // "storeCode": "my_storeCode" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Localinventory$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Localinventory$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Localinventory$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Localinventory$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Localinventory$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Localinventory$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Localinventory$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Localinventory$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/products/{productId}/localinventory' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Localinventory$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$LocalinventoryCustomBatchRequest; - } - export interface Params$Resource$Localinventory$Insert extends StandardParameters { - /** - * The ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The REST ID of the product for which to update local inventory. - */ - productId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LocalInventory; - } - - export class Resource$Merchantsupport { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Provide a list of merchant's issues with a support content and available actions. This content and actions are meant to be rendered and shown in third-party applications. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.merchantsupport.renderaccountissues({ - * // Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize support content. If not set, the result will be in default language `en-US`. - * languageCode: 'placeholder-value', - * // Required. The ID of the account to fetch issues for. - * merchantId: 'placeholder-value', - * // Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in support content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC. - * timeZone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "contentOption": "my_contentOption", - * // "userInputActionOption": "my_userInputActionOption" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "alternateDisputeResolution": {}, - * // "issues": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - renderaccountissues( - params: Params$Resource$Merchantsupport$Renderaccountissues, - options: StreamMethodOptions - ): Promise>; - renderaccountissues( - params?: Params$Resource$Merchantsupport$Renderaccountissues, - options?: MethodOptions - ): Promise>; - renderaccountissues( - params: Params$Resource$Merchantsupport$Renderaccountissues, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - renderaccountissues( - params: Params$Resource$Merchantsupport$Renderaccountissues, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - renderaccountissues( - params: Params$Resource$Merchantsupport$Renderaccountissues, - callback: BodyResponseCallback - ): void; - renderaccountissues( - callback: BodyResponseCallback - ): void; - renderaccountissues( - paramsOrCallback?: - | Params$Resource$Merchantsupport$Renderaccountissues - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Merchantsupport$Renderaccountissues; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Merchantsupport$Renderaccountissues; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/merchantsupport/renderaccountissues' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Provide a list of issues for merchant's product with a support content and available actions. This content and actions are meant to be rendered and shown in third-party applications. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.merchantsupport.renderproductissues({ - * // Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize support content. If not set, the result will be in default language `en-US`. - * languageCode: 'placeholder-value', - * // Required. The ID of the account that contains the product. - * merchantId: 'placeholder-value', - * // Required. The [REST_ID](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.id) of the product to fetch issues for. - * productId: 'placeholder-value', - * // Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in support content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC. - * timeZone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "contentOption": "my_contentOption", - * // "userInputActionOption": "my_userInputActionOption" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "alternateDisputeResolution": {}, - * // "issues": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - renderproductissues( - params: Params$Resource$Merchantsupport$Renderproductissues, - options: StreamMethodOptions - ): Promise>; - renderproductissues( - params?: Params$Resource$Merchantsupport$Renderproductissues, - options?: MethodOptions - ): Promise>; - renderproductissues( - params: Params$Resource$Merchantsupport$Renderproductissues, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - renderproductissues( - params: Params$Resource$Merchantsupport$Renderproductissues, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - renderproductissues( - params: Params$Resource$Merchantsupport$Renderproductissues, - callback: BodyResponseCallback - ): void; - renderproductissues( - callback: BodyResponseCallback - ): void; - renderproductissues( - paramsOrCallback?: - | Params$Resource$Merchantsupport$Renderproductissues - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Merchantsupport$Renderproductissues; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Merchantsupport$Renderproductissues; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/merchantsupport/renderproductissues/{productId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Start an action. The action can be requested by merchants in third-party application. Before merchants can request the action, the third-party application needs to show them action specific content and display a user input form. You can submit an allowlist request in the [Shopping API Support Form](https://support.google.com/merchants/contact/shopping_api_support_form) under "What is the issue/question?" to get access to this feature. The action can be successfully started only once all `required` inputs are provided. If any `required` input is missing, or invalid value was provided, the service will return 400 error. Validation errors will contain Ids for all problematic field together with translated, human readable error messages that can be shown to the user. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.merchantsupport.triggeraction({ - * // Optional. Language code [IETF BCP 47 syntax](https://tools.ietf.org/html/bcp47) used to localize the response. If not set, the result will be in default language `en-US`. - * languageCode: 'placeholder-value', - * // Required. The ID of the merchant's account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "actionContext": "my_actionContext", - * // "actionInput": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "message": "my_message" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - triggeraction( - params: Params$Resource$Merchantsupport$Triggeraction, - options: StreamMethodOptions - ): Promise>; - triggeraction( - params?: Params$Resource$Merchantsupport$Triggeraction, - options?: MethodOptions - ): Promise>; - triggeraction( - params: Params$Resource$Merchantsupport$Triggeraction, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - triggeraction( - params: Params$Resource$Merchantsupport$Triggeraction, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - triggeraction( - params: Params$Resource$Merchantsupport$Triggeraction, - callback: BodyResponseCallback - ): void; - triggeraction( - callback: BodyResponseCallback - ): void; - triggeraction( - paramsOrCallback?: - | Params$Resource$Merchantsupport$Triggeraction - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Merchantsupport$Triggeraction; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Merchantsupport$Triggeraction; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/merchantsupport/triggeraction' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Merchantsupport$Renderaccountissues extends StandardParameters { - /** - * Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize support content. If not set, the result will be in default language `en-US`. - */ - languageCode?: string; - /** - * Required. The ID of the account to fetch issues for. - */ - merchantId?: string; - /** - * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in support content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC. - */ - timeZone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RenderAccountIssuesRequestPayload; - } - export interface Params$Resource$Merchantsupport$Renderproductissues extends StandardParameters { - /** - * Optional. The [IETF BCP-47](https://tools.ietf.org/html/bcp47) language code used to localize support content. If not set, the result will be in default language `en-US`. - */ - languageCode?: string; - /** - * Required. The ID of the account that contains the product. - */ - merchantId?: string; - /** - * Required. The [REST_ID](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.id) of the product to fetch issues for. - */ - productId?: string; - /** - * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to localize times in support content. For example 'America/Los_Angeles'. If not set, results will use as a default UTC. - */ - timeZone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RenderProductIssuesRequestPayload; - } - export interface Params$Resource$Merchantsupport$Triggeraction extends StandardParameters { - /** - * Optional. Language code [IETF BCP 47 syntax](https://tools.ietf.org/html/bcp47) used to localize the response. If not set, the result will be in default language `en-US`. - */ - languageCode?: string; - /** - * Required. The ID of the merchant's account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TriggerActionPayload; - } - - export class Resource$Ordertrackingsignals { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates new order tracking signal. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.ordertrackingsignals.create({ - * // The ID of the merchant for which the order signal is created. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "customerShippingFee": {}, - * // "deliveryPostalCode": "my_deliveryPostalCode", - * // "deliveryRegionCode": "my_deliveryRegionCode", - * // "lineItems": [], - * // "merchantId": "my_merchantId", - * // "orderCreatedTime": {}, - * // "orderId": "my_orderId", - * // "orderTrackingSignalId": "my_orderTrackingSignalId", - * // "shipmentLineItemMapping": [], - * // "shippingInfo": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "customerShippingFee": {}, - * // "deliveryPostalCode": "my_deliveryPostalCode", - * // "deliveryRegionCode": "my_deliveryRegionCode", - * // "lineItems": [], - * // "merchantId": "my_merchantId", - * // "orderCreatedTime": {}, - * // "orderId": "my_orderId", - * // "orderTrackingSignalId": "my_orderTrackingSignalId", - * // "shipmentLineItemMapping": [], - * // "shippingInfo": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Ordertrackingsignals$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Ordertrackingsignals$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Ordertrackingsignals$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Ordertrackingsignals$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Ordertrackingsignals$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Ordertrackingsignals$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Ordertrackingsignals$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Ordertrackingsignals$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/ordertrackingsignals' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Ordertrackingsignals$Create extends StandardParameters { - /** - * The ID of the merchant for which the order signal is created. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$OrderTrackingSignal; - } - - export class Resource$Pos { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Batches multiple POS-related calls in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pos.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Pos$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Pos$Custombatch, - options?: MethodOptions - ): Promise>; - custombatch( - params: Params$Resource$Pos$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Pos$Custombatch, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Pos$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Pos$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Pos$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pos$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/pos/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes a store for the given merchant. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pos.delete({ - * // The ID of the POS or inventory data provider. - * merchantId: 'placeholder-value', - * // A store code that is unique per merchant. - * storeCode: 'placeholder-value', - * // The ID of the target merchant. - * targetMerchantId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Pos$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Pos$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Pos$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Pos$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Pos$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Pos$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Pos$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pos$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/pos/{targetMerchantId}/store/{storeCode}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'targetMerchantId', 'storeCode'], - pathParams: ['merchantId', 'storeCode', 'targetMerchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves information about the given store. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pos.get({ - * // The ID of the POS or inventory data provider. - * merchantId: 'placeholder-value', - * // A store code that is unique per merchant. - * storeCode: 'placeholder-value', - * // The ID of the target merchant. - * targetMerchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "gcidCategory": [], - * // "kind": "my_kind", - * // "matchingStatus": "my_matchingStatus", - * // "matchingStatusHint": "my_matchingStatusHint", - * // "phoneNumber": "my_phoneNumber", - * // "placeId": "my_placeId", - * // "storeAddress": "my_storeAddress", - * // "storeCode": "my_storeCode", - * // "storeName": "my_storeName", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Pos$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Pos$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Pos$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Pos$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Pos$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Pos$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Pos$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pos$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/pos/{targetMerchantId}/store/{storeCode}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'targetMerchantId', 'storeCode'], - pathParams: ['merchantId', 'storeCode', 'targetMerchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates a store for the given merchant. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pos.insert({ - * // The ID of the POS or inventory data provider. - * merchantId: 'placeholder-value', - * // The ID of the target merchant. - * targetMerchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "gcidCategory": [], - * // "kind": "my_kind", - * // "matchingStatus": "my_matchingStatus", - * // "matchingStatusHint": "my_matchingStatusHint", - * // "phoneNumber": "my_phoneNumber", - * // "placeId": "my_placeId", - * // "storeAddress": "my_storeAddress", - * // "storeCode": "my_storeCode", - * // "storeName": "my_storeName", - * // "websiteUrl": "my_websiteUrl" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "gcidCategory": [], - * // "kind": "my_kind", - * // "matchingStatus": "my_matchingStatus", - * // "matchingStatusHint": "my_matchingStatusHint", - * // "phoneNumber": "my_phoneNumber", - * // "placeId": "my_placeId", - * // "storeAddress": "my_storeAddress", - * // "storeCode": "my_storeCode", - * // "storeName": "my_storeName", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Pos$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Pos$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Pos$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Pos$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Pos$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Pos$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Pos$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pos$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/pos/{targetMerchantId}/store' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'targetMerchantId'], - pathParams: ['merchantId', 'targetMerchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Submit inventory for the given merchant. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pos.inventory({ - * // The ID of the POS or inventory data provider. - * merchantId: 'placeholder-value', - * // The ID of the target merchant. - * targetMerchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "contentLanguage": "my_contentLanguage", - * // "gtin": "my_gtin", - * // "itemId": "my_itemId", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "quantity": "my_quantity", - * // "storeCode": "my_storeCode", - * // "targetCountry": "my_targetCountry", - * // "timestamp": "my_timestamp" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "contentLanguage": "my_contentLanguage", - * // "gtin": "my_gtin", - * // "itemId": "my_itemId", - * // "kind": "my_kind", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "quantity": "my_quantity", - * // "storeCode": "my_storeCode", - * // "targetCountry": "my_targetCountry", - * // "timestamp": "my_timestamp" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - inventory( - params: Params$Resource$Pos$Inventory, - options: StreamMethodOptions - ): Promise>; - inventory( - params?: Params$Resource$Pos$Inventory, - options?: MethodOptions - ): Promise>; - inventory( - params: Params$Resource$Pos$Inventory, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - inventory( - params: Params$Resource$Pos$Inventory, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - inventory( - params: Params$Resource$Pos$Inventory, - callback: BodyResponseCallback - ): void; - inventory( - callback: BodyResponseCallback - ): void; - inventory( - paramsOrCallback?: - | Params$Resource$Pos$Inventory - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Pos$Inventory; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pos$Inventory; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/pos/{targetMerchantId}/inventory' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'targetMerchantId'], - pathParams: ['merchantId', 'targetMerchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the stores of the target merchant. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pos.list({ - * // The ID of the POS or inventory data provider. - * merchantId: 'placeholder-value', - * // The ID of the target merchant. - * targetMerchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Pos$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Pos$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Pos$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Pos$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Pos$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Pos$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Pos$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pos$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/pos/{targetMerchantId}/store' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'targetMerchantId'], - pathParams: ['merchantId', 'targetMerchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Submit a sale event for the given merchant. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pos.sale({ - * // The ID of the POS or inventory data provider. - * merchantId: 'placeholder-value', - * // The ID of the target merchant. - * targetMerchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "contentLanguage": "my_contentLanguage", - * // "gtin": "my_gtin", - * // "itemId": "my_itemId", - * // "price": {}, - * // "quantity": "my_quantity", - * // "saleId": "my_saleId", - * // "storeCode": "my_storeCode", - * // "targetCountry": "my_targetCountry", - * // "timestamp": "my_timestamp" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "contentLanguage": "my_contentLanguage", - * // "gtin": "my_gtin", - * // "itemId": "my_itemId", - * // "kind": "my_kind", - * // "price": {}, - * // "quantity": "my_quantity", - * // "saleId": "my_saleId", - * // "storeCode": "my_storeCode", - * // "targetCountry": "my_targetCountry", - * // "timestamp": "my_timestamp" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - sale( - params: Params$Resource$Pos$Sale, - options: StreamMethodOptions - ): Promise>; - sale( - params?: Params$Resource$Pos$Sale, - options?: MethodOptions - ): Promise>; - sale( - params: Params$Resource$Pos$Sale, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - sale( - params: Params$Resource$Pos$Sale, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - sale( - params: Params$Resource$Pos$Sale, - callback: BodyResponseCallback - ): void; - sale(callback: BodyResponseCallback): void; - sale( - paramsOrCallback?: - | Params$Resource$Pos$Sale - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Pos$Sale; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pos$Sale; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/pos/{targetMerchantId}/sale' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'targetMerchantId'], - pathParams: ['merchantId', 'targetMerchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Pos$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$PosCustomBatchRequest; - } - export interface Params$Resource$Pos$Delete extends StandardParameters { - /** - * The ID of the POS or inventory data provider. - */ - merchantId?: string; - /** - * A store code that is unique per merchant. - */ - storeCode?: string; - /** - * The ID of the target merchant. - */ - targetMerchantId?: string; - } - export interface Params$Resource$Pos$Get extends StandardParameters { - /** - * The ID of the POS or inventory data provider. - */ - merchantId?: string; - /** - * A store code that is unique per merchant. - */ - storeCode?: string; - /** - * The ID of the target merchant. - */ - targetMerchantId?: string; - } - export interface Params$Resource$Pos$Insert extends StandardParameters { - /** - * The ID of the POS or inventory data provider. - */ - merchantId?: string; - /** - * The ID of the target merchant. - */ - targetMerchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$PosStore; - } - export interface Params$Resource$Pos$Inventory extends StandardParameters { - /** - * The ID of the POS or inventory data provider. - */ - merchantId?: string; - /** - * The ID of the target merchant. - */ - targetMerchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$PosInventoryRequest; - } - export interface Params$Resource$Pos$List extends StandardParameters { - /** - * The ID of the POS or inventory data provider. - */ - merchantId?: string; - /** - * The ID of the target merchant. - */ - targetMerchantId?: string; - } - export interface Params$Resource$Pos$Sale extends StandardParameters { - /** - * The ID of the POS or inventory data provider. - */ - merchantId?: string; - /** - * The ID of the target merchant. - */ - targetMerchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$PosSaleRequest; - } - - export class Resource$Productdeliverytime { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates or updates the delivery time of a product. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.productdeliverytime.create({ - * // The Google merchant ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "areaDeliveryTimes": [], - * // "productId": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "areaDeliveryTimes": [], - * // "productId": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Productdeliverytime$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Productdeliverytime$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Productdeliverytime$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Productdeliverytime$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Productdeliverytime$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Productdeliverytime$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Productdeliverytime$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Productdeliverytime$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/productdeliverytime' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes the delivery time of a product. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.productdeliverytime.delete({ - * // Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // Required. The Content API ID of the product, in the form `channel:contentLanguage:targetCountry:offerId`. - * productId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Productdeliverytime$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Productdeliverytime$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Productdeliverytime$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Productdeliverytime$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Productdeliverytime$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Productdeliverytime$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Productdeliverytime$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Productdeliverytime$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/productdeliverytime/{productId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets `productDeliveryTime` by `productId`. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.productdeliverytime.get({ - * // Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // Required. The Content API ID of the product, in the form `channel:contentLanguage:targetCountry:offerId`. - * productId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "areaDeliveryTimes": [], - * // "productId": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Productdeliverytime$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Productdeliverytime$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Productdeliverytime$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Productdeliverytime$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Productdeliverytime$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Productdeliverytime$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Productdeliverytime$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Productdeliverytime$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/productdeliverytime/{productId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Productdeliverytime$Create extends StandardParameters { - /** - * The Google merchant ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ProductDeliveryTime; - } - export interface Params$Resource$Productdeliverytime$Delete extends StandardParameters { - /** - * Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * Required. The Content API ID of the product, in the form `channel:contentLanguage:targetCountry:offerId`. - */ - productId?: string; - } - export interface Params$Resource$Productdeliverytime$Get extends StandardParameters { - /** - * Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * Required. The Content API ID of the product, in the form `channel:contentLanguage:targetCountry:offerId`. - */ - productId?: string; - } - - export class Resource$Products { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves, inserts, and deletes multiple products in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.products.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Products$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Products$Custombatch, - options?: MethodOptions - ): Promise>; - custombatch( - params: Params$Resource$Products$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Products$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Products$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Products$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Products$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Products$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/products/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes a product from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.products.delete({ - * // 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. - * feedId: 'placeholder-value', - * // The ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The REST ID of the product. - * productId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Products$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Products$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Products$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Products$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Products$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Products$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Products$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Products$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/products/{productId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves a product from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.products.get({ - * // The ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The REST ID of the product. - * productId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "additionalImageLinks": [], - * // "additionalSizeType": "my_additionalSizeType", - * // "adsGrouping": "my_adsGrouping", - * // "adsLabels": [], - * // "adsRedirect": "my_adsRedirect", - * // "adult": false, - * // "ageGroup": "my_ageGroup", - * // "autoPricingMinPrice": {}, - * // "availability": "my_availability", - * // "availabilityDate": "my_availabilityDate", - * // "brand": "my_brand", - * // "canonicalLink": "my_canonicalLink", - * // "certifications": [], - * // "channel": "my_channel", - * // "cloudExportAdditionalProperties": [], - * // "color": "my_color", - * // "condition": "my_condition", - * // "contentLanguage": "my_contentLanguage", - * // "costOfGoodsSold": {}, - * // "customAttributes": [], - * // "customLabel0": "my_customLabel0", - * // "customLabel1": "my_customLabel1", - * // "customLabel2": "my_customLabel2", - * // "customLabel3": "my_customLabel3", - * // "customLabel4": "my_customLabel4", - * // "description": "my_description", - * // "disclosureDate": "my_disclosureDate", - * // "displayAdsId": "my_displayAdsId", - * // "displayAdsLink": "my_displayAdsLink", - * // "displayAdsSimilarIds": [], - * // "displayAdsTitle": "my_displayAdsTitle", - * // "displayAdsValue": {}, - * // "energyEfficiencyClass": "my_energyEfficiencyClass", - * // "excludedDestinations": [], - * // "expirationDate": "my_expirationDate", - * // "externalSellerId": "my_externalSellerId", - * // "feedLabel": "my_feedLabel", - * // "freeShippingThreshold": [], - * // "gender": "my_gender", - * // "googleProductCategory": "my_googleProductCategory", - * // "gtin": "my_gtin", - * // "id": "my_id", - * // "identifierExists": false, - * // "imageLink": "my_imageLink", - * // "includedDestinations": [], - * // "installment": {}, - * // "isBundle": false, - * // "itemGroupId": "my_itemGroupId", - * // "kind": "my_kind", - * // "lifestyleImageLinks": [], - * // "link": "my_link", - * // "linkTemplate": "my_linkTemplate", - * // "loyaltyProgram": {}, - * // "loyaltyPrograms": [], - * // "material": "my_material", - * // "maxEnergyEfficiencyClass": "my_maxEnergyEfficiencyClass", - * // "maxHandlingTime": "my_maxHandlingTime", - * // "maximumRetailPrice": {}, - * // "minEnergyEfficiencyClass": "my_minEnergyEfficiencyClass", - * // "minHandlingTime": "my_minHandlingTime", - * // "mobileLink": "my_mobileLink", - * // "mobileLinkTemplate": "my_mobileLinkTemplate", - * // "mpn": "my_mpn", - * // "multipack": "my_multipack", - * // "offerId": "my_offerId", - * // "pattern": "my_pattern", - * // "pause": "my_pause", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "productDetails": [], - * // "productHeight": {}, - * // "productHighlights": [], - * // "productLength": {}, - * // "productTypes": [], - * // "productWeight": {}, - * // "productWidth": {}, - * // "promotionIds": [], - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate", - * // "sellOnGoogleQuantity": "my_sellOnGoogleQuantity", - * // "shipping": [], - * // "shippingHeight": {}, - * // "shippingLabel": "my_shippingLabel", - * // "shippingLength": {}, - * // "shippingWeight": {}, - * // "shippingWidth": {}, - * // "shoppingAdsExcludedCountries": [], - * // "sizeSystem": "my_sizeSystem", - * // "sizeType": "my_sizeType", - * // "sizes": [], - * // "source": "my_source", - * // "structuredDescription": {}, - * // "structuredTitle": {}, - * // "subscriptionCost": {}, - * // "sustainabilityIncentives": [], - * // "targetCountry": "my_targetCountry", - * // "taxCategory": "my_taxCategory", - * // "taxes": [], - * // "title": "my_title", - * // "transitTimeLabel": "my_transitTimeLabel", - * // "unitPricingBaseMeasure": {}, - * // "unitPricingMeasure": {}, - * // "virtualModelLink": "my_virtualModelLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Products$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Products$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Products$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Products$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Products$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Products$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Products$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Products$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/products/{productId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Uploads a product to your Merchant Center account. If an item with the same channel, contentLanguage, offerId, and targetCountry already exists, this method updates that entry. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.products.insert({ - * // The Content API Supplemental Feed ID. If present then product insertion applies to the data in a supplemental feed. - * feedId: 'placeholder-value', - * // The ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "additionalImageLinks": [], - * // "additionalSizeType": "my_additionalSizeType", - * // "adsGrouping": "my_adsGrouping", - * // "adsLabels": [], - * // "adsRedirect": "my_adsRedirect", - * // "adult": false, - * // "ageGroup": "my_ageGroup", - * // "autoPricingMinPrice": {}, - * // "availability": "my_availability", - * // "availabilityDate": "my_availabilityDate", - * // "brand": "my_brand", - * // "canonicalLink": "my_canonicalLink", - * // "certifications": [], - * // "channel": "my_channel", - * // "cloudExportAdditionalProperties": [], - * // "color": "my_color", - * // "condition": "my_condition", - * // "contentLanguage": "my_contentLanguage", - * // "costOfGoodsSold": {}, - * // "customAttributes": [], - * // "customLabel0": "my_customLabel0", - * // "customLabel1": "my_customLabel1", - * // "customLabel2": "my_customLabel2", - * // "customLabel3": "my_customLabel3", - * // "customLabel4": "my_customLabel4", - * // "description": "my_description", - * // "disclosureDate": "my_disclosureDate", - * // "displayAdsId": "my_displayAdsId", - * // "displayAdsLink": "my_displayAdsLink", - * // "displayAdsSimilarIds": [], - * // "displayAdsTitle": "my_displayAdsTitle", - * // "displayAdsValue": {}, - * // "energyEfficiencyClass": "my_energyEfficiencyClass", - * // "excludedDestinations": [], - * // "expirationDate": "my_expirationDate", - * // "externalSellerId": "my_externalSellerId", - * // "feedLabel": "my_feedLabel", - * // "freeShippingThreshold": [], - * // "gender": "my_gender", - * // "googleProductCategory": "my_googleProductCategory", - * // "gtin": "my_gtin", - * // "id": "my_id", - * // "identifierExists": false, - * // "imageLink": "my_imageLink", - * // "includedDestinations": [], - * // "installment": {}, - * // "isBundle": false, - * // "itemGroupId": "my_itemGroupId", - * // "kind": "my_kind", - * // "lifestyleImageLinks": [], - * // "link": "my_link", - * // "linkTemplate": "my_linkTemplate", - * // "loyaltyProgram": {}, - * // "loyaltyPrograms": [], - * // "material": "my_material", - * // "maxEnergyEfficiencyClass": "my_maxEnergyEfficiencyClass", - * // "maxHandlingTime": "my_maxHandlingTime", - * // "maximumRetailPrice": {}, - * // "minEnergyEfficiencyClass": "my_minEnergyEfficiencyClass", - * // "minHandlingTime": "my_minHandlingTime", - * // "mobileLink": "my_mobileLink", - * // "mobileLinkTemplate": "my_mobileLinkTemplate", - * // "mpn": "my_mpn", - * // "multipack": "my_multipack", - * // "offerId": "my_offerId", - * // "pattern": "my_pattern", - * // "pause": "my_pause", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "productDetails": [], - * // "productHeight": {}, - * // "productHighlights": [], - * // "productLength": {}, - * // "productTypes": [], - * // "productWeight": {}, - * // "productWidth": {}, - * // "promotionIds": [], - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate", - * // "sellOnGoogleQuantity": "my_sellOnGoogleQuantity", - * // "shipping": [], - * // "shippingHeight": {}, - * // "shippingLabel": "my_shippingLabel", - * // "shippingLength": {}, - * // "shippingWeight": {}, - * // "shippingWidth": {}, - * // "shoppingAdsExcludedCountries": [], - * // "sizeSystem": "my_sizeSystem", - * // "sizeType": "my_sizeType", - * // "sizes": [], - * // "source": "my_source", - * // "structuredDescription": {}, - * // "structuredTitle": {}, - * // "subscriptionCost": {}, - * // "sustainabilityIncentives": [], - * // "targetCountry": "my_targetCountry", - * // "taxCategory": "my_taxCategory", - * // "taxes": [], - * // "title": "my_title", - * // "transitTimeLabel": "my_transitTimeLabel", - * // "unitPricingBaseMeasure": {}, - * // "unitPricingMeasure": {}, - * // "virtualModelLink": "my_virtualModelLink" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "additionalImageLinks": [], - * // "additionalSizeType": "my_additionalSizeType", - * // "adsGrouping": "my_adsGrouping", - * // "adsLabels": [], - * // "adsRedirect": "my_adsRedirect", - * // "adult": false, - * // "ageGroup": "my_ageGroup", - * // "autoPricingMinPrice": {}, - * // "availability": "my_availability", - * // "availabilityDate": "my_availabilityDate", - * // "brand": "my_brand", - * // "canonicalLink": "my_canonicalLink", - * // "certifications": [], - * // "channel": "my_channel", - * // "cloudExportAdditionalProperties": [], - * // "color": "my_color", - * // "condition": "my_condition", - * // "contentLanguage": "my_contentLanguage", - * // "costOfGoodsSold": {}, - * // "customAttributes": [], - * // "customLabel0": "my_customLabel0", - * // "customLabel1": "my_customLabel1", - * // "customLabel2": "my_customLabel2", - * // "customLabel3": "my_customLabel3", - * // "customLabel4": "my_customLabel4", - * // "description": "my_description", - * // "disclosureDate": "my_disclosureDate", - * // "displayAdsId": "my_displayAdsId", - * // "displayAdsLink": "my_displayAdsLink", - * // "displayAdsSimilarIds": [], - * // "displayAdsTitle": "my_displayAdsTitle", - * // "displayAdsValue": {}, - * // "energyEfficiencyClass": "my_energyEfficiencyClass", - * // "excludedDestinations": [], - * // "expirationDate": "my_expirationDate", - * // "externalSellerId": "my_externalSellerId", - * // "feedLabel": "my_feedLabel", - * // "freeShippingThreshold": [], - * // "gender": "my_gender", - * // "googleProductCategory": "my_googleProductCategory", - * // "gtin": "my_gtin", - * // "id": "my_id", - * // "identifierExists": false, - * // "imageLink": "my_imageLink", - * // "includedDestinations": [], - * // "installment": {}, - * // "isBundle": false, - * // "itemGroupId": "my_itemGroupId", - * // "kind": "my_kind", - * // "lifestyleImageLinks": [], - * // "link": "my_link", - * // "linkTemplate": "my_linkTemplate", - * // "loyaltyProgram": {}, - * // "loyaltyPrograms": [], - * // "material": "my_material", - * // "maxEnergyEfficiencyClass": "my_maxEnergyEfficiencyClass", - * // "maxHandlingTime": "my_maxHandlingTime", - * // "maximumRetailPrice": {}, - * // "minEnergyEfficiencyClass": "my_minEnergyEfficiencyClass", - * // "minHandlingTime": "my_minHandlingTime", - * // "mobileLink": "my_mobileLink", - * // "mobileLinkTemplate": "my_mobileLinkTemplate", - * // "mpn": "my_mpn", - * // "multipack": "my_multipack", - * // "offerId": "my_offerId", - * // "pattern": "my_pattern", - * // "pause": "my_pause", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "productDetails": [], - * // "productHeight": {}, - * // "productHighlights": [], - * // "productLength": {}, - * // "productTypes": [], - * // "productWeight": {}, - * // "productWidth": {}, - * // "promotionIds": [], - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate", - * // "sellOnGoogleQuantity": "my_sellOnGoogleQuantity", - * // "shipping": [], - * // "shippingHeight": {}, - * // "shippingLabel": "my_shippingLabel", - * // "shippingLength": {}, - * // "shippingWeight": {}, - * // "shippingWidth": {}, - * // "shoppingAdsExcludedCountries": [], - * // "sizeSystem": "my_sizeSystem", - * // "sizeType": "my_sizeType", - * // "sizes": [], - * // "source": "my_source", - * // "structuredDescription": {}, - * // "structuredTitle": {}, - * // "subscriptionCost": {}, - * // "sustainabilityIncentives": [], - * // "targetCountry": "my_targetCountry", - * // "taxCategory": "my_taxCategory", - * // "taxes": [], - * // "title": "my_title", - * // "transitTimeLabel": "my_transitTimeLabel", - * // "unitPricingBaseMeasure": {}, - * // "unitPricingMeasure": {}, - * // "virtualModelLink": "my_virtualModelLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Products$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Products$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Products$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Products$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Products$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Products$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Products$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Products$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/products').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the products in your Merchant Center account. The response might contain fewer items than specified by maxResults. Rely on nextPageToken to determine if there are more items to be requested. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.products.list({ - * // The maximum number of products to return in the response, used for paging. The default value is 25. The maximum value is 250. - * maxResults: 'placeholder-value', - * // The ID of the account that contains the products. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Products$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Products$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Products$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Products$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Products$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Products$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Products$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Products$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/products').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing product in your Merchant Center account. Only updates attributes provided in the request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.products.update({ - * // The ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The REST ID of the product for which to update. - * productId: 'placeholder-value', - * // 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. *You must specify the update mask to delete attributes.* 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. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "additionalImageLinks": [], - * // "additionalSizeType": "my_additionalSizeType", - * // "adsGrouping": "my_adsGrouping", - * // "adsLabels": [], - * // "adsRedirect": "my_adsRedirect", - * // "adult": false, - * // "ageGroup": "my_ageGroup", - * // "autoPricingMinPrice": {}, - * // "availability": "my_availability", - * // "availabilityDate": "my_availabilityDate", - * // "brand": "my_brand", - * // "canonicalLink": "my_canonicalLink", - * // "certifications": [], - * // "channel": "my_channel", - * // "cloudExportAdditionalProperties": [], - * // "color": "my_color", - * // "condition": "my_condition", - * // "contentLanguage": "my_contentLanguage", - * // "costOfGoodsSold": {}, - * // "customAttributes": [], - * // "customLabel0": "my_customLabel0", - * // "customLabel1": "my_customLabel1", - * // "customLabel2": "my_customLabel2", - * // "customLabel3": "my_customLabel3", - * // "customLabel4": "my_customLabel4", - * // "description": "my_description", - * // "disclosureDate": "my_disclosureDate", - * // "displayAdsId": "my_displayAdsId", - * // "displayAdsLink": "my_displayAdsLink", - * // "displayAdsSimilarIds": [], - * // "displayAdsTitle": "my_displayAdsTitle", - * // "displayAdsValue": {}, - * // "energyEfficiencyClass": "my_energyEfficiencyClass", - * // "excludedDestinations": [], - * // "expirationDate": "my_expirationDate", - * // "externalSellerId": "my_externalSellerId", - * // "feedLabel": "my_feedLabel", - * // "freeShippingThreshold": [], - * // "gender": "my_gender", - * // "googleProductCategory": "my_googleProductCategory", - * // "gtin": "my_gtin", - * // "id": "my_id", - * // "identifierExists": false, - * // "imageLink": "my_imageLink", - * // "includedDestinations": [], - * // "installment": {}, - * // "isBundle": false, - * // "itemGroupId": "my_itemGroupId", - * // "kind": "my_kind", - * // "lifestyleImageLinks": [], - * // "link": "my_link", - * // "linkTemplate": "my_linkTemplate", - * // "loyaltyProgram": {}, - * // "loyaltyPrograms": [], - * // "material": "my_material", - * // "maxEnergyEfficiencyClass": "my_maxEnergyEfficiencyClass", - * // "maxHandlingTime": "my_maxHandlingTime", - * // "maximumRetailPrice": {}, - * // "minEnergyEfficiencyClass": "my_minEnergyEfficiencyClass", - * // "minHandlingTime": "my_minHandlingTime", - * // "mobileLink": "my_mobileLink", - * // "mobileLinkTemplate": "my_mobileLinkTemplate", - * // "mpn": "my_mpn", - * // "multipack": "my_multipack", - * // "offerId": "my_offerId", - * // "pattern": "my_pattern", - * // "pause": "my_pause", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "productDetails": [], - * // "productHeight": {}, - * // "productHighlights": [], - * // "productLength": {}, - * // "productTypes": [], - * // "productWeight": {}, - * // "productWidth": {}, - * // "promotionIds": [], - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate", - * // "sellOnGoogleQuantity": "my_sellOnGoogleQuantity", - * // "shipping": [], - * // "shippingHeight": {}, - * // "shippingLabel": "my_shippingLabel", - * // "shippingLength": {}, - * // "shippingWeight": {}, - * // "shippingWidth": {}, - * // "shoppingAdsExcludedCountries": [], - * // "sizeSystem": "my_sizeSystem", - * // "sizeType": "my_sizeType", - * // "sizes": [], - * // "source": "my_source", - * // "structuredDescription": {}, - * // "structuredTitle": {}, - * // "subscriptionCost": {}, - * // "sustainabilityIncentives": [], - * // "targetCountry": "my_targetCountry", - * // "taxCategory": "my_taxCategory", - * // "taxes": [], - * // "title": "my_title", - * // "transitTimeLabel": "my_transitTimeLabel", - * // "unitPricingBaseMeasure": {}, - * // "unitPricingMeasure": {}, - * // "virtualModelLink": "my_virtualModelLink" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "additionalImageLinks": [], - * // "additionalSizeType": "my_additionalSizeType", - * // "adsGrouping": "my_adsGrouping", - * // "adsLabels": [], - * // "adsRedirect": "my_adsRedirect", - * // "adult": false, - * // "ageGroup": "my_ageGroup", - * // "autoPricingMinPrice": {}, - * // "availability": "my_availability", - * // "availabilityDate": "my_availabilityDate", - * // "brand": "my_brand", - * // "canonicalLink": "my_canonicalLink", - * // "certifications": [], - * // "channel": "my_channel", - * // "cloudExportAdditionalProperties": [], - * // "color": "my_color", - * // "condition": "my_condition", - * // "contentLanguage": "my_contentLanguage", - * // "costOfGoodsSold": {}, - * // "customAttributes": [], - * // "customLabel0": "my_customLabel0", - * // "customLabel1": "my_customLabel1", - * // "customLabel2": "my_customLabel2", - * // "customLabel3": "my_customLabel3", - * // "customLabel4": "my_customLabel4", - * // "description": "my_description", - * // "disclosureDate": "my_disclosureDate", - * // "displayAdsId": "my_displayAdsId", - * // "displayAdsLink": "my_displayAdsLink", - * // "displayAdsSimilarIds": [], - * // "displayAdsTitle": "my_displayAdsTitle", - * // "displayAdsValue": {}, - * // "energyEfficiencyClass": "my_energyEfficiencyClass", - * // "excludedDestinations": [], - * // "expirationDate": "my_expirationDate", - * // "externalSellerId": "my_externalSellerId", - * // "feedLabel": "my_feedLabel", - * // "freeShippingThreshold": [], - * // "gender": "my_gender", - * // "googleProductCategory": "my_googleProductCategory", - * // "gtin": "my_gtin", - * // "id": "my_id", - * // "identifierExists": false, - * // "imageLink": "my_imageLink", - * // "includedDestinations": [], - * // "installment": {}, - * // "isBundle": false, - * // "itemGroupId": "my_itemGroupId", - * // "kind": "my_kind", - * // "lifestyleImageLinks": [], - * // "link": "my_link", - * // "linkTemplate": "my_linkTemplate", - * // "loyaltyProgram": {}, - * // "loyaltyPrograms": [], - * // "material": "my_material", - * // "maxEnergyEfficiencyClass": "my_maxEnergyEfficiencyClass", - * // "maxHandlingTime": "my_maxHandlingTime", - * // "maximumRetailPrice": {}, - * // "minEnergyEfficiencyClass": "my_minEnergyEfficiencyClass", - * // "minHandlingTime": "my_minHandlingTime", - * // "mobileLink": "my_mobileLink", - * // "mobileLinkTemplate": "my_mobileLinkTemplate", - * // "mpn": "my_mpn", - * // "multipack": "my_multipack", - * // "offerId": "my_offerId", - * // "pattern": "my_pattern", - * // "pause": "my_pause", - * // "pickupMethod": "my_pickupMethod", - * // "pickupSla": "my_pickupSla", - * // "price": {}, - * // "productDetails": [], - * // "productHeight": {}, - * // "productHighlights": [], - * // "productLength": {}, - * // "productTypes": [], - * // "productWeight": {}, - * // "productWidth": {}, - * // "promotionIds": [], - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate", - * // "sellOnGoogleQuantity": "my_sellOnGoogleQuantity", - * // "shipping": [], - * // "shippingHeight": {}, - * // "shippingLabel": "my_shippingLabel", - * // "shippingLength": {}, - * // "shippingWeight": {}, - * // "shippingWidth": {}, - * // "shoppingAdsExcludedCountries": [], - * // "sizeSystem": "my_sizeSystem", - * // "sizeType": "my_sizeType", - * // "sizes": [], - * // "source": "my_source", - * // "structuredDescription": {}, - * // "structuredTitle": {}, - * // "subscriptionCost": {}, - * // "sustainabilityIncentives": [], - * // "targetCountry": "my_targetCountry", - * // "taxCategory": "my_taxCategory", - * // "taxes": [], - * // "title": "my_title", - * // "transitTimeLabel": "my_transitTimeLabel", - * // "unitPricingBaseMeasure": {}, - * // "unitPricingMeasure": {}, - * // "virtualModelLink": "my_virtualModelLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Products$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Products$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Products$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Products$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Products$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Products$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Products$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Products$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/products/{productId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Products$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$ProductsCustomBatchRequest; - } - export interface Params$Resource$Products$Delete extends StandardParameters { - /** - * 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. - */ - feedId?: string; - /** - * The ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The REST ID of the product. - */ - productId?: string; - } - export interface Params$Resource$Products$Get extends StandardParameters { - /** - * The ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The REST ID of the product. - */ - productId?: string; - } - export interface Params$Resource$Products$Insert extends StandardParameters { - /** - * The Content API Supplemental Feed ID. If present then product insertion applies to the data in a supplemental feed. - */ - feedId?: string; - /** - * The ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Product; - } - export interface Params$Resource$Products$List extends StandardParameters { - /** - * The maximum number of products to return in the response, used for paging. The default value is 25. The maximum value is 250. - */ - maxResults?: number; - /** - * The ID of the account that contains the products. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - export interface Params$Resource$Products$Update extends StandardParameters { - /** - * The ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The REST ID of the product for which to update. - */ - productId?: string; - /** - * 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. *You must specify the update mask to delete attributes.* 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. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Product; - } - - export class Resource$Productstatuses { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Gets the statuses of multiple products in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.productstatuses.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Productstatuses$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Productstatuses$Custombatch, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - custombatch( - params: Params$Resource$Productstatuses$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Productstatuses$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Productstatuses$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Productstatuses$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Productstatuses$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Productstatuses$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/productstatuses/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Gets the status of a product from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.productstatuses.get({ - * // If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - * destinations: 'placeholder-value', - * // The ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The REST ID of the product. - * productId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "creationDate": "my_creationDate", - * // "destinationStatuses": [], - * // "googleExpirationDate": "my_googleExpirationDate", - * // "itemLevelIssues": [], - * // "kind": "my_kind", - * // "lastUpdateDate": "my_lastUpdateDate", - * // "link": "my_link", - * // "productId": "my_productId", - * // "title": "my_title" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Productstatuses$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Productstatuses$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Productstatuses$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Productstatuses$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Productstatuses$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Productstatuses$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Productstatuses$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Productstatuses$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/productstatuses/{productId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the statuses of the products in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.productstatuses.list({ - * // If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - * destinations: 'placeholder-value', - * // The maximum number of product statuses to return in the response, used for paging. The default value is 25. The maximum value is 250. - * maxResults: 'placeholder-value', - * // The ID of the account that contains the products. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Productstatuses$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Productstatuses$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Productstatuses$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Productstatuses$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Productstatuses$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Productstatuses$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Productstatuses$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Productstatuses$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/productstatuses' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Productstatuses$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$ProductstatusesCustomBatchRequest; - } - export interface Params$Resource$Productstatuses$Get extends StandardParameters { - /** - * If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - */ - destinations?: string[]; - /** - * The ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The REST ID of the product. - */ - productId?: string; - } - export interface Params$Resource$Productstatuses$List extends StandardParameters { - /** - * If set, only issues for the specified destinations are returned, otherwise only issues for the Shopping destination. - */ - destinations?: string[]; - /** - * The maximum number of product statuses to return in the response, used for paging. The default value is 25. The maximum value is 250. - */ - maxResults?: number; - /** - * The ID of the account that contains the products. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - - export class Resource$Promotions { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Inserts a promotion for your Merchant Center account. If the promotion already exists, then it updates the promotion instead. To [end or delete] (https://developers.google.com/shopping-content/guides/promotions#end_a_promotion) a promotion update the time period of the promotion to a time that has already passed. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.promotions.create({ - * // Required. The ID of the account that contains the collection. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "brand": [], - * // "brandExclusion": [], - * // "contentLanguage": "my_contentLanguage", - * // "couponValueType": "my_couponValueType", - * // "customRedemptionRestriction": "my_customRedemptionRestriction", - * // "freeGiftDescription": "my_freeGiftDescription", - * // "freeGiftItemId": "my_freeGiftItemId", - * // "freeGiftValue": {}, - * // "genericRedemptionCode": "my_genericRedemptionCode", - * // "getThisQuantityDiscounted": 0, - * // "id": "my_id", - * // "itemGroupId": [], - * // "itemGroupIdExclusion": [], - * // "itemId": [], - * // "itemIdExclusion": [], - * // "limitQuantity": 0, - * // "limitValue": {}, - * // "longTitle": "my_longTitle", - * // "maxDiscountAmount": {}, - * // "minimumPurchaseAmount": {}, - * // "minimumPurchaseQuantity": 0, - * // "moneyBudget": {}, - * // "moneyOffAmount": {}, - * // "offerType": "my_offerType", - * // "orderLimit": 0, - * // "percentOff": 0, - * // "productApplicability": "my_productApplicability", - * // "productType": [], - * // "productTypeExclusion": [], - * // "promotionDestinationIds": [], - * // "promotionDisplayDates": "my_promotionDisplayDates", - * // "promotionDisplayTimePeriod": {}, - * // "promotionEffectiveDates": "my_promotionEffectiveDates", - * // "promotionEffectiveTimePeriod": {}, - * // "promotionId": "my_promotionId", - * // "promotionStatus": {}, - * // "promotionUrl": "my_promotionUrl", - * // "redemptionChannel": [], - * // "redemptionRestriction": "my_redemptionRestriction", - * // "shippingServiceNames": [], - * // "storeApplicability": "my_storeApplicability", - * // "storeCode": [], - * // "storeCodeExclusion": [], - * // "targetCountry": "my_targetCountry" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "brand": [], - * // "brandExclusion": [], - * // "contentLanguage": "my_contentLanguage", - * // "couponValueType": "my_couponValueType", - * // "customRedemptionRestriction": "my_customRedemptionRestriction", - * // "freeGiftDescription": "my_freeGiftDescription", - * // "freeGiftItemId": "my_freeGiftItemId", - * // "freeGiftValue": {}, - * // "genericRedemptionCode": "my_genericRedemptionCode", - * // "getThisQuantityDiscounted": 0, - * // "id": "my_id", - * // "itemGroupId": [], - * // "itemGroupIdExclusion": [], - * // "itemId": [], - * // "itemIdExclusion": [], - * // "limitQuantity": 0, - * // "limitValue": {}, - * // "longTitle": "my_longTitle", - * // "maxDiscountAmount": {}, - * // "minimumPurchaseAmount": {}, - * // "minimumPurchaseQuantity": 0, - * // "moneyBudget": {}, - * // "moneyOffAmount": {}, - * // "offerType": "my_offerType", - * // "orderLimit": 0, - * // "percentOff": 0, - * // "productApplicability": "my_productApplicability", - * // "productType": [], - * // "productTypeExclusion": [], - * // "promotionDestinationIds": [], - * // "promotionDisplayDates": "my_promotionDisplayDates", - * // "promotionDisplayTimePeriod": {}, - * // "promotionEffectiveDates": "my_promotionEffectiveDates", - * // "promotionEffectiveTimePeriod": {}, - * // "promotionId": "my_promotionId", - * // "promotionStatus": {}, - * // "promotionUrl": "my_promotionUrl", - * // "redemptionChannel": [], - * // "redemptionRestriction": "my_redemptionRestriction", - * // "shippingServiceNames": [], - * // "storeApplicability": "my_storeApplicability", - * // "storeCode": [], - * // "storeCodeExclusion": [], - * // "targetCountry": "my_targetCountry" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Promotions$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Promotions$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Promotions$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Promotions$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Promotions$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Promotions$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Promotions$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Promotions$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/promotions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves a promotion from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.promotions.get({ - * // Required. REST ID of the promotion to retrieve. - * id: 'placeholder-value', - * // Required. The ID of the account that contains the collection. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "brand": [], - * // "brandExclusion": [], - * // "contentLanguage": "my_contentLanguage", - * // "couponValueType": "my_couponValueType", - * // "customRedemptionRestriction": "my_customRedemptionRestriction", - * // "freeGiftDescription": "my_freeGiftDescription", - * // "freeGiftItemId": "my_freeGiftItemId", - * // "freeGiftValue": {}, - * // "genericRedemptionCode": "my_genericRedemptionCode", - * // "getThisQuantityDiscounted": 0, - * // "id": "my_id", - * // "itemGroupId": [], - * // "itemGroupIdExclusion": [], - * // "itemId": [], - * // "itemIdExclusion": [], - * // "limitQuantity": 0, - * // "limitValue": {}, - * // "longTitle": "my_longTitle", - * // "maxDiscountAmount": {}, - * // "minimumPurchaseAmount": {}, - * // "minimumPurchaseQuantity": 0, - * // "moneyBudget": {}, - * // "moneyOffAmount": {}, - * // "offerType": "my_offerType", - * // "orderLimit": 0, - * // "percentOff": 0, - * // "productApplicability": "my_productApplicability", - * // "productType": [], - * // "productTypeExclusion": [], - * // "promotionDestinationIds": [], - * // "promotionDisplayDates": "my_promotionDisplayDates", - * // "promotionDisplayTimePeriod": {}, - * // "promotionEffectiveDates": "my_promotionEffectiveDates", - * // "promotionEffectiveTimePeriod": {}, - * // "promotionId": "my_promotionId", - * // "promotionStatus": {}, - * // "promotionUrl": "my_promotionUrl", - * // "redemptionChannel": [], - * // "redemptionRestriction": "my_redemptionRestriction", - * // "shippingServiceNames": [], - * // "storeApplicability": "my_storeApplicability", - * // "storeCode": [], - * // "storeCodeExclusion": [], - * // "targetCountry": "my_targetCountry" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Promotions$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Promotions$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Promotions$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Promotions$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Promotions$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Promotions$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Promotions$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Promotions$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/promotions/{id}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'id'], - pathParams: ['id', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * List all promotions from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.promotions.list({ - * // [CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) (for example, "US"), used as a filter on promotions target country. - * countryCode: 'placeholder-value', - * // The two-letter ISO 639-1 language code associated with the promotions, used as a filter. - * languageCode: 'placeholder-value', - * // Required. The ID of the account that contains the collection. - * merchantId: 'placeholder-value', - * // The maximum number of promotions to return. The service may return fewer than this value. If unspecified, at most 50 labels will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListPromotion` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotion` must match the call that provided the page token. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "nextPageToken": "my_nextPageToken", - * // "promotions": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Promotions$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Promotions$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Promotions$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Promotions$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Promotions$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Promotions$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Promotions$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Promotions$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/promotions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Promotions$Create extends StandardParameters { - /** - * Required. The ID of the account that contains the collection. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Promotion; - } - export interface Params$Resource$Promotions$Get extends StandardParameters { - /** - * Required. REST ID of the promotion to retrieve. - */ - id?: string; - /** - * Required. The ID of the account that contains the collection. - */ - merchantId?: string; - } - export interface Params$Resource$Promotions$List extends StandardParameters { - /** - * [CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) (for example, "US"), used as a filter on promotions target country. - */ - countryCode?: string; - /** - * The two-letter ISO 639-1 language code associated with the promotions, used as a filter. - */ - languageCode?: string; - /** - * Required. The ID of the account that contains the collection. - */ - merchantId?: string; - /** - * The maximum number of promotions to return. The service may return fewer than this value. If unspecified, at most 50 labels will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * A page token, received from a previous `ListPromotion` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotion` must match the call that provided the page token. - */ - pageToken?: string; - } - - export class Resource$Pubsubnotificationsettings { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves a Merchant Center account's pubsub notification settings. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pubsubnotificationsettings.get({ - * // The ID of the account for which to get pubsub notification settings. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "cloudTopicName": "my_cloudTopicName", - * // "kind": "my_kind", - * // "registeredEvents": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Pubsubnotificationsettings$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Pubsubnotificationsettings$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Pubsubnotificationsettings$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Pubsubnotificationsettings$Get, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Pubsubnotificationsettings$Get, - callback: BodyResponseCallback - ): void; - get( - callback: BodyResponseCallback - ): void; - get( - paramsOrCallback?: - | Params$Resource$Pubsubnotificationsettings$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Pubsubnotificationsettings$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pubsubnotificationsettings$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/pubsubnotificationsettings' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Register a Merchant Center account for pubsub notifications. Note that cloud topic name shouldn't be provided as part of the request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.pubsubnotificationsettings.update({ - * // The ID of the account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "cloudTopicName": "my_cloudTopicName", - * // "kind": "my_kind", - * // "registeredEvents": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "cloudTopicName": "my_cloudTopicName", - * // "kind": "my_kind", - * // "registeredEvents": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Pubsubnotificationsettings$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Pubsubnotificationsettings$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Pubsubnotificationsettings$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Pubsubnotificationsettings$Update, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Pubsubnotificationsettings$Update, - callback: BodyResponseCallback - ): void; - update( - callback: BodyResponseCallback - ): void; - update( - paramsOrCallback?: - | Params$Resource$Pubsubnotificationsettings$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Pubsubnotificationsettings$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Pubsubnotificationsettings$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/pubsubnotificationsettings' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Pubsubnotificationsettings$Get extends StandardParameters { - /** - * The ID of the account for which to get pubsub notification settings. - */ - merchantId?: string; - } - export interface Params$Resource$Pubsubnotificationsettings$Update extends StandardParameters { - /** - * The ID of the account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$PubsubNotificationSettings; - } - - export class Resource$Quotas { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Lists the daily call quota and usage per method for your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.quotas.list({ - * // Required. The ID of the account that has quota. This account must be an admin. - * merchantId: 'placeholder-value', - * // The maximum number of quotas to return in the response, used for paging. Defaults to 500; values above 1000 will be coerced to 1000. - * pageSize: 'placeholder-value', - * // Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "methodQuotas": [], - * // "nextPageToken": "my_nextPageToken" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Quotas$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Quotas$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Quotas$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Quotas$List, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Quotas$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Quotas$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Quotas$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Quotas$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/quotas').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Quotas$List extends StandardParameters { - /** - * Required. The ID of the account that has quota. This account must be an admin. - */ - merchantId?: string; - /** - * The maximum number of quotas to return in the response, used for paging. Defaults to 500; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * Token (if provided) to retrieve the subsequent page. All other parameters must match the original call that provided the page token. - */ - pageToken?: string; - } - - export class Resource$Recommendations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Generates recommendations for a merchant. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.recommendations.generate({ - * // Optional. List of allowed tags. Tags are a set of predefined strings that describe the category that individual recommendation types belong to. User can specify zero or more tags in this field to indicate what categories of recommendations they want to receive. Current list of supported tags: - TREND - * allowedTag: 'placeholder-value', - * // Optional. Language code of the client. If not set, the result will be in default language (English). This language code affects all fields prefixed with "localized". This should be set to ISO 639-1 country code. List of currently verified supported language code: en, fr, cs, da, de, es, it, nl, no, pl, pt, pt, fi, sv, vi, tr, th, ko, zh-CN, zh-TW, ja, id, hi - * languageCode: 'placeholder-value', - * // Required. The ID of the account to fetch recommendations for. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "recommendations": [], - * // "responseToken": "my_responseToken" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - generate( - params: Params$Resource$Recommendations$Generate, - options: StreamMethodOptions - ): Promise>; - generate( - params?: Params$Resource$Recommendations$Generate, - options?: MethodOptions - ): Promise>; - generate( - params: Params$Resource$Recommendations$Generate, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generate( - params: Params$Resource$Recommendations$Generate, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generate( - params: Params$Resource$Recommendations$Generate, - callback: BodyResponseCallback - ): void; - generate( - callback: BodyResponseCallback - ): void; - generate( - paramsOrCallback?: - | Params$Resource$Recommendations$Generate - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Recommendations$Generate; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Recommendations$Generate; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/recommendations/generate' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Reports an interaction on a recommendation for a merchant. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.recommendations.reportInteraction({ - * // Required. The ID of the account that wants to report an interaction. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "interactionType": "my_interactionType", - * // "responseToken": "my_responseToken", - * // "subtype": "my_subtype", - * // "type": "my_type" - * // } - * }, - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - reportInteraction( - params: Params$Resource$Recommendations$Reportinteraction, - options: StreamMethodOptions - ): Promise>; - reportInteraction( - params?: Params$Resource$Recommendations$Reportinteraction, - options?: MethodOptions - ): Promise>; - reportInteraction( - params: Params$Resource$Recommendations$Reportinteraction, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - reportInteraction( - params: Params$Resource$Recommendations$Reportinteraction, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - reportInteraction( - params: Params$Resource$Recommendations$Reportinteraction, - callback: BodyResponseCallback - ): void; - reportInteraction(callback: BodyResponseCallback): void; - reportInteraction( - paramsOrCallback?: - | Params$Resource$Recommendations$Reportinteraction - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Recommendations$Reportinteraction; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Recommendations$Reportinteraction; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/recommendations/reportInteraction' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Recommendations$Generate extends StandardParameters { - /** - * Optional. List of allowed tags. Tags are a set of predefined strings that describe the category that individual recommendation types belong to. User can specify zero or more tags in this field to indicate what categories of recommendations they want to receive. Current list of supported tags: - TREND - */ - allowedTag?: string[]; - /** - * Optional. Language code of the client. If not set, the result will be in default language (English). This language code affects all fields prefixed with "localized". This should be set to ISO 639-1 country code. List of currently verified supported language code: en, fr, cs, da, de, es, it, nl, no, pl, pt, pt, fi, sv, vi, tr, th, ko, zh-CN, zh-TW, ja, id, hi - */ - languageCode?: string; - /** - * Required. The ID of the account to fetch recommendations for. - */ - merchantId?: string; - } - export interface Params$Resource$Recommendations$Reportinteraction extends StandardParameters { - /** - * Required. The ID of the account that wants to report an interaction. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ReportInteractionRequest; - } - - export class Resource$Regionalinventory { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Updates regional inventory for multiple products or regions in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.regionalinventory.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Regionalinventory$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Regionalinventory$Custombatch, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - custombatch( - params: Params$Resource$Regionalinventory$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Regionalinventory$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Regionalinventory$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Regionalinventory$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Regionalinventory$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Regionalinventory$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/regionalinventory/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates the regional inventory of a product in your Merchant Center account. If a regional inventory with the same region ID already exists, this method updates that entry. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.regionalinventory.insert({ - * // The ID of the account that contains the product. This account cannot be a multi-client account. - * merchantId: 'placeholder-value', - * // The REST ID of the product for which to update the regional inventory. - * productId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "availability": "my_availability", - * // "customAttributes": [], - * // "kind": "my_kind", - * // "price": {}, - * // "regionId": "my_regionId", - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "availability": "my_availability", - * // "customAttributes": [], - * // "kind": "my_kind", - * // "price": {}, - * // "regionId": "my_regionId", - * // "salePrice": {}, - * // "salePriceEffectiveDate": "my_salePriceEffectiveDate" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Regionalinventory$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Regionalinventory$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Regionalinventory$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Regionalinventory$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Regionalinventory$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Regionalinventory$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Regionalinventory$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Regionalinventory$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/products/{productId}/regionalinventory' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'productId'], - pathParams: ['merchantId', 'productId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Regionalinventory$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$RegionalinventoryCustomBatchRequest; - } - export interface Params$Resource$Regionalinventory$Insert extends StandardParameters { - /** - * The ID of the account that contains the product. This account cannot be a multi-client account. - */ - merchantId?: string; - /** - * The REST ID of the product for which to update the regional inventory. - */ - productId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RegionalInventory; - } - - export class Resource$Regions { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates a region definition in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.regions.create({ - * // Required. The id of the merchant for which to create region definition. - * merchantId: 'placeholder-value', - * // Required. The id of the region to create. - * regionId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "displayName": "my_displayName", - * // "geotargetArea": {}, - * // "merchantId": "my_merchantId", - * // "postalCodeArea": {}, - * // "regionId": "my_regionId", - * // "regionalInventoryEligible": false, - * // "shippingEligible": false - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "displayName": "my_displayName", - * // "geotargetArea": {}, - * // "merchantId": "my_merchantId", - * // "postalCodeArea": {}, - * // "regionId": "my_regionId", - * // "regionalInventoryEligible": false, - * // "shippingEligible": false - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Regions$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Regions$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Regions$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Regions$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Regions$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Regions$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Regions$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Regions$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/regions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes a region definition from your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.regions.delete({ - * // Required. The id of the merchant for which to delete region definition. - * merchantId: 'placeholder-value', - * // Required. The id of the region to delete. - * regionId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Regions$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Regions$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Regions$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Regions$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Regions$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Regions$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Regions$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Regions$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/regions/{regionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'regionId'], - pathParams: ['merchantId', 'regionId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves a region defined in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.regions.get({ - * // Required. The id of the merchant for which to retrieve region definition. - * merchantId: 'placeholder-value', - * // Required. The id of the region to retrieve. - * regionId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "displayName": "my_displayName", - * // "geotargetArea": {}, - * // "merchantId": "my_merchantId", - * // "postalCodeArea": {}, - * // "regionId": "my_regionId", - * // "regionalInventoryEligible": false, - * // "shippingEligible": false - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Regions$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Regions$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Regions$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Regions$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Regions$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Regions$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Regions$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Regions$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/regions/{regionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'regionId'], - pathParams: ['merchantId', 'regionId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists the regions in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.regions.list({ - * // Required. The id of the merchant for which to list region definitions. - * merchantId: 'placeholder-value', - * // The maximum number of regions to return. The service may return fewer than this value. If unspecified, at most 50 rules will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListRegions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegions` must match the call that provided the page token. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "nextPageToken": "my_nextPageToken", - * // "regions": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Regions$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Regions$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Regions$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Regions$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Regions$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Regions$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Regions$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Regions$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/{merchantId}/regions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates a region definition in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.regions.patch({ - * // Required. The id of the merchant for which to update region definition. - * merchantId: 'placeholder-value', - * // Required. The id of the region to update. - * regionId: 'placeholder-value', - * // Optional. The comma-separated field mask indicating the fields to update. Example: `"displayName,postalCodeArea.regionCode"`. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "displayName": "my_displayName", - * // "geotargetArea": {}, - * // "merchantId": "my_merchantId", - * // "postalCodeArea": {}, - * // "regionId": "my_regionId", - * // "regionalInventoryEligible": false, - * // "shippingEligible": false - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "displayName": "my_displayName", - * // "geotargetArea": {}, - * // "merchantId": "my_merchantId", - * // "postalCodeArea": {}, - * // "regionId": "my_regionId", - * // "regionalInventoryEligible": false, - * // "shippingEligible": false - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Regions$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Regions$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Regions$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Regions$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Regions$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Regions$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Regions$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Regions$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/regions/{regionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'regionId'], - pathParams: ['merchantId', 'regionId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Regions$Create extends StandardParameters { - /** - * Required. The id of the merchant for which to create region definition. - */ - merchantId?: string; - /** - * Required. The id of the region to create. - */ - regionId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Region; - } - export interface Params$Resource$Regions$Delete extends StandardParameters { - /** - * Required. The id of the merchant for which to delete region definition. - */ - merchantId?: string; - /** - * Required. The id of the region to delete. - */ - regionId?: string; - } - export interface Params$Resource$Regions$Get extends StandardParameters { - /** - * Required. The id of the merchant for which to retrieve region definition. - */ - merchantId?: string; - /** - * Required. The id of the region to retrieve. - */ - regionId?: string; - } - export interface Params$Resource$Regions$List extends StandardParameters { - /** - * Required. The id of the merchant for which to list region definitions. - */ - merchantId?: string; - /** - * The maximum number of regions to return. The service may return fewer than this value. If unspecified, at most 50 rules will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * A page token, received from a previous `ListRegions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRegions` must match the call that provided the page token. - */ - pageToken?: string; - } - export interface Params$Resource$Regions$Patch extends StandardParameters { - /** - * Required. The id of the merchant for which to update region definition. - */ - merchantId?: string; - /** - * Required. The id of the region to update. - */ - regionId?: string; - /** - * Optional. The comma-separated field mask indicating the fields to update. Example: `"displayName,postalCodeArea.regionCode"`. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Region; - } - - export class Resource$Reports { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves merchant performance metrics matching the search query and optionally segmented by selected dimensions. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.reports.search({ - * // Required. Id of the merchant making the call. Must be a standalone account or an MCA subaccount. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "pageSize": 0, - * // "pageToken": "my_pageToken", - * // "query": "my_query" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "nextPageToken": "my_nextPageToken", - * // "results": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - search( - params: Params$Resource$Reports$Search, - options: StreamMethodOptions - ): Promise>; - search( - params?: Params$Resource$Reports$Search, - options?: MethodOptions - ): Promise>; - search( - params: Params$Resource$Reports$Search, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - search( - params: Params$Resource$Reports$Search, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - search( - params: Params$Resource$Reports$Search, - callback: BodyResponseCallback - ): void; - search(callback: BodyResponseCallback): void; - search( - paramsOrCallback?: - | Params$Resource$Reports$Search - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Reports$Search; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Reports$Search; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/reports/search' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Reports$Search extends StandardParameters { - /** - * Required. Id of the merchant making the call. Must be a standalone account or an MCA subaccount. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SearchRequest; - } - - export class Resource$Returnpolicyonline { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates a new return policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.returnpolicyonline.create({ - * // Required. The id of the merchant for which to retrieve the return policy online object. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "countries": [], - * // "itemConditions": [], - * // "label": "my_label", - * // "name": "my_name", - * // "policy": {}, - * // "restockingFee": {}, - * // "returnMethods": [], - * // "returnPolicyId": "my_returnPolicyId", - * // "returnPolicyUri": "my_returnPolicyUri", - * // "returnReasonCategoryInfo": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "countries": [], - * // "itemConditions": [], - * // "label": "my_label", - * // "name": "my_name", - * // "policy": {}, - * // "restockingFee": {}, - * // "returnMethods": [], - * // "returnPolicyId": "my_returnPolicyId", - * // "returnPolicyUri": "my_returnPolicyUri", - * // "returnReasonCategoryInfo": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Returnpolicyonline$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Returnpolicyonline$Create, - options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Returnpolicyonline$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Returnpolicyonline$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Returnpolicyonline$Create, - callback: BodyResponseCallback - ): void; - create(callback: BodyResponseCallback): void; - create( - paramsOrCallback?: - | Params$Resource$Returnpolicyonline$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Returnpolicyonline$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Returnpolicyonline$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/returnpolicyonline' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes an existing return policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.returnpolicyonline.delete({ - * // Required. The id of the merchant for which to retrieve the return policy online object. - * merchantId: 'placeholder-value', - * // Required. The id of the return policy to delete. - * returnPolicyId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Returnpolicyonline$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Returnpolicyonline$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Returnpolicyonline$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Returnpolicyonline$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Returnpolicyonline$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Returnpolicyonline$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Returnpolicyonline$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Returnpolicyonline$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/returnpolicyonline/{returnPolicyId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'returnPolicyId'], - pathParams: ['merchantId', 'returnPolicyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets an existing return policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.returnpolicyonline.get({ - * // Required. The id of the merchant for which to retrieve the return policy online object. - * merchantId: 'placeholder-value', - * // Required. The id of the return policy to retrieve. - * returnPolicyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "countries": [], - * // "itemConditions": [], - * // "label": "my_label", - * // "name": "my_name", - * // "policy": {}, - * // "restockingFee": {}, - * // "returnMethods": [], - * // "returnPolicyId": "my_returnPolicyId", - * // "returnPolicyUri": "my_returnPolicyUri", - * // "returnReasonCategoryInfo": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Returnpolicyonline$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Returnpolicyonline$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Returnpolicyonline$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Returnpolicyonline$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Returnpolicyonline$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Returnpolicyonline$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Returnpolicyonline$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Returnpolicyonline$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/returnpolicyonline/{returnPolicyId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'returnPolicyId'], - pathParams: ['merchantId', 'returnPolicyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists all existing return policies. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.returnpolicyonline.list({ - * // Required. The id of the merchant for which to retrieve the return policy online object. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "returnPolicies": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Returnpolicyonline$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Returnpolicyonline$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Returnpolicyonline$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Returnpolicyonline$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Returnpolicyonline$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Returnpolicyonline$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Returnpolicyonline$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Returnpolicyonline$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/returnpolicyonline' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates an existing return policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.returnpolicyonline.patch({ - * // Required. The id of the merchant for which to retrieve the return policy online object. - * merchantId: 'placeholder-value', - * // Required. The id of the return policy to update. - * returnPolicyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "countries": [], - * // "itemConditions": [], - * // "label": "my_label", - * // "name": "my_name", - * // "policy": {}, - * // "restockingFee": {}, - * // "returnMethods": [], - * // "returnPolicyId": "my_returnPolicyId", - * // "returnPolicyUri": "my_returnPolicyUri", - * // "returnReasonCategoryInfo": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "countries": [], - * // "itemConditions": [], - * // "label": "my_label", - * // "name": "my_name", - * // "policy": {}, - * // "restockingFee": {}, - * // "returnMethods": [], - * // "returnPolicyId": "my_returnPolicyId", - * // "returnPolicyUri": "my_returnPolicyUri", - * // "returnReasonCategoryInfo": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Returnpolicyonline$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Returnpolicyonline$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Returnpolicyonline$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Returnpolicyonline$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Returnpolicyonline$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Returnpolicyonline$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Returnpolicyonline$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Returnpolicyonline$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/returnpolicyonline/{returnPolicyId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'returnPolicyId'], - pathParams: ['merchantId', 'returnPolicyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Returnpolicyonline$Create extends StandardParameters { - /** - * Required. The id of the merchant for which to retrieve the return policy online object. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ReturnPolicyOnline; - } - export interface Params$Resource$Returnpolicyonline$Delete extends StandardParameters { - /** - * Required. The id of the merchant for which to retrieve the return policy online object. - */ - merchantId?: string; - /** - * Required. The id of the return policy to delete. - */ - returnPolicyId?: string; - } - export interface Params$Resource$Returnpolicyonline$Get extends StandardParameters { - /** - * Required. The id of the merchant for which to retrieve the return policy online object. - */ - merchantId?: string; - /** - * Required. The id of the return policy to retrieve. - */ - returnPolicyId?: string; - } - export interface Params$Resource$Returnpolicyonline$List extends StandardParameters { - /** - * Required. The id of the merchant for which to retrieve the return policy online object. - */ - merchantId?: string; - } - export interface Params$Resource$Returnpolicyonline$Patch extends StandardParameters { - /** - * Required. The id of the merchant for which to retrieve the return policy online object. - */ - merchantId?: string; - /** - * Required. The id of the return policy to update. - */ - returnPolicyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ReturnPolicyOnline; - } - - export class Resource$Shippingsettings { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves and updates the shipping settings of multiple accounts in a single request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shippingsettings.custombatch({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entries": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entries": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - custombatch( - params: Params$Resource$Shippingsettings$Custombatch, - options: StreamMethodOptions - ): Promise>; - custombatch( - params?: Params$Resource$Shippingsettings$Custombatch, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - custombatch( - params: Params$Resource$Shippingsettings$Custombatch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Shippingsettings$Custombatch, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - custombatch( - params: Params$Resource$Shippingsettings$Custombatch, - callback: BodyResponseCallback - ): void; - custombatch( - callback: BodyResponseCallback - ): void; - custombatch( - paramsOrCallback?: - | Params$Resource$Shippingsettings$Custombatch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shippingsettings$Custombatch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Shippingsettings$Custombatch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/content/v2.1/shippingsettings/batch').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Retrieves the shipping settings of the account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shippingsettings.get({ - * // The ID of the account for which to get/update shipping settings. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "postalCodeGroups": [], - * // "services": [], - * // "warehouses": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Shippingsettings$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Shippingsettings$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Shippingsettings$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Shippingsettings$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Shippingsettings$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Shippingsettings$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shippingsettings$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Shippingsettings$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/shippingsettings/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves supported carriers and carrier services for an account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shippingsettings.getsupportedcarriers({ - * // The ID of the account for which to retrieve the supported carriers. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "carriers": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getsupportedcarriers( - params: Params$Resource$Shippingsettings$Getsupportedcarriers, - options: StreamMethodOptions - ): Promise>; - getsupportedcarriers( - params?: Params$Resource$Shippingsettings$Getsupportedcarriers, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getsupportedcarriers( - params: Params$Resource$Shippingsettings$Getsupportedcarriers, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getsupportedcarriers( - params: Params$Resource$Shippingsettings$Getsupportedcarriers, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getsupportedcarriers( - params: Params$Resource$Shippingsettings$Getsupportedcarriers, - callback: BodyResponseCallback - ): void; - getsupportedcarriers( - callback: BodyResponseCallback - ): void; - getsupportedcarriers( - paramsOrCallback?: - | Params$Resource$Shippingsettings$Getsupportedcarriers - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shippingsettings$Getsupportedcarriers; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Shippingsettings$Getsupportedcarriers; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/supportedCarriers' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Retrieves supported holidays for an account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shippingsettings.getsupportedholidays({ - * // The ID of the account for which to retrieve the supported holidays. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "holidays": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getsupportedholidays( - params: Params$Resource$Shippingsettings$Getsupportedholidays, - options: StreamMethodOptions - ): Promise>; - getsupportedholidays( - params?: Params$Resource$Shippingsettings$Getsupportedholidays, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getsupportedholidays( - params: Params$Resource$Shippingsettings$Getsupportedholidays, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getsupportedholidays( - params: Params$Resource$Shippingsettings$Getsupportedholidays, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getsupportedholidays( - params: Params$Resource$Shippingsettings$Getsupportedholidays, - callback: BodyResponseCallback - ): void; - getsupportedholidays( - callback: BodyResponseCallback - ): void; - getsupportedholidays( - paramsOrCallback?: - | Params$Resource$Shippingsettings$Getsupportedholidays - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shippingsettings$Getsupportedholidays; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Shippingsettings$Getsupportedholidays; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/supportedHolidays' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Retrieves supported pickup services for an account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shippingsettings.getsupportedpickupservices({ - * // The ID of the account for which to retrieve the supported pickup services. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "pickupServices": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getsupportedpickupservices( - params: Params$Resource$Shippingsettings$Getsupportedpickupservices, - options: StreamMethodOptions - ): Promise>; - getsupportedpickupservices( - params?: Params$Resource$Shippingsettings$Getsupportedpickupservices, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getsupportedpickupservices( - params: Params$Resource$Shippingsettings$Getsupportedpickupservices, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getsupportedpickupservices( - params: Params$Resource$Shippingsettings$Getsupportedpickupservices, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getsupportedpickupservices( - params: Params$Resource$Shippingsettings$Getsupportedpickupservices, - callback: BodyResponseCallback - ): void; - getsupportedpickupservices( - callback: BodyResponseCallback - ): void; - getsupportedpickupservices( - paramsOrCallback?: - | Params$Resource$Shippingsettings$Getsupportedpickupservices - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shippingsettings$Getsupportedpickupservices; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Shippingsettings$Getsupportedpickupservices; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/supportedPickupServices' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Lists the shipping settings of the sub-accounts in your Merchant Center account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shippingsettings.list({ - * // The maximum number of shipping settings to return in the response, used for paging. - * maxResults: 'placeholder-value', - * // The ID of the managing account. This must be a multi-client account. - * merchantId: 'placeholder-value', - * // The token returned by the previous request. - * pageToken: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "resources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Shippingsettings$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Shippingsettings$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Shippingsettings$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Shippingsettings$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Shippingsettings$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Shippingsettings$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shippingsettings$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Shippingsettings$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/shippingsettings' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates the shipping settings of the account. Any fields that are not provided are deleted from the resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shippingsettings.update({ - * // The ID of the account for which to get/update shipping settings. - * accountId: 'placeholder-value', - * // 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. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "postalCodeGroups": [], - * // "services": [], - * // "warehouses": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "postalCodeGroups": [], - * // "services": [], - * // "warehouses": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Shippingsettings$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Shippingsettings$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Shippingsettings$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Shippingsettings$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Shippingsettings$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Shippingsettings$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shippingsettings$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Shippingsettings$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/shippingsettings/{accountId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'accountId'], - pathParams: ['accountId', 'merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Shippingsettings$Custombatch extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$ShippingsettingsCustomBatchRequest; - } - export interface Params$Resource$Shippingsettings$Get extends StandardParameters { - /** - * The ID of the account for which to get/update shipping settings. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - } - export interface Params$Resource$Shippingsettings$Getsupportedcarriers extends StandardParameters { - /** - * The ID of the account for which to retrieve the supported carriers. - */ - merchantId?: string; - } - export interface Params$Resource$Shippingsettings$Getsupportedholidays extends StandardParameters { - /** - * The ID of the account for which to retrieve the supported holidays. - */ - merchantId?: string; - } - export interface Params$Resource$Shippingsettings$Getsupportedpickupservices extends StandardParameters { - /** - * The ID of the account for which to retrieve the supported pickup services. - */ - merchantId?: string; - } - export interface Params$Resource$Shippingsettings$List extends StandardParameters { - /** - * The maximum number of shipping settings to return in the response, used for paging. - */ - maxResults?: number; - /** - * The ID of the managing account. This must be a multi-client account. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - } - export interface Params$Resource$Shippingsettings$Update extends StandardParameters { - /** - * The ID of the account for which to get/update shipping settings. - */ - accountId?: string; - /** - * 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. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ShippingSettings; - } - - export class Resource$Shoppingadsprogram { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves the status and review eligibility for the Shopping Ads program. Returns errors and warnings if they require action to resolve, will become disapprovals, or impact impressions. Use `accountstatuses` to view all issues for an account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shoppingadsprogram.get({ - * // Required. The ID of the account. - * merchantId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "globalState": "my_globalState", - * // "regionStatuses": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Shoppingadsprogram$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Shoppingadsprogram$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Shoppingadsprogram$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Shoppingadsprogram$Get, - options: - MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Shoppingadsprogram$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Shoppingadsprogram$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shoppingadsprogram$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Shoppingadsprogram$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/shoppingadsprogram' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Requests a review of Shopping ads in a specific region. This method deprecated. Use the `MerchantSupportService` to view product and account issues and request a review. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/content.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const content = google.content('v2.1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/content'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await content.shoppingadsprogram.requestreview({ - * // Required. The ID of the account. - * merchantId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "regionCode": "my_regionCode" - * // } - * }, - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - requestreview( - params: Params$Resource$Shoppingadsprogram$Requestreview, - options: StreamMethodOptions - ): Promise>; - requestreview( - params?: Params$Resource$Shoppingadsprogram$Requestreview, - options?: MethodOptions - ): Promise>; - requestreview( - params: Params$Resource$Shoppingadsprogram$Requestreview, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestreview( - params: Params$Resource$Shoppingadsprogram$Requestreview, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestreview( - params: Params$Resource$Shoppingadsprogram$Requestreview, - callback: BodyResponseCallback - ): void; - requestreview(callback: BodyResponseCallback): void; - requestreview( - paramsOrCallback?: - | Params$Resource$Shoppingadsprogram$Requestreview - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Shoppingadsprogram$Requestreview; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Shoppingadsprogram$Requestreview; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/shoppingadsprogram/requestreview' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Shoppingadsprogram$Get extends StandardParameters { - /** - * Required. The ID of the account. - */ - merchantId?: string; - } - export interface Params$Resource$Shoppingadsprogram$Requestreview extends StandardParameters { - /** - * Required. The ID of the account. - */ - merchantId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RequestReviewShoppingAdsRequest; - } -} diff --git a/src/apis/contentwarehouse/package.json b/src/apis/contentwarehouse/package.json index d135464f3a6..95cda45def0 100644 --- a/src/apis/contentwarehouse/package.json +++ b/src/apis/contentwarehouse/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/css/package.json b/src/apis/css/package.json index 05f0b5ed3b7..00b7c1db97e 100644 --- a/src/apis/css/package.json +++ b/src/apis/css/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/curationpartners/README.md b/src/apis/curationpartners/README.md new file mode 100644 index 00000000000..c03e26f2339 --- /dev/null +++ b/src/apis/curationpartners/README.md @@ -0,0 +1,28 @@ +Google Inc. logo + +# curationpartners + +> Curation partners API is an externally available HTTP API for curators to programmatically manage their data segments and curated packages used by ad agencies. + +## Installation + +```sh +$ npm install @googleapis/curationpartners +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/curationpartners/classes/Curationpartners.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/curationpartners/index.ts b/src/apis/curationpartners/index.ts new file mode 100644 index 00000000000..183bee0f6bd --- /dev/null +++ b/src/apis/curationpartners/index.ts @@ -0,0 +1,47 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {curationpartners_v1} from './v1'; + +export const VERSIONS = { + v1: curationpartners_v1.Curationpartners, +}; + +export function curationpartners( + version: 'v1' +): curationpartners_v1.Curationpartners; +export function curationpartners( + options: curationpartners_v1.Options +): curationpartners_v1.Curationpartners; +export function curationpartners( + this: GoogleConfigurable, + versionOrOptions: 'v1' | curationpartners_v1.Options +) { + return getAPI('curationpartners', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {curationpartners_v1}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/curationpartners/package.json b/src/apis/curationpartners/package.json new file mode 100644 index 00000000000..3c1d4773bfa --- /dev/null +++ b/src/apis/curationpartners/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/curationpartners", + "version": "0.1.0", + "description": "curationpartners", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=22.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^9.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^6.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "5.7.3", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/curationpartners/tsconfig.json b/src/apis/curationpartners/tsconfig.json new file mode 100644 index 00000000000..e0810904968 --- /dev/null +++ b/src/apis/curationpartners/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/curationpartners/v1.ts b/src/apis/curationpartners/v1.ts new file mode 100644 index 00000000000..971c346fcf1 --- /dev/null +++ b/src/apis/curationpartners/v1.ts @@ -0,0 +1,4409 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosResponseWithHTTP2, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace curationpartners_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * 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. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * 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. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Curation Partners API + * + * Curation partners API is an externally available HTTP API for curators to programmatically manage their data segments and curated packages used by ad agencies. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * ``` + */ + export class Curationpartners { + context: APIRequestContext; + curators: Resource$Curators; + mediaPlanners: Resource$Mediaplanners; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.curators = new Resource$Curators(this.context); + this.mediaPlanners = new Resource$Mediaplanners(this.context); + } + } + + /** + * Settings for controlling access to a curated package. + */ + export interface Schema$AccessControlSettings { + /** + * Required. Immutable. The list of media planners that are explicitly granted access to the curated package. Eligible media planners can be found in the mediaPlanners.list method. Only a single media planner may be allowlisted at this time. Format: `mediaPlanners/{mediaPlannerAccountId\}` + */ + allowlistedMediaPlanners?: string[] | null; + } + /** + * Request message for ActivateCuratedPackage. + */ + export interface Schema$ActivateCuratedPackageRequest {} + /** + * Request message for activating a data segment + */ + export interface Schema$ActivateDataSegmentRequest {} + /** + * Represents size of a single ad slot, or a creative. + */ + export interface Schema$AdSize { + /** + * The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`. + */ + height?: string | null; + /** + * The type of the ad slot size. + */ + type?: string | null; + /** + * The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`. + */ + width?: string | null; + } + /** + * Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax. + */ + export interface Schema$CriteriaTargeting { + /** + * A list of numeric IDs to be excluded. + */ + excludedCriteriaIds?: string[] | null; + /** + * A list of numeric IDs to be included. + */ + targetedCriteriaIds?: string[] | null; + } + /** + * Represents a curated package of inventory created and managed by a Curator. + */ + export interface Schema$CuratedPackage { + /** + * Required. Settings for controlling access to the curated package. Access to this curated package is limited to the allowlisted media planners and the creator. Buyers and bidders can not be allowlisted for or have direct access to this resource. + */ + accessSettings?: Schema$AccessControlSettings; + /** + * Output only. The timestamp when the curated package was created. Can be used to filter the response of the curatedPackages.list method. + */ + createTime?: string | null; + /** + * Optional. Immutable. The visibility of the combined curation package fee and data segment fees (the total curation fee). + */ + curationFeeVisibility?: string | null; + /** + * Optional. A description of the curated package, provided by the curator. + */ + description?: string | null; + /** + * Required. The display name assigned to the curated package by the curator. Can be used to filter the response of the curatedPackages.list method. + */ + displayName?: string | null; + /** + * Optional. The CPM fee charged by the curator to buyers using this curated package. Can be used to filter the response of the curatedPackages.list method. + */ + feeCpm?: Schema$Money; + /** + * Optional. The minimum CPM a buyer has to bid to participate in auctions for inventory in this curated package. Can be used to filter the response of the curatedPackages.list method. + */ + floorPriceCpm?: Schema$Money; + /** + * Optional. The fee will be charged as a percentage of the impression cost, represented in millipercent. For example, 1% is represented as 1000. + */ + millipercentOfMediaFee?: string | null; + /** + * Identifier. The unique resource name for the curated package. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + */ + name?: string | null; + /** + * Output only. The state of the curated package. Can be used to filter the response of the curatedPackages.list method. + */ + state?: string | null; + /** + * Optional. Targeting criteria for the curated package. + */ + targeting?: Schema$PackageTargeting; + /** + * Output only. The timestamp when the curated package was last updated. Can be used to filter the response of the curatedPackages.list method. + */ + updateTime?: string | null; + } + /** + * Defines an identifier for a segment of inventory that can be targeted by curators or media planners in the deals or auction packages UI. Curation of inventory is done by curators on external platforms. -- Next ID: 9 -- + */ + export interface Schema$DataSegment { + /** + * Optional. A fixed fee charged per thousand impressions. Once set, the currency code cannot be changed. + */ + cpmFee?: Schema$Money; + /** + * Output only. Time the data segment was created. + */ + createTime?: string | null; + /** + * Optional. The fee will be charged as a percentage of the impression cost, represented in millipercent. For example, 1% is represented as 1000. + */ + millipercentOfMediaFee?: string | null; + /** + * Immutable. Identifier. The unique identifier for the data segment. Account ID corresponds to the account ID that created the segment. Format: `curators/{curatorAccountId\}/dataSegments/{curatorDataSegmentId\}` + */ + name?: string | null; + /** + * Output only. The state of the data segment. + */ + state?: string | null; + /** + * Output only. Time the data segment was last updated. + */ + updateTime?: string | null; + /** + * Optional. Immutable. The ID of the User List wrapped by this Data Segment. Curators with a linked Data Partner account can create a data segment that wraps a user list owned by the linked Data Partner account. User lists can be uploaded and managed using the [Data Manager API](https://developers.google.com/data-manager/api/data-partners/audiences). Linking a user list to a data segment lets you define a segment of inventory that is based on an audience you create. + */ + userListId?: string | null; + } + /** + * 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 + */ + export interface Schema$Date { + /** + * 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. + */ + day?: number | null; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + month?: number | null; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + year?: number | null; + } + /** + * A date range for a report. + */ + export interface Schema$DateRange { + /** + * A fixed date range. + */ + fixed?: Schema$FixedDateRange; + /** + * A relative date range. + */ + relative?: string | null; + } + /** + * Request message for DeactivateCuratedPackage. + */ + export interface Schema$DeactivateCuratedPackageRequest {} + /** + * Request message for deactivating a data segment + */ + export interface Schema$DeactivateDataSegmentRequest {} + /** + * A list of double values. + */ + export interface Schema$DoubleList { + /** + * The values + */ + values?: number[] | null; + } + /** + * 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); \} + */ + export interface Schema$Empty {} + /** + * The response message for the fetch report result rows endpoint. + */ + export interface Schema$FetchReportResultRowsResponse { + /** + * The computed fixed date ranges this report includes. Only returned with the first page of results (when page_token is not included in the request). + */ + dateRanges?: Schema$FixedDateRange[]; + /** + * A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Up to `page_size` rows of report data. + */ + rows?: Schema$Row[]; + /** + * The time at which the report was scheduled to run. For non-scheduled reports, this is the time at which the report was requested to be run. + */ + runTime?: string | null; + /** + * The total number of rows available from this report. Useful for pagination. Only returned with the first page of results (when page_token is not included in the request). + */ + totalRowCount?: number | null; + } + /** + * A dimension or a metric in a report. + */ + export interface Schema$Field { + /** + * The dimension this field represents. + */ + dimension?: string | null; + /** + * The metric this field represents. + */ + metric?: string | null; + } + /** + * A filter on a specific field. + */ + export interface Schema$FieldFilter { + /** + * Required. The field to filter on. + */ + field?: Schema$Field; + /** + * Required. The operation of this filter. + */ + operation?: string | null; + /** + * Required. Values to filter to. + */ + values?: Schema$ReportValue[]; + } + /** + * A filter over one or more fields. + */ + export interface Schema$Filter { + /** + * A list of filters whose results are AND-ed. + */ + andFilter?: Schema$FilterList; + /** + * A filter on a single field. + */ + fieldFilter?: Schema$FieldFilter; + /** + * A filter whose result is negated. + */ + notFilter?: Schema$Filter; + /** + * A list of filters whose results are OR-ed. + */ + orFilter?: Schema$FilterList; + } + /** + * A list of filters. + */ + export interface Schema$FilterList { + /** + * Required. A list of filters. + */ + filters?: Schema$Filter[]; + } + /** + * A date range between two fixed dates (inclusive of end date). + */ + export interface Schema$FixedDateRange { + /** + * Required. The end date (inclusive) of this date range. + */ + endDate?: Schema$Date; + /** + * Required. The start date of this date range. + */ + startDate?: Schema$Date; + } + /** + * A list of integer values. + */ + export interface Schema$IntList { + /** + * The values + */ + values?: string[] | null; + } + /** + * Response message for ListCuratedPackages. + */ + export interface Schema$ListCuratedPackagesResponse { + /** + * The list of curated packages. + */ + curatedPackages?: Schema$CuratedPackage[]; + /** + * A token to retrieve the next page of results. Pass this value in the ListCuratedPackagesRequest.pageToken field in the subsequent call to `ListCuratedPackages` method to retrieve the next page of results. If empty, then there are no more results. + */ + nextPageToken?: string | null; + } + /** + * Response message for listing data segments. + */ + export interface Schema$ListDataSegmentsResponse { + /** + * The list of data segments. + */ + dataSegments?: Schema$DataSegment[]; + /** + * Continuation token for fetching the next page of results. Pass this value in the ListDataSegmentsRequest.pageToken field in the subsequent call to the `ListDataSegments` method to retrieve the next page of results. + */ + nextPageToken?: string | null; + } + /** + * A response containing media planner account information. + */ + export interface Schema$ListMediaPlannersResponse { + /** + * List of media planners. + */ + mediaPlanners?: Schema$MediaPlanner[]; + /** + * A token which can be passed to a subsequent call to the ListMediaPlanners method to retrieve the next page of results in ListMediaPlannersRequest.page_token. + */ + nextPageToken?: string | null; + } + /** + * Response object for `ListReportsResponse` containing matching `Report` objects. + */ + export interface Schema$ListReportsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The `Report` objects from the specified network. + */ + reports?: Schema$Report[]; + /** + * Total number of `Report` objects. If a filter was included in the request, this reflects the total number after the filtering is applied. `total_size` won't be calculated in the response unless it has been included in a response field mask. The response field mask can be provided to the method by using the URL parameter `$fields` or `fields`, or by using the HTTP/gRPC header `X-Goog-FieldMask`. For more information, see https://developers.google.com/ad-manager/api/beta/field-masks + */ + totalSize?: number | null; + } + /** + * Represents a media planner account. + */ + export interface Schema$MediaPlanner { + /** + * Output only. Account ID of the media planner. + */ + accountId?: string | null; + /** + * Output only. The ancestor names of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId\}`. Can be used to filter the response of the mediaPlanners.list method. + */ + ancestorNames?: string[] | null; + /** + * Output only. The display name of the media planner. Can be used to filter the response of the mediaPlanners.list method. + */ + displayName?: string | null; + /** + * Identifier. The unique resource name of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId\}`. Can be used to filter the response of the mediaPlanners.list method. + */ + name?: string | null; + } + /** + * Contains all metric values requested for a single date range and set of column dimension values (returned in the columns field of the response). The order of the metrics in each field corresponds to the order of the metrics specified in the request. + */ + export interface Schema$MetricValueGroup { + /** + * Data for the PRIMARY MetricValueType. + */ + primaryValues?: Schema$ReportValue[]; + } + /** + * Represents an amount of money with its currency type. + */ + export interface Schema$Money { + /** + * The three-letter currency code defined in ISO 4217. + */ + currencyCode?: string | null; + /** + * 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. + */ + nanos?: number | null; + /** + * The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + */ + units?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * 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. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * 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. + */ + metadata?: {[key: string]: any} | null; + /** + * 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\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. + */ + export interface Schema$PackagePlacementTargeting { + /** + * Optional. The list of targeted mobile app categories. + */ + includedMobileAppCategoryTargeting?: string[] | null; + /** + * Optional. The list of targeted or excluded mobile application IDs that publishers own. Currently, only Android and Apple apps are supported. 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. + */ + mobileAppTargeting?: Schema$StringTargetingDimension; + /** + * Optional. The list of targeted or excluded URLs. The domains should have the http/https stripped (for example, google.com), and can contain a max of 5 paths per url. + */ + uriTargeting?: Schema$StringTargetingDimension; + } + /** + * Represents targeting about publisher provided signals. Different publisher provided signals types will be logically OR'ed. + */ + export interface Schema$PackagePublisherProvidedSignalsTargeting { + /** + * Optional. The list of targeted or excluded audience IDs. Based off of IAB Audience Taxonomy version 1.1 (https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Audience%20Taxonomies/Audience%20Taxonomy%201.1.tsv) + */ + audienceTargeting?: Schema$TaxonomyTargeting; + /** + * Optional. The list of targeted or excluded content IDs. Based off of IAB Content Taxonomy version 2.2 (https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Content%20Taxonomies/Content%20Taxonomy%202.2.tsv) + */ + contentTargeting?: Schema$TaxonomyTargeting; + /** + * Optional. The list of targeted and excluded video and audio signals IDs. These are additional signals supported by publisher provided signals. + */ + videoAndAudioSignalsTargeting?: Schema$StringTargetingDimension; + } + /** + * Targeting criteria for curated and auction packages. + */ + export interface Schema$PackageTargeting { + /** + * Optional. The geo criteria IDs to be included or excluded as defined in https://storage.googleapis.com/adx-rtb-dictionaries/geo-table.csv. If unset, inventory will be targeted regardless of geo. + */ + geoTargeting?: Schema$CriteriaTargeting; + /** + * Optional. The targeted accelerated mobile page type. If unset, inventory will be targeted regardless of AMP status. + */ + includedAcceleratedMobilePageType?: string | null; + /** + * Optional. The list of ad sizes to target. If unset, inventory will be targeted regardless of ad size. Curated packages supports `PIXEL` and `INTERSTITIAL` ad sizes. + */ + includedAdSizes?: Schema$AdSize[]; + /** + * Optional. The included list of targeted authorized seller statuses. If empty, inventory will be targeted regardless of seller status. + */ + includedAuthorizedSellerStatuses?: string[] | null; + /** + * Optional. The creative format to target. If unset, all creative markup types are targeted. + */ + includedCreativeFormat?: string | null; + /** + * Optional. The active data segments to be targeted. If unset, inventory will be targeted regardless of data segments. Format: `curators/{account_id\}/dataSegments/{data_segment_id\}` + */ + includedDataSegments?: string[] | null; + /** + * Optional. The list of included device types to target. If empty, all device types are targeted. + */ + includedDeviceTypes?: string[] | null; + /** + * Optional. The environment to target. If unspecified, all environments are targeted. + */ + includedEnvironment?: string | null; + /** + * Optional. The targeted native inventory types. If empty, inventory will be targeted regardless of native inventory type. + */ + includedNativeInventoryTypes?: string[] | null; + /** + * Optional. The list of targeted open measurement types. If empty, inventory will be targeted regardless of Open Measurement support. + */ + includedOpenMeasurementTypes?: string[] | null; + /** + * Optional. The list of targeted restricted categories. If empty, inventory will be targeted regardless of restricted categories. + */ + includedRestrictedCategories?: string[] | null; + /** + * Optional. The targeted rewarded type. If unset, inventory will be targeted regardless of rewarded type. + */ + includedRewardedType?: string | null; + /** + * Optional. The languages to target. If unset, inventory will be targeted regardless of language. See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of supported language codes. + */ + languageTargeting?: Schema$StringTargetingDimension; + /** + * Optional. The targeted minimum predicted click through rate, ranging in values [10, 10000] (0.01% - 10%). A value of 50 means that the configuration will only match adslots for which we predict at least 0.05% click through rate. An unset value indicates inventory will be targeted regardless of predicted click through rate. + */ + minimumPredictedClickThroughRatePercentageMillis?: string | null; + /** + * Optional. The targeted minimum predicted viewability percentage. This value must be a multiple of 10 between 10 and 90 (inclusive). For example, 10 is valid, but 0, 15, and 100 are not. A value of 10 means that the configuration will only match adslots for which we predict at least 10% viewability. An unset value indicates inventory will be targeted regardless of predicted viewability. + */ + minimumPredictedViewabilityPercentage?: string | null; + /** + * Optional. Placement targeting information, for example, URL, mobile applications. + */ + placementTargeting?: Schema$PackagePlacementTargeting; + /** + * Optional. The publisher provided signals to target. If unset, inventory will be targeted regardless of publisher provided signals. + */ + publisherProvidedSignalsTargeting?: Schema$PackagePublisherProvidedSignalsTargeting; + /** + * Optional. The targeted publishers. If unset, inventory will be targeted regardless of publisher. Publishers are identified by their publisher ID from ads.txt / app-ads.txt. See https://iabtechlab.com/ads-txt/ and https://iabtechlab.com/app-ads-txt/ for more details. + */ + publisherTargeting?: Schema$StringTargetingDimension; + /** + * Optional. The verticals included or excluded as defined in https://developers.google.com/authorized-buyers/rtb/downloads/publisher-verticals. If unset, inventory will be targeted regardless of vertical. + */ + verticalTargeting?: Schema$CriteriaTargeting; + /** + * Optional. Video specific targeting criteria. + */ + videoTargeting?: Schema$PackageVideoTargeting; + } + /** + * Video specific targeting criteria. + */ + export interface Schema$PackageVideoTargeting { + /** + * Optional. The targeted video delivery method. If unset, inventory will be targeted regardless of video delivery method. + */ + includedContentDeliveryMethod?: string | null; + /** + * Optional. The targeted maximum video ad duration. If unset, inventory will be targeted regardless of maximum video ad duration. + */ + includedMaximumAdDurationTargeting?: string | null; + /** + * Optional. The list of targeted video mime types using the IANA published MIME type strings (https://www.iana.org/assignments/media-types/media-types.xhtml). If empty, inventory will be targeted regardless of video mime type. + */ + includedMimeTypes?: string[] | null; + /** + * Optional. The list of targeted video playback methods. If empty, inventory will be targeted regardless of video playback method. + */ + includedPlaybackMethods?: string[] | null; + /** + * Optional. The targeted video player size. If unset, inventory will be targeted regardless of video player size. + */ + includedPlayerSizeTargeting?: Schema$VideoPlayerSizeTargeting; + /** + * Optional. The targeted video ad position types. If empty, inventory will be targeted regardless of video ad position type. + */ + includedPositionTypes?: string[] | null; + /** + * Optional. The targeted minimum predicted completion rate percentage. This value must be a multiple of 10 between 10 and 90 (inclusive). For example, 10 is valid, but 0, 15, and 100 are not. A value of 10 means that the configuration will only match adslots for which we predict at least 10% completion rate. An unset value indicates inventory will be targeted regardless of predicted completion rate. + */ + minimumPredictedCompletionRatePercentage?: string | null; + /** + * Optional. The targeted video plcmt types. If unset, inventory will be targeted regardless of video plcmt type. + */ + plcmtTargeting?: Schema$VideoPlcmtTargeting; + } + /** + * The `Report` resource. + */ + export interface Schema$Report { + /** + * Output only. The instant this report was created. + */ + createTime?: string | null; + /** + * Optional. Display name for the report. + */ + displayName?: string | null; + /** + * Output only. The locale of this report. Locale is set from the user's locale at the time of the request. Locale can't be modified. + */ + locale?: string | null; + /** + * Identifier. The resource name of the report. Report resource name have the form: `curators/{account_id\}/reports/{report_id\}` + */ + name?: string | null; + /** + * Required. The report definition of the report. + */ + reportDefinition?: Schema$ReportDefinition; + /** + * Output only. Report ID. + */ + reportId?: string | null; + /** + * Output only. The instant this report was last modified. + */ + updateTime?: string | null; + } + /** + * The definition of how a report should be run. + */ + export interface Schema$ReportDefinition { + /** + * Optional. The ISO 4217 currency code for this report. Defaults to account currency code if not specified. + */ + currencyCode?: string | null; + /** + * Required. The primary date range of this report. + */ + dateRange?: Schema$DateRange; + /** + * Required. The list of dimensions to report on. If empty, the report will have no dimensions, and any metrics will be totals. + */ + dimensions?: string[] | null; + /** + * Optional. The filters for this report. + */ + filters?: Schema$Filter[]; + /** + * Required. The list of metrics to report on. If empty, the report will have no metrics. + */ + metrics?: string[] | null; + /** + * Optional. Default sorts to apply to this report. + */ + sorts?: Schema$Sort[]; + /** + * Optional. If time_zone_source is PROVIDED, this is the time zone to use for this report. Leave empty for any other time zone source. Time zone in IANA format. For example, "America/New_York". + */ + timeZone?: string | null; + /** + * Optional. Where to get the time zone for this report. Defaults to using the Pacific time zone (PT). If source is PROVIDED, the time_zone field in the report definition must also set a time zone. + */ + timeZoneSource?: string | null; + } + /** + * Represents a single value in a report. + */ + export interface Schema$ReportValue { + /** + * For boolean values. + */ + boolValue?: boolean | null; + /** + * For bytes values. + */ + bytesValue?: string | null; + /** + * For lists of double values. + */ + doubleListValue?: Schema$DoubleList; + /** + * For double values. + */ + doubleValue?: number | null; + /** + * For lists of integer values. + */ + intListValue?: Schema$IntList; + /** + * For integer values. + */ + intValue?: string | null; + /** + * For lists of string values. + */ + stringListValue?: Schema$StringList; + /** + * For string values. + */ + stringValue?: string | null; + } + /** + * A row of report data. + */ + export interface Schema$Row { + /** + * The order of the dimension values is the same as the order of the dimensions specified in the request. + */ + dimensionValues?: Schema$ReportValue[]; + /** + * The length of the metric_value_groups field will be equal to the length of the date_ranges field in the fetch response. The metric_value_groups field is ordered such that each index corresponds to the date_range at the same index. For example, given date_ranges [x, y], metric_value_groups will have a length of two. The first entry in metric_value_groups represents the metrics for date x and the second entry in metric_value_groups represents the metrics for date y. + */ + metricValueGroups?: Schema$MetricValueGroup[]; + } + /** + * `RunReport` operation metadata. + */ + export interface Schema$RunReportMetadata { + /** + * An estimate of how close this report is to being completed. Will always be 100 for failed and completed reports. + */ + percentComplete?: number | null; + /** + * The result's parent report. + */ + report?: string | null; + } + /** + * Request message for a running a report. + */ + export interface Schema$RunReportRequest {} + /** + * Response message for a completed `RunReport` operation. + */ + export interface Schema$RunReportResponse { + /** + * The unique name of the generated result. Use with `FetchReportResultRows` to retrieve data. + */ + reportResult?: string | null; + } + /** + * Represents a sorting in a report. + */ + export interface Schema$Sort { + /** + * Optional. The sort order. If true the sort will be descending. + */ + descending?: boolean | null; + /** + * Required. A field (dimension or metric) to sort by. + */ + field?: Schema$Field; + } + /** + * 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). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * 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. + */ + message?: string | null; + } + /** + * A list of string values. + */ + export interface Schema$StringList { + /** + * The values + */ + values?: string[] | null; + } + /** + * Generic targeting with string values. + */ + export interface Schema$StringTargetingDimension { + /** + * Required. How the items in this list should be targeted. + */ + selectionType?: string | null; + /** + * Required. The values specified. + */ + values?: string[] | null; + } + /** + * Defines targeting criteria for handling the IAB audience and content Taxonomy ID space. + */ + export interface Schema$TaxonomyTargeting { + /** + * Optional. The list of excluded content taxonomy IDs. + */ + excludedTaxonomyIds?: string[] | null; + /** + * Optional. The list of targeted content taxonomy IDs. + */ + targetedTaxonomyIds?: string[] | null; + } + /** + * Represents the size of the video player that can be targeted. Both width and height are required to be set to non-zero values. + */ + export interface Schema$VideoPlayerSizeTargeting { + /** + * Required. The minimum height of the video player in pixels. + */ + minimumHeight?: string | null; + /** + * Required. The minimum width of the video player in pixels. + */ + minimumWidth?: string | null; + } + /** + * Defines targeting criteria based on the video placement type, often corresponding to the IAB OpenRTB 'plcmt' field. + */ + export interface Schema$VideoPlcmtTargeting { + /** + * Required. The selection type for the list of video plcmts. + */ + selectionType?: string | null; + /** + * Required. The list of targeted video plcmts types. If empty, inventory will be targeted regardless of video plcmt type. + */ + videoPlcmtTypes?: string[] | null; + } + + export class Resource$Curators { + context: APIRequestContext; + curatedPackages: Resource$Curators$Curatedpackages; + dataSegments: Resource$Curators$Datasegments; + reports: Resource$Curators$Reports; + constructor(context: APIRequestContext) { + this.context = context; + this.curatedPackages = new Resource$Curators$Curatedpackages( + this.context + ); + this.dataSegments = new Resource$Curators$Datasegments(this.context); + this.reports = new Resource$Curators$Reports(this.context); + } + } + + export class Resource$Curators$Curatedpackages { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Activates an existing curated package. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.curatedPackages.activate({ + * // Required. The name of the curated package to activate. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + * name: 'curators/my-curator/curatedPackages/my-curatedPackage', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessSettings": {}, + * // "createTime": "my_createTime", + * // "curationFeeVisibility": "my_curationFeeVisibility", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "feeCpm": {}, + * // "floorPriceCpm": {}, + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "targeting": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + activate( + params: Params$Resource$Curators$Curatedpackages$Activate, + options: StreamMethodOptions + ): Promise>; + activate( + params?: Params$Resource$Curators$Curatedpackages$Activate, + options?: MethodOptions + ): Promise>; + activate( + params: Params$Resource$Curators$Curatedpackages$Activate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + activate( + params: Params$Resource$Curators$Curatedpackages$Activate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + activate( + params: Params$Resource$Curators$Curatedpackages$Activate, + callback: BodyResponseCallback + ): void; + activate(callback: BodyResponseCallback): void; + activate( + paramsOrCallback?: + | Params$Resource$Curators$Curatedpackages$Activate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Curatedpackages$Activate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Curatedpackages$Activate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:activate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a new curated package. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.curatedPackages.create({ + * // Required. The parent curator account where this curated package will be created. Format: `curators/{accountId\}` + * parent: 'curators/my-curator', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessSettings": {}, + * // "createTime": "my_createTime", + * // "curationFeeVisibility": "my_curationFeeVisibility", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "feeCpm": {}, + * // "floorPriceCpm": {}, + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "targeting": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessSettings": {}, + * // "createTime": "my_createTime", + * // "curationFeeVisibility": "my_curationFeeVisibility", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "feeCpm": {}, + * // "floorPriceCpm": {}, + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "targeting": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Curators$Curatedpackages$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Curators$Curatedpackages$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Curators$Curatedpackages$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Curators$Curatedpackages$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Curators$Curatedpackages$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Curators$Curatedpackages$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Curatedpackages$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Curatedpackages$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/curatedPackages').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deactivates an existing curated package. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.curatedPackages.deactivate({ + * // Required. The name of the curated package to deactivate. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + * name: 'curators/my-curator/curatedPackages/my-curatedPackage', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessSettings": {}, + * // "createTime": "my_createTime", + * // "curationFeeVisibility": "my_curationFeeVisibility", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "feeCpm": {}, + * // "floorPriceCpm": {}, + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "targeting": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + deactivate( + params: Params$Resource$Curators$Curatedpackages$Deactivate, + options: StreamMethodOptions + ): Promise>; + deactivate( + params?: Params$Resource$Curators$Curatedpackages$Deactivate, + options?: MethodOptions + ): Promise>; + deactivate( + params: Params$Resource$Curators$Curatedpackages$Deactivate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deactivate( + params: Params$Resource$Curators$Curatedpackages$Deactivate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deactivate( + params: Params$Resource$Curators$Curatedpackages$Deactivate, + callback: BodyResponseCallback + ): void; + deactivate(callback: BodyResponseCallback): void; + deactivate( + paramsOrCallback?: + | Params$Resource$Curators$Curatedpackages$Deactivate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Curatedpackages$Deactivate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Curatedpackages$Deactivate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:deactivate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a curated package given its resource name. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.curatedPackages.get({ + * // Required. The name of the curated package to retrieve. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + * name: 'curators/my-curator/curatedPackages/my-curatedPackage', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessSettings": {}, + * // "createTime": "my_createTime", + * // "curationFeeVisibility": "my_curationFeeVisibility", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "feeCpm": {}, + * // "floorPriceCpm": {}, + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "targeting": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Curators$Curatedpackages$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Curators$Curatedpackages$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Curators$Curatedpackages$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Curators$Curatedpackages$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Curators$Curatedpackages$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Curators$Curatedpackages$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Curatedpackages$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Curatedpackages$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists curated packages owned by the specified curator. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.curatedPackages.list({ + * // Optional. Optional query string using the [Cloud API list filtering syntax](/authorized-buyers/apis/guides/list-filters). Supported columns for filtering are: * displayName * createTime * updateTime * state * feeCpm.currencyCode * feeCpm.units * feeCpm.nanos * floorPriceCpm.currencyCode * floorPriceCpm.units * floorPriceCpm.nanos + * filter: 'placeholder-value', + * // Optional. Requested page size. The server may return fewer results than requested. Max allowed page size is 500. If unspecified, the server will default to 500. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListCuratedPackages` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent curator account which owns this collection of curated packages. Format: `curators/{accountId\}` + * parent: 'curators/my-curator', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "curatedPackages": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Curators$Curatedpackages$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Curators$Curatedpackages$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Curators$Curatedpackages$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Curators$Curatedpackages$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Curators$Curatedpackages$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Curators$Curatedpackages$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Curatedpackages$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Curatedpackages$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/curatedPackages').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates an existing curated package. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.curatedPackages.patch({ + * // Identifier. The unique resource name for the curated package. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + * name: 'curators/my-curator/curatedPackages/my-curatedPackage', + * // Optional. 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, for example, 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessSettings": {}, + * // "createTime": "my_createTime", + * // "curationFeeVisibility": "my_curationFeeVisibility", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "feeCpm": {}, + * // "floorPriceCpm": {}, + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "targeting": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "accessSettings": {}, + * // "createTime": "my_createTime", + * // "curationFeeVisibility": "my_curationFeeVisibility", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "feeCpm": {}, + * // "floorPriceCpm": {}, + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "targeting": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Curators$Curatedpackages$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Curators$Curatedpackages$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Curators$Curatedpackages$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Curators$Curatedpackages$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Curators$Curatedpackages$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Curators$Curatedpackages$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Curatedpackages$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Curatedpackages$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Curators$Curatedpackages$Activate extends StandardParameters { + /** + * Required. The name of the curated package to activate. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ActivateCuratedPackageRequest; + } + export interface Params$Resource$Curators$Curatedpackages$Create extends StandardParameters { + /** + * Required. The parent curator account where this curated package will be created. Format: `curators/{accountId\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CuratedPackage; + } + export interface Params$Resource$Curators$Curatedpackages$Deactivate extends StandardParameters { + /** + * Required. The name of the curated package to deactivate. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DeactivateCuratedPackageRequest; + } + export interface Params$Resource$Curators$Curatedpackages$Get extends StandardParameters { + /** + * Required. The name of the curated package to retrieve. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + */ + name?: string; + } + export interface Params$Resource$Curators$Curatedpackages$List extends StandardParameters { + /** + * Optional. Optional query string using the [Cloud API list filtering syntax](/authorized-buyers/apis/guides/list-filters). Supported columns for filtering are: * displayName * createTime * updateTime * state * feeCpm.currencyCode * feeCpm.units * feeCpm.nanos * floorPriceCpm.currencyCode * floorPriceCpm.units * floorPriceCpm.nanos + */ + filter?: string; + /** + * Optional. Requested page size. The server may return fewer results than requested. Max allowed page size is 500. If unspecified, the server will default to 500. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListCuratedPackages` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent curator account which owns this collection of curated packages. Format: `curators/{accountId\}` + */ + parent?: string; + } + export interface Params$Resource$Curators$Curatedpackages$Patch extends StandardParameters { + /** + * Identifier. The unique resource name for the curated package. Format: `curators/{accountId\}/curatedPackages/{curatedPackageId\}` + */ + name?: string; + /** + * Optional. 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, for example, 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CuratedPackage; + } + + export class Resource$Curators$Datasegments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Activates a data segment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.dataSegments.activate({ + * // Required. Name of data segment to activate. Format: `curators/{accountId\}/dataSegments/{curatorDataSegmentId\}` + * name: 'curators/my-curator/dataSegments/my-dataSegment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "cpmFee": {}, + * // "createTime": "my_createTime", + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + activate( + params: Params$Resource$Curators$Datasegments$Activate, + options: StreamMethodOptions + ): Promise>; + activate( + params?: Params$Resource$Curators$Datasegments$Activate, + options?: MethodOptions + ): Promise>; + activate( + params: Params$Resource$Curators$Datasegments$Activate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + activate( + params: Params$Resource$Curators$Datasegments$Activate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + activate( + params: Params$Resource$Curators$Datasegments$Activate, + callback: BodyResponseCallback + ): void; + activate(callback: BodyResponseCallback): void; + activate( + paramsOrCallback?: + | Params$Resource$Curators$Datasegments$Activate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Datasegments$Activate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Datasegments$Activate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:activate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a data segment owned by the listed curator. The data segment will be created in the `ACTIVE` state, meaning it will be immediately available for buyers to use in preferred deals, private auction deals, and auction packages. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.dataSegments.create({ + * // Required. The parent resource where this data segment will be created. Format: `curators/{accountId\}` + * parent: 'curators/my-curator', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "cpmFee": {}, + * // "createTime": "my_createTime", + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "cpmFee": {}, + * // "createTime": "my_createTime", + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Curators$Datasegments$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Curators$Datasegments$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Curators$Datasegments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Curators$Datasegments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Curators$Datasegments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Curators$Datasegments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Datasegments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Datasegments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/dataSegments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deactivates a data segment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.dataSegments.deactivate({ + * // Required. Name of data segment to deactivate. Format: `curators/{accountId\}/dataSegments/{curatorDataSegmentId\}` + * name: 'curators/my-curator/dataSegments/my-dataSegment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "cpmFee": {}, + * // "createTime": "my_createTime", + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + deactivate( + params: Params$Resource$Curators$Datasegments$Deactivate, + options: StreamMethodOptions + ): Promise>; + deactivate( + params?: Params$Resource$Curators$Datasegments$Deactivate, + options?: MethodOptions + ): Promise>; + deactivate( + params: Params$Resource$Curators$Datasegments$Deactivate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deactivate( + params: Params$Resource$Curators$Datasegments$Deactivate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deactivate( + params: Params$Resource$Curators$Datasegments$Deactivate, + callback: BodyResponseCallback + ): void; + deactivate(callback: BodyResponseCallback): void; + deactivate( + paramsOrCallback?: + | Params$Resource$Curators$Datasegments$Deactivate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Datasegments$Deactivate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Datasegments$Deactivate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:deactivate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a data segment given its name. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.dataSegments.get({ + * // Required. Name of data segment to get. Format: `curators/{accountId\}/dataSegments/{curatorDataSegmentId\}` + * name: 'curators/my-curator/dataSegments/my-dataSegment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "cpmFee": {}, + * // "createTime": "my_createTime", + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Curators$Datasegments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Curators$Datasegments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Curators$Datasegments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Curators$Datasegments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Curators$Datasegments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Curators$Datasegments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Datasegments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Datasegments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List the data segments owned by a curator. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.dataSegments.list({ + * // Optional. Requested page size. The server may return fewer results than requested. Max allowed page size is 500. If unspecified, the server will default to 500. + * pageSize: 'placeholder-value', + * // Optional. The page token as returned. ListDataSegmentsResponse.nextPageToken + * pageToken: 'placeholder-value', + * // Required. Name of the parent curator that can access the data segment. Format: `curators/{accountId\}` + * parent: 'curators/my-curator', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataSegments": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Curators$Datasegments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Curators$Datasegments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Curators$Datasegments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Curators$Datasegments$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Curators$Datasegments$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Curators$Datasegments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Datasegments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Datasegments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/dataSegments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates a data segment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.dataSegments.patch({ + * // Immutable. Identifier. The unique identifier for the data segment. Account ID corresponds to the account ID that created the segment. Format: `curators/{curatorAccountId\}/dataSegments/{curatorDataSegmentId\}` + * name: 'curators/my-curator/dataSegments/my-dataSegment', + * // Optional. 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, for example, 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "cpmFee": {}, + * // "createTime": "my_createTime", + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "cpmFee": {}, + * // "createTime": "my_createTime", + * // "millipercentOfMediaFee": "my_millipercentOfMediaFee", + * // "name": "my_name", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "userListId": "my_userListId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Curators$Datasegments$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Curators$Datasegments$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Curators$Datasegments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Curators$Datasegments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Curators$Datasegments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Curators$Datasegments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Datasegments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Datasegments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Curators$Datasegments$Activate extends StandardParameters { + /** + * Required. Name of data segment to activate. Format: `curators/{accountId\}/dataSegments/{curatorDataSegmentId\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ActivateDataSegmentRequest; + } + export interface Params$Resource$Curators$Datasegments$Create extends StandardParameters { + /** + * Required. The parent resource where this data segment will be created. Format: `curators/{accountId\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DataSegment; + } + export interface Params$Resource$Curators$Datasegments$Deactivate extends StandardParameters { + /** + * Required. Name of data segment to deactivate. Format: `curators/{accountId\}/dataSegments/{curatorDataSegmentId\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DeactivateDataSegmentRequest; + } + export interface Params$Resource$Curators$Datasegments$Get extends StandardParameters { + /** + * Required. Name of data segment to get. Format: `curators/{accountId\}/dataSegments/{curatorDataSegmentId\}` + */ + name?: string; + } + export interface Params$Resource$Curators$Datasegments$List extends StandardParameters { + /** + * Optional. Requested page size. The server may return fewer results than requested. Max allowed page size is 500. If unspecified, the server will default to 500. + */ + pageSize?: number; + /** + * Optional. The page token as returned. ListDataSegmentsResponse.nextPageToken + */ + pageToken?: string; + /** + * Required. Name of the parent curator that can access the data segment. Format: `curators/{accountId\}` + */ + parent?: string; + } + export interface Params$Resource$Curators$Datasegments$Patch extends StandardParameters { + /** + * Immutable. Identifier. The unique identifier for the data segment. Account ID corresponds to the account ID that created the segment. Format: `curators/{curatorAccountId\}/dataSegments/{curatorDataSegmentId\}` + */ + name?: string; + /** + * Optional. 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, for example, 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DataSegment; + } + + export class Resource$Curators$Reports { + context: APIRequestContext; + operations: Resource$Curators$Reports$Operations; + results: Resource$Curators$Reports$Results; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = new Resource$Curators$Reports$Operations(this.context); + this.results = new Resource$Curators$Reports$Results(this.context); + } + + /** + * Creates a `Report` object. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.reports.create({ + * // Required. The parent resource where this `Report` will be created. Format: `curators/{account_id\}` + * parent: 'curators/my-curator', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Curators$Reports$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Curators$Reports$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Curators$Reports$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Curators$Reports$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Curators$Reports$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Curators$Reports$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Reports$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Reports$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/reports').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a `Report` object. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.reports.delete({ + * // Required. Resource name of the report to delete. Format: `curators/{account_id\}/reports/{report_id\}` + * name: 'curators/my-curator/reports/my-report', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Curators$Reports$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Curators$Reports$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Curators$Reports$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Curators$Reports$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Curators$Reports$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Curators$Reports$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Reports$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Reports$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a `Report` object. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.reports.get({ + * // Required. The resource name of the report. Format: `curators/{account_id\}/reports/{report_id\}` + * name: 'curators/my-curator/reports/my-report', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Curators$Reports$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Curators$Reports$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Curators$Reports$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Curators$Reports$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Curators$Reports$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Curators$Reports$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Reports$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Reports$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists `Report` objects. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.reports.list({ + * // Optional. Expression to filter the response. See syntax details at https://developers.google.com/ad-manager/api/beta/filters + * filter: 'placeholder-value', + * // Optional. Expression to specify sorting order. See syntax details at https://developers.google.com/ad-manager/api/beta/filters#order + * orderBy: 'placeholder-value', + * // Optional. The maximum number of `Reports` to return. The service may return fewer than this value. If unspecified, at most 50 `Reports` will be returned. The maximum value is 1000; values greater than 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReports` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of reports. Format: `curators/{account_id\}` + * parent: 'curators/my-curator', + * // Optional. Number of individual resources to skip while paginating. + * skip: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "reports": [], + * // "totalSize": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Curators$Reports$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Curators$Reports$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Curators$Reports$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Curators$Reports$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Curators$Reports$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Curators$Reports$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Reports$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Reports$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/reports').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates a `Report` object. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.reports.patch({ + * // Identifier. The resource name of the report. Report resource name have the form: `curators/{account_id\}/reports/{report_id\}` + * name: 'curators/my-curator/reports/my-report', + * // Optional. The list of fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "locale": "my_locale", + * // "name": "my_name", + * // "reportDefinition": {}, + * // "reportId": "my_reportId", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Curators$Reports$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Curators$Reports$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Curators$Reports$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Curators$Reports$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Curators$Reports$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Curators$Reports$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Reports$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Reports$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Initiates the execution of an existing report asynchronously. Users can get the report by polling this operation using `OperationsService.GetOperation`. Poll every 5 seconds initially, with an exponential backoff. Once a report is complete, the operation will contain a `RunReportResponse` in its response field containing a report_result that can be passed to the `FetchReportResultRows` method to retrieve the report data. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.reports.run({ + * // Required. The report to run. Format: `curators/{account_id\}/reports/{report_id\}` + * name: 'curators/my-curator/reports/my-report', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + run( + params: Params$Resource$Curators$Reports$Run, + options: StreamMethodOptions + ): Promise>; + run( + params?: Params$Resource$Curators$Reports$Run, + options?: MethodOptions + ): Promise>; + run( + params: Params$Resource$Curators$Reports$Run, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + run( + params: Params$Resource$Curators$Reports$Run, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + run( + params: Params$Resource$Curators$Reports$Run, + callback: BodyResponseCallback + ): void; + run(callback: BodyResponseCallback): void; + run( + paramsOrCallback?: + | Params$Resource$Curators$Reports$Run + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Reports$Run; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Reports$Run; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:run').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Curators$Reports$Create extends StandardParameters { + /** + * Required. The parent resource where this `Report` will be created. Format: `curators/{account_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + export interface Params$Resource$Curators$Reports$Delete extends StandardParameters { + /** + * Required. Resource name of the report to delete. Format: `curators/{account_id\}/reports/{report_id\}` + */ + name?: string; + } + export interface Params$Resource$Curators$Reports$Get extends StandardParameters { + /** + * Required. The resource name of the report. Format: `curators/{account_id\}/reports/{report_id\}` + */ + name?: string; + } + export interface Params$Resource$Curators$Reports$List extends StandardParameters { + /** + * Optional. Expression to filter the response. See syntax details at https://developers.google.com/ad-manager/api/beta/filters + */ + filter?: string; + /** + * Optional. Expression to specify sorting order. See syntax details at https://developers.google.com/ad-manager/api/beta/filters#order + */ + orderBy?: string; + /** + * Optional. The maximum number of `Reports` to return. The service may return fewer than this value. If unspecified, at most 50 `Reports` will be returned. The maximum value is 1000; values greater than 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReports` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of reports. Format: `curators/{account_id\}` + */ + parent?: string; + /** + * Optional. Number of individual resources to skip while paginating. + */ + skip?: number; + } + export interface Params$Resource$Curators$Reports$Patch extends StandardParameters { + /** + * Identifier. The resource name of the report. Report resource name have the form: `curators/{account_id\}/reports/{report_id\}` + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Report; + } + export interface Params$Resource$Curators$Reports$Run extends StandardParameters { + /** + * Required. The report to run. Format: `curators/{account_id\}/reports/{report_id\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RunReportRequest; + } + + export class Resource$Curators$Reports$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.reports.operations.get({ + * // The name of the operation resource. + * name: 'curators/my-curator/reports/my-report/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Curators$Reports$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Curators$Reports$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Curators$Reports$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Curators$Reports$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Curators$Reports$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Curators$Reports$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Reports$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Reports$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Curators$Reports$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + + export class Resource$Curators$Reports$Results { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the result rows from a completed report. The caller must have previously called `RunReport` and waited for that operation to complete. The rows will be returned according to the order specified by the `sorts` member of the report definition. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.curators.reports.results.fetchRows({ + * // The report result being fetched. Format: `curators/{account_id\}/reports/{report_id\}/results/{report_result_id\}` + * name: 'curators/my-curator/reports/my-report/results/my-result', + * // Optional. The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 1,000 rows will be returned. The maximum value is 10,000; values greater than 10,000 will be reduced to 10,000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `FetchReportResultRows` call. Provide this to retrieve the second and subsequent batches of rows. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dateRanges": [], + * // "nextPageToken": "my_nextPageToken", + * // "rows": [], + * // "runTime": "my_runTime", + * // "totalRowCount": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchRows( + params: Params$Resource$Curators$Reports$Results$Fetchrows, + options: StreamMethodOptions + ): Promise>; + fetchRows( + params?: Params$Resource$Curators$Reports$Results$Fetchrows, + options?: MethodOptions + ): Promise>; + fetchRows( + params: Params$Resource$Curators$Reports$Results$Fetchrows, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchRows( + params: Params$Resource$Curators$Reports$Results$Fetchrows, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchRows( + params: Params$Resource$Curators$Reports$Results$Fetchrows, + callback: BodyResponseCallback + ): void; + fetchRows( + callback: BodyResponseCallback + ): void; + fetchRows( + paramsOrCallback?: + | Params$Resource$Curators$Reports$Results$Fetchrows + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Curators$Reports$Results$Fetchrows; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Curators$Reports$Results$Fetchrows; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:fetchRows').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Curators$Reports$Results$Fetchrows extends StandardParameters { + /** + * The report result being fetched. Format: `curators/{account_id\}/reports/{report_id\}/results/{report_result_id\}` + */ + name?: string; + /** + * Optional. The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 1,000 rows will be returned. The maximum value is 10,000; values greater than 10,000 will be reduced to 10,000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `FetchReportResultRows` call. Provide this to retrieve the second and subsequent batches of rows. + */ + pageToken?: string; + } + + export class Resource$Mediaplanners { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists all media planner accounts that the caller has access to. For curators, this will return all media planners that have accepted curator terms. For other accounts, attempting to list media planners will return an error. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/curationpartners.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const curationpartners = google.curationpartners('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/curation-partners'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await curationpartners.mediaPlanners.list({ + * // Optional query string using the [Cloud API list filtering syntax](/authorized-buyers/apis/guides/list-filters). Supported columns for filtering are: * `name` * `displayName` * `ancestorNames` + * filter: 'placeholder-value', + * // The maximum number of media planners to return. If unspecified, at most 100 media planners will be returned. The maximum value is 500; values above 500 will be coerced to 500. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return.This value is received from a previous `ListMediaPlanners` call in ListMediaPlannersResponse.nextPageToken. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "mediaPlanners": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Mediaplanners$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Mediaplanners$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Mediaplanners$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Mediaplanners$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Mediaplanners$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Mediaplanners$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Mediaplanners$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Mediaplanners$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://curationpartners.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/mediaPlanners').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Mediaplanners$List extends StandardParameters { + /** + * Optional query string using the [Cloud API list filtering syntax](/authorized-buyers/apis/guides/list-filters). Supported columns for filtering are: * `name` * `displayName` * `ancestorNames` + */ + filter?: string; + /** + * The maximum number of media planners to return. If unspecified, at most 100 media planners will be returned. The maximum value is 500; values above 500 will be coerced to 500. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return.This value is received from a previous `ListMediaPlanners` call in ListMediaPlannersResponse.nextPageToken. + */ + pageToken?: string; + } +} diff --git a/src/apis/curationpartners/webpack.config.js b/src/apis/curationpartners/webpack.config.js new file mode 100644 index 00000000000..cf964692430 --- /dev/null +++ b/src/apis/curationpartners/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Curationpartners', + filename: 'curationpartners.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; diff --git a/src/apis/customsearch/package.json b/src/apis/customsearch/package.json index dce41c81c44..a35f25cd492 100644 --- a/src/apis/customsearch/package.json +++ b/src/apis/customsearch/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/databasecenter/README.md b/src/apis/databasecenter/README.md index 202718f1e70..8be03ea207e 100644 --- a/src/apis/databasecenter/README.md +++ b/src/apis/databasecenter/README.md @@ -4,6 +4,15 @@ > Database Center offers a comprehensive, organization-wide platform for monitoring database fleet health across various products. It simplifies management and reduces risk by automatically aggregating and summarizing key health signals, removing the need for custom dashboards. The platform provides a unified view through its dashboard and API, enabling teams focused on reliability, compliance, security, cost, and administration to quickly identify and address relevant issues within their database fleets. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/databasecenter](https://www.npmjs.com/package/@google-cloud/databasecenter) instead. +The [@google-cloud/databasecenter](https://www.npmjs.com/package/@google-cloud/databasecenter) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/databasecenter/package.json b/src/apis/databasecenter/package.json index b2504c79070..5b480c8bf9b 100644 --- a/src/apis/databasecenter/package.json +++ b/src/apis/databasecenter/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/datacatalog/package.json b/src/apis/datacatalog/package.json index f584ca17af4..e847bb3d2fc 100644 --- a/src/apis/datacatalog/package.json +++ b/src/apis/datacatalog/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dataflow/package.json b/src/apis/dataflow/package.json index 3e4b2f187d3..41e27f23582 100644 --- a/src/apis/dataflow/package.json +++ b/src/apis/dataflow/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dataflow/v1b3.ts b/src/apis/dataflow/v1b3.ts index ff278108579..603a389e3c1 100644 --- a/src/apis/dataflow/v1b3.ts +++ b/src/apis/dataflow/v1b3.ts @@ -6524,6 +6524,8 @@ export namespace dataflow_v1b3 { * pageToken: 'placeholder-value', * // The project which owns the jobs. * projectId: 'placeholder-value', + * // Optional. + * regionalFanoutRequested: 'placeholder-value', * // Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews. * view: 'placeholder-value', * }); @@ -7204,6 +7206,8 @@ export namespace dataflow_v1b3 { * pageToken: 'placeholder-value', * // The project which owns the jobs. * projectId: 'placeholder-value', + * // Optional. + * regionalFanoutRequested: 'placeholder-value', * // Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews. * view: 'placeholder-value', * }); @@ -7707,6 +7711,10 @@ export namespace dataflow_v1b3 { * The project which owns the jobs. */ projectId?: string; + /** + * Optional. + */ + regionalFanoutRequested?: boolean; /** * Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews. */ @@ -7796,6 +7804,10 @@ export namespace dataflow_v1b3 { * The project which owns the jobs. */ projectId?: string; + /** + * Optional. + */ + regionalFanoutRequested?: boolean; /** * Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews. */ @@ -10656,6 +10668,8 @@ export namespace dataflow_v1b3 { * pageToken: 'placeholder-value', * // The project which owns the jobs. * projectId: 'placeholder-value', + * // Optional. + * regionalFanoutRequested: 'placeholder-value', * // Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews. * view: 'placeholder-value', * }); @@ -11242,6 +11256,10 @@ export namespace dataflow_v1b3 { * The project which owns the jobs. */ projectId?: string; + /** + * Optional. + */ + regionalFanoutRequested?: boolean; /** * Deprecated. ListJobs always returns summaries now. Use GetJob for other JobViews. */ diff --git a/src/apis/dataform/package.json b/src/apis/dataform/package.json index 6f001b68817..49d3565a2be 100644 --- a/src/apis/dataform/package.json +++ b/src/apis/dataform/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dataform/v1beta1.ts b/src/apis/dataform/v1beta1.ts index 1ad9febfab7..35191e8a9f1 100644 --- a/src/apis/dataform/v1beta1.ts +++ b/src/apis/dataform/v1beta1.ts @@ -2400,7 +2400,7 @@ export namespace dataform_v1beta1 { */ dataEncryptionState?: Schema$DataEncryptionState; /** - * Optional. Input only. Immutable. The maximum depth of the Git repository to checkout for this workspace. If defined and greater than 0, the Git repository will be created as a shallow clone with the given depth, otherwise a full clone will be performed. This field is available only for GitHub, Gitlab and 1p repositories with enabled branch management. + * Optional. Input only. Immutable. The maximum depth of the Git repository to checkout for this workspace. If defined and greater than 0, the Git repository will be created as a shallow clone with the given depth, otherwise a full clone will be performed. This field is available only for GitHub, GitLab and 1p repositories with enabled branch management. */ depth?: number | null; /** diff --git a/src/apis/datafusion/package.json b/src/apis/datafusion/package.json index 68f0a9058aa..8dc1400b13f 100644 --- a/src/apis/datafusion/package.json +++ b/src/apis/datafusion/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/datalabeling/package.json b/src/apis/datalabeling/package.json index bfe1fef111d..c9c7846667e 100644 --- a/src/apis/datalabeling/package.json +++ b/src/apis/datalabeling/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/datalineage/package.json b/src/apis/datalineage/package.json index 6c053063043..e044846afca 100644 --- a/src/apis/datalineage/package.json +++ b/src/apis/datalineage/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/datamanager/package.json b/src/apis/datamanager/package.json index fbc77608f58..ea9657cb49a 100644 --- a/src/apis/datamanager/package.json +++ b/src/apis/datamanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/datamanager/v1.ts b/src/apis/datamanager/v1.ts index e0119166ae1..42aa9a14dd2 100644 --- a/src/apis/datamanager/v1.ts +++ b/src/apis/datamanager/v1.ts @@ -2815,7 +2815,7 @@ export namespace datamanager_v1 { * * // Do the magic * const res = await datamanager.accountTypes.accounts.partnerLinks.search({ - * // Optional. A [filter string](https://google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Fields must be specified using either all [camel case](https://en.wikipedia.org/wiki/Camel_case) or all [snake case](https://en.wikipedia.org/wiki/Snake_case). Don't use a combination of camel case and snake case. Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` - `feature_set` For partner links with the FEATURE_SET_AD_EVENT_MANAGEMENT feature set, the following fields are also supported: - `partner_customer_account.account_id` Example: `owning_account.account_type = "GOOGLE_ADS" AND partner_account.account_id = 987654321` + * // Optional. A [filter string](https://google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Fields must be specified using either all [camel case](https://en.wikipedia.org/wiki/Camel_case) or all [snake case](https://en.wikipedia.org/wiki/Snake_case). Don't use a combination of camel case and snake case. Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` - `feature_set` For partner links with the FEATURE_SET_AD_EVENT_MANAGEMENT feature set, the following fields are also supported: - `partner_customer_account.account_id` - `partner_link_metadata.implicit_accounts.account_id` Example: `owning_account.account_type = "GOOGLE_ADS" AND partner_account.account_id = 987654321` * filter: 'placeholder-value', * // The maximum number of partner links to return. The service may return fewer than this value. If unspecified, at most 50 partner links will be returned. The maximum value is 100; values above 100 will be coerced to 100. * pageSize: 'placeholder-value', @@ -2952,7 +2952,7 @@ export namespace datamanager_v1 { } export interface Params$Resource$Accounttypes$Accounts$Partnerlinks$Search extends StandardParameters { /** - * Optional. A [filter string](https://google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Fields must be specified using either all [camel case](https://en.wikipedia.org/wiki/Camel_case) or all [snake case](https://en.wikipedia.org/wiki/Snake_case). Don't use a combination of camel case and snake case. Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` - `feature_set` For partner links with the FEATURE_SET_AD_EVENT_MANAGEMENT feature set, the following fields are also supported: - `partner_customer_account.account_id` Example: `owning_account.account_type = "GOOGLE_ADS" AND partner_account.account_id = 987654321` + * Optional. A [filter string](https://google.aip.dev/160). All fields need to be on the left hand side of each condition (for example: `partner_link_id = 123456789`). Fields must be specified using either all [camel case](https://en.wikipedia.org/wiki/Camel_case) or all [snake case](https://en.wikipedia.org/wiki/Snake_case). Don't use a combination of camel case and snake case. Supported operations: - `AND` - `=` - `!=` Supported fields: - `partner_link_id` - `owning_account.account_type` - `owning_account.account_id` - `partner_account.account_type` - `partner_account.account_id` - `feature_set` For partner links with the FEATURE_SET_AD_EVENT_MANAGEMENT feature set, the following fields are also supported: - `partner_customer_account.account_id` - `partner_link_metadata.implicit_accounts.account_id` Example: `owning_account.account_type = "GOOGLE_ADS" AND partner_account.account_id = 987654321` */ filter?: string; /** diff --git a/src/apis/datamigration/package.json b/src/apis/datamigration/package.json index 3a36894b37d..65b920f75e7 100644 --- a/src/apis/datamigration/package.json +++ b/src/apis/datamigration/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/datapipelines/package.json b/src/apis/datapipelines/package.json index 8a330501ced..652fe134761 100644 --- a/src/apis/datapipelines/package.json +++ b/src/apis/datapipelines/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dataplex/package.json b/src/apis/dataplex/package.json index 70ffbf165ed..c7670650fe4 100644 --- a/src/apis/dataplex/package.json +++ b/src/apis/dataplex/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dataplex/v1.ts b/src/apis/dataplex/v1.ts index c13fe8eee56..2f96c1b6967 100644 --- a/src/apis/dataplex/v1.ts +++ b/src/apis/dataplex/v1.ts @@ -1419,6 +1419,10 @@ export namespace dataplex_v1 { * Output only. The SQL query string which can be executed. */ sql?: string | null; + /** + * Output only. The SQL dialect of the query. + */ + sqlDialect?: string | null; } /** * Schema of the table with generated metadata of columns. @@ -1496,6 +1500,10 @@ export namespace dataplex_v1 { * Optional. Specifies which components of the data documentation to generate. Any component that is required to generate the specified components will also be generated. If no generation scope is specified, all available documentation components will be generated. */ generationScopes?: string[] | null; + /** + * Optional. The SQL dialect to use in the generated SQL queries. If not specified, the default dialect is Google SQL. + */ + sqlDialect?: string | null; } /** * A DataDomain is a logical grouping of data resources for governance, discovery, and management at scale. @@ -9255,6 +9263,8 @@ export namespace dataplex_v1 { * * // Do the magic * const res = await dataplex.projects.locations.searchEntries({ + * // Optional. Specifies the scope of the context in which the search will be performed. This scope will also be used to perform IAM checks, which if passing, will return all resources in the scope. + * contexts: 'placeholder-value', * // Required. The project to which the request should be attributed in the following form: projects/{project\}/locations/global. * name: 'projects/my-project/locations/my-location', * // Optional. Specifies the ordering of results. Supported values are: relevance last_modified_timestamp last_modified_timestamp asc @@ -9486,6 +9496,10 @@ export namespace dataplex_v1 { requestBody?: Schema$GoogleCloudDataplexV1ModifyEntryRequest; } export interface Params$Resource$Projects$Locations$Searchentries extends StandardParameters { + /** + * Optional. Specifies the scope of the context in which the search will be performed. This scope will also be used to perform IAM checks, which if passing, will return all resources in the scope. + */ + contexts?: string[]; /** * Required. The project to which the request should be attributed in the following form: projects/{project\}/locations/global. */ diff --git a/src/apis/dataportability/package.json b/src/apis/dataportability/package.json index 592b10816e1..29a6687e748 100644 --- a/src/apis/dataportability/package.json +++ b/src/apis/dataportability/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dataproc/package.json b/src/apis/dataproc/package.json index 5e914221c06..3385c32228e 100644 --- a/src/apis/dataproc/package.json +++ b/src/apis/dataproc/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dataproc/v1.ts b/src/apis/dataproc/v1.ts index c563fccd108..bd20b43ed43 100644 --- a/src/apis/dataproc/v1.ts +++ b/src/apis/dataproc/v1.ts @@ -407,7 +407,7 @@ export namespace dataproc_v1 { */ diskSizeGb?: number | null; /** - * Optional. Disk type. + * Optional. Deprecated: Use type instead. */ diskType?: string | null; /** @@ -418,6 +418,10 @@ export namespace dataproc_v1 { * Optional. Indicates how much throughput to provision for the attached disk. This sets the number of throughput mb per second that the disk can handle. See https://cloud.google.com/compute/docs/disks/hyperdisks#hyperdisk-features */ provisionedThroughput?: string | null; + /** + * Optional. Attached disk type. Currently only supports Hyperdisks. See https://cloud.google.com/compute/docs/disks/hyperdisks. Note: Hyperdisk Balanced High Availability is not supported.Allowed values are: hyperdisk-balanced hyperdisk-extreme hyperdisk-ml hyperdisk-throughput + */ + type?: string | null; } /** * Metadata describing the Attachment operation. diff --git a/src/apis/datastore/README.md b/src/apis/datastore/README.md index e23d0c5e55d..a0f54ee3504 100644 --- a/src/apis/datastore/README.md +++ b/src/apis/datastore/README.md @@ -4,6 +4,15 @@ > Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/datastore-api](https://www.npmjs.com/package/@google-cloud/datastore-api) instead. +The [@google-cloud/datastore-api](https://www.npmjs.com/package/@google-cloud/datastore-api) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/datastore/package.json b/src/apis/datastore/package.json index c8b1aaa8d42..d7355d56bc6 100644 --- a/src/apis/datastore/package.json +++ b/src/apis/datastore/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/datastream/package.json b/src/apis/datastream/package.json index bf063a69e6d..874c18e417b 100644 --- a/src/apis/datastream/package.json +++ b/src/apis/datastream/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/deploymentmanager/package.json b/src/apis/deploymentmanager/package.json index 618b65e1744..8514833e80a 100644 --- a/src/apis/deploymentmanager/package.json +++ b/src/apis/deploymentmanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/developerconnect/package.json b/src/apis/developerconnect/package.json index 98099b1992a..2490121a942 100644 --- a/src/apis/developerconnect/package.json +++ b/src/apis/developerconnect/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/developerconnect/v1.ts b/src/apis/developerconnect/v1.ts index 6d5f0da18c9..cb9ba1b7091 100644 --- a/src/apis/developerconnect/v1.ts +++ b/src/apis/developerconnect/v1.ts @@ -661,6 +661,19 @@ export namespace developerconnect_v1 { */ userRepos?: Schema$UserRepository[]; } + /** + * Visibility rules for individual tool parameters (fields). This allows producers to hide specific fields in tools/list and tools/call. + */ + export interface Schema$FieldVisibility { + /** + * The visibility restriction labels for this field (comma-separated). + */ + restriction?: string | null; + /** + * The name of the parameter in the input_schema or output_schema. + */ + selector?: string | null; + } /** * Message for responding to finishing an OAuth flow. */ @@ -1191,6 +1204,23 @@ export namespace developerconnect_v1 { */ name?: string | null; } + /** + * Profile describing the visibility restriction of an MCP tool. Key: "google.com/tool.profiles/visibility.restriction" + */ + export interface Schema$McpToolVisibility { + /** + * A list of field-level visibility restrictions. + */ + fieldVisibility?: Schema$FieldVisibility[]; + /** + * The strategy used to enforce visibility restrictions. DO NOT USE. This field is not yet implemented. + */ + visibilityEnforcementStrategy?: string | null; + /** + * The visibility restriction labels for the tool itself (e.g., "PRODUCER_DEFINED_PREVIEW"). Multiple labels can be provided as a comma-separated string. + */ + visibilityRestriction?: string | null; + } /** * Represents an OAuth token of the account that authorized the Connection, and associated metadata. */ diff --git a/src/apis/developerknowledge/README.md b/src/apis/developerknowledge/README.md index 0ca69b0b344..e68a59864d9 100644 --- a/src/apis/developerknowledge/README.md +++ b/src/apis/developerknowledge/README.md @@ -4,6 +4,15 @@ > The Developer Knowledge API provides access to Google's developer knowledge. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google/developer-knowledge](https://www.npmjs.com/package/@google/developer-knowledge) instead. +The [@google/developer-knowledge](https://www.npmjs.com/package/@google/developer-knowledge) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/developerknowledge/package.json b/src/apis/developerknowledge/package.json index dba1772a14e..18db5d7773f 100644 --- a/src/apis/developerknowledge/package.json +++ b/src/apis/developerknowledge/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/developerknowledge/v1.ts b/src/apis/developerknowledge/v1.ts index e257f4d859e..3cd09ce6cf2 100644 --- a/src/apis/developerknowledge/v1.ts +++ b/src/apis/developerknowledge/v1.ts @@ -242,7 +242,7 @@ export namespace developerknowledge_v1 { */ updateTime?: string | null; /** - * Output only. Provides the URI of the content, such as `docs.cloud.google.com/storage/docs/creating-buckets`. + * Output only. Provides the URI of the content, such as `https://docs.cloud.google.com/storage/docs/creating-buckets`. */ uri?: string | null; /** diff --git a/src/apis/developerknowledge/v1alpha.ts b/src/apis/developerknowledge/v1alpha.ts index e6f752a36bc..63cde674f91 100644 --- a/src/apis/developerknowledge/v1alpha.ts +++ b/src/apis/developerknowledge/v1alpha.ts @@ -242,7 +242,7 @@ export namespace developerknowledge_v1alpha { */ updateTime?: string | null; /** - * Output only. Provides the URI of the content, such as `docs.cloud.google.com/storage/docs/creating-buckets`. + * Output only. Provides the URI of the content, such as `https://docs.cloud.google.com/storage/docs/creating-buckets`. */ uri?: string | null; /** diff --git a/src/apis/dfareporting/package.json b/src/apis/dfareporting/package.json index 77e19b3560c..255ac2832bc 100644 --- a/src/apis/dfareporting/package.json +++ b/src/apis/dfareporting/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dialogflow/package.json b/src/apis/dialogflow/package.json index 47ce19c230a..c6dc669c389 100644 --- a/src/apis/dialogflow/package.json +++ b/src/apis/dialogflow/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/digitalassetlinks/package.json b/src/apis/digitalassetlinks/package.json index ce2d04083a0..604c2f443cf 100644 --- a/src/apis/digitalassetlinks/package.json +++ b/src/apis/digitalassetlinks/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/discovery/package.json b/src/apis/discovery/package.json index ec7ca02fba3..3093a0b7982 100644 --- a/src/apis/discovery/package.json +++ b/src/apis/discovery/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/discoveryengine/package.json b/src/apis/discoveryengine/package.json index 27dd40cecca..fcca63d4a1c 100644 --- a/src/apis/discoveryengine/package.json +++ b/src/apis/discoveryengine/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/discoveryengine/v1.ts b/src/apis/discoveryengine/v1.ts index cda388ed6ee..f911b2149e7 100644 --- a/src/apis/discoveryengine/v1.ts +++ b/src/apis/discoveryengine/v1.ts @@ -1750,6 +1750,10 @@ export namespace discoveryengine_v1 { * Required. Model name (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). See `model_mixture` for the list of allowed models. */ name?: string | null; + /** + * Optional. Sent as Vertex `ThinkingConfig.thinking_level`. + */ + thinkingLevel?: string | null; /** * Optional. Relative weight for this model in the mixture. Must be a finite, strictly positive value. Weights across all entries are normalized server-side, so they need not sum to 1.0. Defaults to 1.0 when unset, which is convenient when configuring a single model or an even mixture. Some Pro-tier models are capped at most 50% of the total weight; requests violating that cap are rejected with INVALID_ARGUMENT. */ @@ -4197,7 +4201,7 @@ export namespace discoveryengine_v1 { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -4240,6 +4244,10 @@ export namespace discoveryengine_v1 { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1alphaSessionConfig; /** * Additional config specs for a `similar-items` engine. */ @@ -6579,6 +6587,28 @@ export namespace discoveryengine_v1 { */ userPseudoId?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Represents a turn, including a query from the user and a answer from service. */ @@ -8067,6 +8097,10 @@ export namespace discoveryengine_v1 { * Optional. List of banned phrases. */ bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase[]; + /** + * Optional. Data protection policy to be used for sanitizing file uploads. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Optional. Model Armor configuration to be used for sanitizing user prompts and assistant responses. */ @@ -8872,6 +8906,24 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Contains the data protection policy config for a DataStore or a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicy { + /** + * Optional. Specifies the sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. Specifies the resource name of the Sensitive Data Protection content policy. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -8908,6 +8960,10 @@ export namespace discoveryengine_v1 { * Output only. Timestamp the DataStore was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the data store. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicy; /** * Output only. The id of the default Schema associated to this data store. */ @@ -9413,7 +9469,7 @@ export namespace discoveryengine_v1 { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -9452,6 +9508,10 @@ export namespace discoveryengine_v1 { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1betaSessionConfig; /** * Required. The solutions of the engine. */ @@ -11148,6 +11208,28 @@ export namespace discoveryengine_v1 { */ mode?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -12484,6 +12566,10 @@ export namespace discoveryengine_v1 { * Output only. Timestamp the DataConnector was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the connector. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Required. The identifier for the data source. For the full, up-to-date list of supported connectors and their values, see [Connect a third-party data source](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/connect-third-party-data-source#sources-by-launch-stage). */ @@ -12747,6 +12833,24 @@ export namespace discoveryengine_v1 { */ startingSchema?: Schema$GoogleCloudDiscoveryengineV1Schema; } + /** + * Contains the data protection policy config for a DataStore or a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy { + /** + * Optional. Specifies the sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. Specifies the resource name of the Sensitive Data Protection content policy. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -12783,6 +12887,10 @@ export namespace discoveryengine_v1 { * Output only. Timestamp the DataStore was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the data store. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Output only. The id of the default Schema associated to this data store. */ @@ -13529,7 +13637,7 @@ export namespace discoveryengine_v1 { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -13568,6 +13676,10 @@ export namespace discoveryengine_v1 { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1EngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1SessionConfig; /** * Required. The solutions of the engine. */ @@ -15608,6 +15720,10 @@ export namespace discoveryengine_v1 { * Whether to turn on safe search. This is only supported for website search. */ safeSearch?: boolean | null; + /** + * Optional. SearchAddonSpec is used to disable add-ons for search as per new repricing model. This field is only supported for search requests. + */ + searchAddonSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestSearchAddonSpec; /** * Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical. */ @@ -16032,6 +16148,23 @@ export namespace discoveryengine_v1 { */ returnRelevanceScore?: boolean | null; } + /** + * SearchAddonSpec is used to disable add-ons for search as per new repricing model. By default if the SearchAddonSpec is not specified, we consider that the customer wants to enable them wherever applicable. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestSearchAddonSpec { + /** + * Optional. If true, generative answer add-on is disabled. Generative answer add-on includes natural language to filters and simple answers. + */ + disableGenerativeAnswerAddOn?: boolean | null; + /** + * Optional. If true, disables event re-ranking and personalization to optimize KPIs & personalize results. + */ + disableKpiPersonalizationAddOn?: boolean | null; + /** + * Optional. If true, semantic add-on is disabled. Semantic add-on includes embeddings and jetstream. + */ + disableSemanticAddOn?: boolean | null; + } /** * Specification for search as you type in search requests. */ @@ -16706,6 +16839,28 @@ export namespace discoveryengine_v1 { */ userPseudoId?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1SessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Represents a turn, including a query from the user and a answer from service. */ @@ -17742,6 +17897,10 @@ export namespace discoveryengine_v1 { * Customer provided configurations. */ export interface Schema$GoogleCloudDiscoveryengineV1WidgetConfigCustomerProvidedConfig { + /** + * Output only. The customer's Assured Workloads compliance level. `customer_type` collapses every compliance level into a single `GOVERNMENT_CUSTOMER` value, so a client that gates a feature on one specific level rather than on government status as a whole must read this field instead. + */ + complianceLevel?: string | null; /** * Customer type. */ @@ -17945,7 +18104,7 @@ export namespace discoveryengine_v1 { */ enableVisualContentSummary?: boolean | null; /** - * Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -17976,6 +18135,10 @@ export namespace discoveryengine_v1 { * Controls whether result extract is display and how (snippet or extractive answer). Default to no result if unspecified. */ resultDescriptionType?: string | null; + /** + * Optional. SearchAddonSpec is used to disable add-ons for search. This field is only supported for search requests. + */ + searchAddonSpec?: Schema$GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsSearchAddonSpec; /** * Optional. Whether to show the admin-configured display name for data connectors in the widget sources UI (instead of the connector kind). Opt-in; defaults to false. */ @@ -18059,6 +18222,10 @@ export namespace discoveryengine_v1 { * Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). */ icon?: string | null; + /** + * Output only. Absolute URL of a brand mark to render instead of `icon`, for models whose vendor logo is not a GM3 glyph. `icon` stays populated as the fallback, so a client that does not render images, or that fails to fetch this one, shows the glyph instead of nothing. + */ + iconUrl?: string | null; /** * Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. */ @@ -18093,6 +18260,23 @@ export namespace discoveryengine_v1 { */ regions?: string[] | null; } + /** + * SearchAddonSpec is used to disable add-ons for search. By default, if this field is not specified, add-ons are enabled wherever applicable. + */ + export interface Schema$GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsSearchAddonSpec { + /** + * Optional. If true, generative answer add-on is disabled. Generative answer add-on includes natural language to filters and simple answers. + */ + generativeAnswerAddOnDisabled?: boolean | null; + /** + * Optional. If true, disables event re-ranking and personalization to optimize KPIs & personalize results. + */ + kpiPersonalizationAddOnDisabled?: boolean | null; + /** + * Optional. If true, semantic add-on is disabled. Semantic add-on includes embeddings and jetstream. + */ + semanticAddOnDisabled?: boolean | null; + } /** * Config to store data store type configuration for workspace data */ @@ -19707,6 +19891,7 @@ export namespace discoveryengine_v1 { * // "connectorType": "my_connectorType", * // "createEuaSaas": false, * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "dataSource": "my_dataSource", * // "destinationConfigs": [], * // "dynamicTools": [], @@ -21140,6 +21325,7 @@ export namespace discoveryengine_v1 { * // "connectorType": "my_connectorType", * // "createEuaSaas": false, * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "dataSource": "my_dataSource", * // "destinationConfigs": [], * // "dynamicTools": [], @@ -21281,6 +21467,316 @@ export namespace discoveryengine_v1 { } } + /** + * Gets the IAM access control policy for a Collection. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await discoveryengine.projects.locations.collections.getIamPolicy( + * { + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/collections/my-collection', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the IAM access control policy for a Collection. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a Collection resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await discoveryengine.projects.locations.collections.setIamPolicy( + * { + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/collections/my-collection', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Updates a DataConnector. * @example @@ -21340,6 +21836,7 @@ export namespace discoveryengine_v1 { * // "connectorType": "my_connectorType", * // "createEuaSaas": false, * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "dataSource": "my_dataSource", * // "destinationConfigs": [], * // "dynamicTools": [], @@ -21394,6 +21891,7 @@ export namespace discoveryengine_v1 { * // "connectorType": "my_connectorType", * // "createEuaSaas": false, * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "dataSource": "my_dataSource", * // "destinationConfigs": [], * // "dynamicTools": [], @@ -21548,6 +22046,27 @@ export namespace discoveryengine_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Collections$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Collections$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } export interface Params$Resource$Projects$Locations$Collections$Updatedataconnector extends StandardParameters { /** * Identifier. The full resource name of the Data Connector. Format: `projects/x/locations/x/collections/x/dataConnector`. @@ -22420,6 +22939,7 @@ export namespace discoveryengine_v1 { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -22733,37 +23253,196 @@ export namespace discoveryengine_v1 { * * // Do the magic * const res = - * await discoveryengine.projects.locations.collections.dataStores.get({ - * // Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned. - * name: 'projects/my-project/locations/my-location/collections/my-collection/dataStores/my-dataStore', - * }); + * await discoveryengine.projects.locations.collections.dataStores.get({ + * // Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned. + * name: 'projects/my-project/locations/my-location/collections/my-collection/dataStores/my-dataStore', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aclEnabled": false, + * // "advancedSiteSearchConfig": {}, + * // "billingEstimation": {}, + * // "cmekConfig": {}, + * // "configurableBillingApproach": "my_configurableBillingApproach", + * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", + * // "contentConfig": "my_contentConfig", + * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, + * // "defaultSchemaId": "my_defaultSchemaId", + * // "displayName": "my_displayName", + * // "documentProcessingConfig": {}, + * // "federatedSearchConfig": {}, + * // "healthcareFhirConfig": {}, + * // "identityMappingStore": "my_identityMappingStore", + * // "industryVertical": "my_industryVertical", + * // "isInfobotFaqDataStore": false, + * // "kmsKeyName": "my_kmsKeyName", + * // "name": "my_name", + * // "naturalLanguageQueryUnderstandingConfig": {}, + * // "servingConfigDataStore": {}, + * // "solutionTypes": [], + * // "startingSchema": {}, + * // "workspaceConfig": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Collections$Datastores$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Get, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + get( + params: Params$Resource$Projects$Locations$Collections$Datastores$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Datastores$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Datastores$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.dataStores.getIamPolicy( + * { + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/collections/my-collection/dataStores/my-dataStore', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "aclEnabled": false, - * // "advancedSiteSearchConfig": {}, - * // "billingEstimation": {}, - * // "cmekConfig": {}, - * // "configurableBillingApproach": "my_configurableBillingApproach", - * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", - * // "contentConfig": "my_contentConfig", - * // "createTime": "my_createTime", - * // "defaultSchemaId": "my_defaultSchemaId", - * // "displayName": "my_displayName", - * // "documentProcessingConfig": {}, - * // "federatedSearchConfig": {}, - * // "healthcareFhirConfig": {}, - * // "identityMappingStore": "my_identityMappingStore", - * // "industryVertical": "my_industryVertical", - * // "isInfobotFaqDataStore": false, - * // "kmsKeyName": "my_kmsKeyName", - * // "name": "my_name", - * // "naturalLanguageQueryUnderstandingConfig": {}, - * // "servingConfigDataStore": {}, - * // "solutionTypes": [], - * // "startingSchema": {}, - * // "workspaceConfig": {} + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -22779,62 +23458,56 @@ export namespace discoveryengine_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Collections$Datastores$Get, + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Collections$Datastores$Get, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - get( - params: Params$Resource$Projects$Locations$Collections$Datastores$Get, + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Collections$Datastores$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Collections$Datastores$Get, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + getIamPolicy( + callback: BodyResponseCallback ): void; - get( + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Datastores$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Datastores$Get; + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Datastores$Get; + {} as Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy; options = {}; } @@ -22848,26 +23521,27 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -23239,6 +23913,7 @@ export namespace discoveryengine_v1 { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -23269,6 +23944,7 @@ export namespace discoveryengine_v1 { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -23391,6 +24067,165 @@ export namespace discoveryengine_v1 { } } + /** + * Sets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a DataStore resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.dataStores.setIamPolicy( + * { + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/collections/my-collection/dataStores/my-dataStore', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Trains a custom model. * @example @@ -23622,6 +24457,16 @@ export namespace discoveryengine_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Collections$Datastores$Getsitesearchengine extends StandardParameters { /** * Required. Resource name of SiteSearchEngine, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned. @@ -23661,6 +24506,17 @@ export namespace discoveryengine_v1 { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1DataStore; } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } export interface Params$Resource$Projects$Locations$Collections$Datastores$Traincustommodel extends StandardParameters { /** * Required. The resource name of the Data Store, such as `projects/x/locations/global/collections/default_collection/dataStores/default_data_store`. This field is used to identify the data store where to train the models. @@ -31587,6 +32443,7 @@ export namespace discoveryengine_v1 { * // "relevanceScoreSpec": {}, * // "relevanceThreshold": "my_relevanceThreshold", * // "safeSearch": false, + * // "searchAddonSpec": {}, * // "searchAsYouTypeSpec": {}, * // "session": "my_session", * // "sessionSpec": {}, @@ -31802,6 +32659,7 @@ export namespace discoveryengine_v1 { * // "relevanceScoreSpec": {}, * // "relevanceThreshold": "my_relevanceThreshold", * // "safeSearch": false, + * // "searchAddonSpec": {}, * // "searchAsYouTypeSpec": {}, * // "session": "my_session", * // "sessionSpec": {}, @@ -37645,7 +38503,7 @@ export namespace discoveryengine_v1 { * 'placeholder-value', * // Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). * languageCode: 'placeholder-value', - * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. * modelInfoView: 'placeholder-value', * // Required. Full WidgetConfig resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}/widgetConfigs/{widget_config_id\}` * name: 'projects/my-project/locations/my-location/collections/my-collection/dataStores/my-dataStore/widgetConfigs/my-widgetConfig', @@ -38053,7 +38911,7 @@ export namespace discoveryengine_v1 { */ languageCode?: string; /** - * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. */ modelInfoView?: string; /** @@ -38192,6 +39050,7 @@ export namespace discoveryengine_v1 { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -38522,6 +39381,7 @@ export namespace discoveryengine_v1 { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -39013,6 +39873,7 @@ export namespace discoveryengine_v1 { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -39045,6 +39906,7 @@ export namespace discoveryengine_v1 { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -46420,6 +47282,7 @@ export namespace discoveryengine_v1 { * // "relevanceScoreSpec": {}, * // "relevanceThreshold": "my_relevanceThreshold", * // "safeSearch": false, + * // "searchAddonSpec": {}, * // "searchAsYouTypeSpec": {}, * // "session": "my_session", * // "sessionSpec": {}, @@ -46635,6 +47498,7 @@ export namespace discoveryengine_v1 { * // "relevanceScoreSpec": {}, * // "relevanceThreshold": "my_relevanceThreshold", * // "safeSearch": false, + * // "searchAddonSpec": {}, * // "searchAsYouTypeSpec": {}, * // "session": "my_session", * // "sessionSpec": {}, @@ -48215,7 +49079,7 @@ export namespace discoveryengine_v1 { * 'placeholder-value', * // Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). * languageCode: 'placeholder-value', - * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. * modelInfoView: 'placeholder-value', * // Required. Full WidgetConfig resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}/widgetConfigs/{widget_config_id\}` * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/widgetConfigs/my-widgetConfig', @@ -48623,7 +49487,7 @@ export namespace discoveryengine_v1 { */ languageCode?: string; /** - * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. */ modelInfoView?: string; /** @@ -49284,6 +50148,7 @@ export namespace discoveryengine_v1 { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -49609,6 +50474,7 @@ export namespace discoveryengine_v1 { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -49730,6 +50596,156 @@ export namespace discoveryengine_v1 { } } + /** + * Gets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await discoveryengine.projects.locations.dataStores.getIamPolicy({ + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/dataStores/my-dataStore', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets the SiteSearchEngine. * @example @@ -50092,6 +51108,7 @@ export namespace discoveryengine_v1 { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -50122,6 +51139,7 @@ export namespace discoveryengine_v1 { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -50242,6 +51260,162 @@ export namespace discoveryengine_v1 { ); } } + + /** + * Sets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a DataStore resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await discoveryengine.projects.locations.dataStores.setIamPolicy({ + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/dataStores/my-dataStore', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Datastores$Completequery extends StandardParameters { @@ -50309,6 +51483,16 @@ export namespace discoveryengine_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Datastores$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Datastores$Getsitesearchengine extends StandardParameters { /** * Required. Resource name of SiteSearchEngine, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned. @@ -50348,6 +51532,17 @@ export namespace discoveryengine_v1 { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1DataStore; } + export interface Params$Resource$Projects$Locations$Datastores$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } export class Resource$Projects$Locations$Datastores$Branches { context: APIRequestContext; @@ -57678,6 +58873,7 @@ export namespace discoveryengine_v1 { * // "relevanceScoreSpec": {}, * // "relevanceThreshold": "my_relevanceThreshold", * // "safeSearch": false, + * // "searchAddonSpec": {}, * // "searchAsYouTypeSpec": {}, * // "session": "my_session", * // "sessionSpec": {}, @@ -57892,6 +59088,7 @@ export namespace discoveryengine_v1 { * // "relevanceScoreSpec": {}, * // "relevanceThreshold": "my_relevanceThreshold", * // "safeSearch": false, + * // "searchAddonSpec": {}, * // "searchAsYouTypeSpec": {}, * // "session": "my_session", * // "sessionSpec": {}, @@ -62652,7 +63849,7 @@ export namespace discoveryengine_v1 { * 'placeholder-value', * // Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). * languageCode: 'placeholder-value', - * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. * modelInfoView: 'placeholder-value', * // Required. Full WidgetConfig resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}/widgetConfigs/{widget_config_id\}` * name: 'projects/my-project/locations/my-location/dataStores/my-dataStore/widgetConfigs/my-widgetConfig', @@ -63057,7 +64254,7 @@ export namespace discoveryengine_v1 { */ languageCode?: string; /** - * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. */ modelInfoView?: string; /** diff --git a/src/apis/discoveryengine/v1alpha.ts b/src/apis/discoveryengine/v1alpha.ts index 91883783afa..6c298616d1c 100644 --- a/src/apis/discoveryengine/v1alpha.ts +++ b/src/apis/discoveryengine/v1alpha.ts @@ -1338,6 +1338,10 @@ export namespace discoveryengine_v1alpha { * Required. Model name (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). See `model_mixture` for the list of allowed models. */ name?: string | null; + /** + * Optional. Sent as Vertex `ThinkingConfig.thinking_level`. + */ + thinkingLevel?: string | null; /** * Optional. Relative weight for this model in the mixture. Must be a finite, strictly positive value. Weights across all entries are normalized server-side, so they need not sum to 1.0. Defaults to 1.0 when unset, which is convenient when configuring a single model or an even mixture. Some Pro-tier models are capped at most 50% of the total weight; requests violating that cap are rejected with INVALID_ARGUMENT. */ @@ -2523,6 +2527,10 @@ export namespace discoveryengine_v1alpha { * Optional. Configuration for the generation of the assistant response. */ generationConfig?: Schema$GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig; + /** + * Optional. Indicates whether Knowledge Catalog is enabled for this specific assistant. When enabled, it powers discovery context using organizational data. + */ + knowledgeCatalogEnabled?: boolean | null; /** * Immutable. Resource name of the assistant. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/assistants/{assistant\}` It must be a UTF-8 encoded string with a length limit of 1024 characters. */ @@ -5735,7 +5743,7 @@ export namespace discoveryengine_v1alpha { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -5778,6 +5786,10 @@ export namespace discoveryengine_v1alpha { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1alphaSessionConfig; /** * Additional config specs for a `similar-items` engine. */ @@ -10799,6 +10811,28 @@ export namespace discoveryengine_v1alpha { */ userPseudoId?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Represents a turn, including a query from the user and a answer from service. */ @@ -12069,6 +12103,10 @@ export namespace discoveryengine_v1alpha { * Customer provided configurations. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaWidgetConfigCustomerProvidedConfig { + /** + * Output only. The customer's Assured Workloads compliance level. `customer_type` collapses every compliance level into a single `GOVERNMENT_CUSTOMER` value, so a client that gates a feature on one specific level rather than on government status as a whole must read this field instead. + */ + complianceLevel?: string | null; /** * Customer type. */ @@ -12280,7 +12318,7 @@ export namespace discoveryengine_v1alpha { */ enableVisualContentSummary?: boolean | null; /** - * Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -12398,6 +12436,10 @@ export namespace discoveryengine_v1alpha { * Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). */ icon?: string | null; + /** + * Output only. Absolute URL of a brand mark to render instead of `icon`, for models whose vendor logo is not a GM3 glyph. `icon` stays populated as the fallback, so a client that does not render images, or that fails to fetch this one, shows the glyph instead of nothing. + */ + iconUrl?: string | null; /** * Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. */ @@ -12584,6 +12626,10 @@ export namespace discoveryengine_v1alpha { * Optional. List of banned phrases. */ bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase[]; + /** + * Optional. Data protection policy to be used for sanitizing file uploads. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Optional. Model Armor configuration to be used for sanitizing user prompts and assistant responses. */ @@ -13171,6 +13217,24 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Contains the data protection policy config for a DataStore or a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicy { + /** + * Optional. Specifies the sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. Specifies the resource name of the Sensitive Data Protection content policy. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -13207,6 +13271,10 @@ export namespace discoveryengine_v1alpha { * Output only. Timestamp the DataStore was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the data store. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicy; /** * Output only. The id of the default Schema associated to this data store. */ @@ -13712,7 +13780,7 @@ export namespace discoveryengine_v1alpha { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -13751,6 +13819,10 @@ export namespace discoveryengine_v1alpha { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1betaSessionConfig; /** * Required. The solutions of the engine. */ @@ -15447,6 +15519,28 @@ export namespace discoveryengine_v1alpha { */ mode?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -16144,6 +16238,10 @@ export namespace discoveryengine_v1alpha { * Output only. Timestamp the DataConnector was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the connector. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Required. The identifier for the data source. For the full, up-to-date list of supported connectors and their values, see [Connect a third-party data source](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/connect-third-party-data-source#sources-by-launch-stage). */ @@ -16407,6 +16505,24 @@ export namespace discoveryengine_v1alpha { */ startingSchema?: Schema$GoogleCloudDiscoveryengineV1Schema; } + /** + * Contains the data protection policy config for a DataStore or a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy { + /** + * Optional. Specifies the sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. Specifies the resource name of the Sensitive Data Protection content policy. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -16443,6 +16559,10 @@ export namespace discoveryengine_v1alpha { * Output only. Timestamp the DataStore was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the data store. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Output only. The id of the default Schema associated to this data store. */ @@ -17004,7 +17124,7 @@ export namespace discoveryengine_v1alpha { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -17043,6 +17163,10 @@ export namespace discoveryengine_v1alpha { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1EngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1SessionConfig; /** * Required. The solutions of the engine. */ @@ -18135,6 +18259,28 @@ export namespace discoveryengine_v1alpha { */ demotionEventType?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1SessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Metadata for DataConnectorService.SetUpDataConnector method. */ @@ -18414,32 +18560,6 @@ export namespace discoveryengine_v1alpha { */ type?: string | null; } - /** - * Account and role information. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaAccountAndRole { - /** - * Required. The email address associated with the account. - */ - email?: string | null; - /** - * Required. The role in the notebook. - */ - role?: string | null; - } - /** - * Metadata about an agentspace source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaAgentspaceMetadata { - /** - * Output only. The full document name in Agentspace. - */ - documentName?: string | null; - /** - * Output only. The title of the document. - */ - documentTitle?: string | null; - } /** * An audio overview of a notebook. This is a summary of the notebook in audio format. */ @@ -18486,51 +18606,6 @@ export namespace discoveryengine_v1alpha { */ sourceIds?: Schema$GoogleCloudNotebooklmV1alphaSourceId[]; } - /** - * Request for SourceService.BatchCreateSources method. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaBatchCreateSourcesRequest { - /** - * Required. The UserContents to be uploaded. - */ - userContents?: Schema$GoogleCloudNotebooklmV1alphaUserContent[]; - } - /** - * Response for SourceService.BatchCreateSources method. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaBatchCreateSourcesResponse { - /** - * The Sources. - */ - sources?: Schema$GoogleCloudNotebooklmV1alphaSource[]; - } - /** - * Request for NotebookService.BatchDeleteNotebooks method. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaBatchDeleteNotebooksRequest { - /** - * Required. Full resource names of Notebook, such as `projects/{project\}/locations/{location\}/notebooks/{notebook_id\}`. - */ - names?: string[] | null; - } - /** - * Request for BatchDeleteSourcesRequest method. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaBatchDeleteSourcesRequest { - /** - * Required. Names of sources to be deleted. Format: projects/{project\}/locations/{location\}/notebooks/{notebook\}/sources/{source\} - */ - names?: string[] | null; - } - /** - * Customer-managed encryption configuration for Notebooks. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaCmekConfig { - /** - * Required. KMS key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. - */ - kmsKey?: string | null; - } /** * Request for AudioOverviewService.CreateAudioOverview method. */ @@ -18549,294 +18624,6 @@ export namespace discoveryengine_v1alpha { */ audioOverview?: Schema$GoogleCloudNotebooklmV1alphaAudioOverview; } - /** - * Failure reason containing details about why a source failed to ingest. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReason { - /** - * An audio file transcription specific error. - */ - audioTranscriptionError?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionError; - /** - * Error if the user tries to add a source from a blocked domain. - */ - domainBlocked?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonDomainBlocked; - /** - * A google drive specific error. - */ - googleDriveError?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveError; - /** - * Indicates an error occurred while ingesting the source. - */ - ingestionError?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonIngestionError; - /** - * Indicates that the source MIME type is blocked. - */ - mimeTypeBlocked?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonMimeTypeBlocked; - /** - * Indicates that the source is paywalled and cannot be ingested. - */ - paywallError?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonPaywallError; - /** - * Indicates that the policy check failed. - */ - policyCheckFailed?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonPolicyCheckFailed; - /** - * Indicates that the source is empty. - */ - sourceEmpty?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonSourceEmpty; - /** - * Error if the user tries to update beyond their limits. - */ - sourceLimitExceeded?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonSourceLimitExceeded; - /** - * Indicates source word count exceeded the user's limit. - */ - sourceTooLong?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonSourceTooLong; - /** - * Indicates that the source is unreachable. - */ - sourceUnreachable?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonSourceUnreachable; - /** - * Indicates an unknown error occurred. - */ - unknown?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonUnknown; - /** - * Indicates an error occurred while uploading the source. - */ - uploadError?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonUploadError; - /** - * A youtube specific error. - */ - youtubeError?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonYoutubeError; - } - /** - * An audio file transcription specific error. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionError { - /** - * Could not detect language of the file (it may not be speech). - */ - languageDetectionFailed?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorLanguageDetectionFailed; - /** - * No audio was detected in the input file (it may have been a video). - */ - noAudioDetected?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorNoAudioDetected; - } - /** - * Could not detect language of the file (it may not be speech). - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorLanguageDetectionFailed {} - /** - * No audio was detected in the input file. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonAudioTranscriptionErrorNoAudioDetected {} - /** - * Error to indicate that the source was removed because the domain was blocked. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonDomainBlocked {} - /** - * A google drive specific error. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveError { - /** - * The user was prevented from downloading the file. - */ - downloadPrevented?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveErrorDownloadPrevented; - } - /** - * The user was prevented from downloading the file. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonGoogleDriveErrorDownloadPrevented {} - /** - * Indicates an error occurred while ingesting the source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonIngestionError {} - /** - * Indicates that the source MIME type is blocked. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonMimeTypeBlocked {} - /** - * Indicates that the source is paywalled and cannot be ingested. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonPaywallError {} - /** - * Indicates that the policy check failed. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonPolicyCheckFailed {} - /** - * Indicates that the source is empty. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonSourceEmpty {} - /** - * Indicates that the user does not have space for this source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonSourceLimitExceeded {} - /** - * Indicates source word count exceeded the user's limit. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonSourceTooLong { - /** - * The number of words in the source. - */ - wordCount?: number | null; - /** - * The word count limit for the current user at the time of the upload. - */ - wordLimit?: number | null; - } - /** - * Indicates that the source is unreachable. This is primarily used for sources that are added via URL. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonSourceUnreachable { - /** - * Describes why the source is unreachable. - */ - errorDetails?: string | null; - } - /** - * Indicates an unknown error occurred. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonUnknown {} - /** - * Indicates an error occurred while uploading the source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonUploadError {} - /** - * A youtube specific error. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonYoutubeError { - /** - * Error to indicate that the source was removed because the video was deleted. - */ - videoDeleted?: Schema$GoogleCloudNotebooklmV1alphaFailureReasonYoutubeErrorVideoDeleted; - } - /** - * Error to indicate that the source was removed because the video was deleted. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaFailureReasonYoutubeErrorVideoDeleted {} - /** - * Metadata about a google doc source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaGoogleDocsSourceMetadata { - /** - * Output only. The document id of the google doc. - */ - documentId?: string | null; - /** - * Output only. Revision id for the doc. - */ - revisionId?: string | null; - } - /** - * Response for NotebookService.ListRecentlyViewedNotebooks method. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaListRecentlyViewedNotebooksResponse { - /** - * The page token, provide this to retrieve the subsequent page. - */ - nextPageToken?: string | null; - /** - * The list of recently viewed notebooks. - */ - notebooks?: Schema$GoogleCloudNotebooklmV1alphaNotebook[]; - } - /** - * Notebook is a resource where users can store their content (as sources) and interacts with the content. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaNotebook { - /** - * Output only. CMEK-related information for the Notebook. - */ - cmekConfig?: Schema$GoogleCloudNotebooklmV1alphaCmekConfig; - /** - * Output only. The emoji of the notebook. - */ - emoji?: string | null; - /** - * Output only. The metadata of the notebook. - */ - metadata?: Schema$GoogleCloudNotebooklmV1alphaNotebookMetadata; - /** - * Identifier. The identifier of the notebook. Format: `projects/{project\}/locations/{location\}/notebooks/{notebook_id\}`. This field must be a UTF-8 encoded string. - */ - name?: string | null; - /** - * Output only. Notebook id, which is the last segment of the notebook's resource name. - */ - notebookId?: string | null; - /** - * Output only. List of sources in the notebook. This is an output only field. - */ - sources?: Schema$GoogleCloudNotebooklmV1alphaSource[]; - /** - * Optional. The title of the notebook. - */ - title?: string | null; - } - /** - * Metadata for a notebook. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaNotebookMetadata { - /** - * The time at which this project was created. - */ - createTime?: string | null; - /** - * True if the project is shareable. - */ - isShareable?: boolean | null; - /** - * True if this project is currently shared with other people, false otherwise. - */ - isShared?: boolean | null; - /** - * A timestamp indicating the time that the current in session user has last viewed the project. - */ - lastViewed?: string | null; - } - /** - * Request for NotebookService.ShareNotebook method. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaShareNotebookRequest { - /** - * Required. The list of accounts and roles to share the notebook with. - */ - accountAndRoles?: Schema$GoogleCloudNotebooklmV1alphaAccountAndRole[]; - /** - * Required. Whether to notify the shared users via email. - */ - notifyViaEmail?: boolean | null; - } - /** - * Response for NotebookService.ShareNotebook method. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaShareNotebookResponse {} - /** - * Source represents a single source of content. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaSource { - /** - * Output only. Metadata about the source. - */ - metadata?: Schema$GoogleCloudNotebooklmV1alphaSourceMetadata; - /** - * Identifier. The full resource name of the source. Format: `projects/{project\}/locations/{location\}/notebooks/{notebook\}/sources/{source_id\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. - */ - name?: string | null; - /** - * Output only. Status of the source, and any failure reasons. - */ - settings?: Schema$GoogleCloudNotebooklmV1alphaSourceSettings; - /** - * Optional. Output only. Source id, which is the last segment of the source's resource name. - */ - sourceId?: Schema$GoogleCloudNotebooklmV1alphaSourceId; - /** - * Optional. Title of the source. - */ - title?: string | null; - } /** * SourceId is the last segment of the source's resource name. */ @@ -18846,155 +18633,6 @@ export namespace discoveryengine_v1alpha { */ id?: string | null; } - /** - * Represents the metadata of a source and some additional information. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaSourceMetadata { - /** - * Metadata for an agentspace source. - */ - agentspaceMetadata?: Schema$GoogleCloudNotebooklmV1alphaAgentspaceMetadata; - /** - * Metadata for a google doc source. - */ - googleDocsMetadata?: Schema$GoogleCloudNotebooklmV1alphaGoogleDocsSourceMetadata; - /** - * The timestamp the source was added. - */ - sourceAddedTimestamp?: string | null; - /** - * The number of tokens in the source. - */ - tokenCount?: number | null; - /** - * The word count of the source. - */ - wordCount?: number | null; - /** - * Metadata for a youtube video source. - */ - youtubeMetadata?: Schema$GoogleCloudNotebooklmV1alphaYoutubeMetadata; - } - /** - * Allows extension of Source Settings in the BatchCreateSources (Formerly AddSource request). - */ - export interface Schema$GoogleCloudNotebooklmV1alphaSourceSettings { - /** - * Failure reason containing details about why a source failed to ingest. - */ - failureReason?: Schema$GoogleCloudNotebooklmV1alphaFailureReason; - /** - * Status of the source. - */ - status?: string | null; - } - /** - * The "Content" messages refer to data the user wants to upload. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaUserContent { - /** - * Agentspace content uploaded as source. - */ - agentspaceContent?: Schema$GoogleCloudNotebooklmV1alphaUserContentAgentspaceContent; - /** - * The content from Google Drive. - */ - googleDriveContent?: Schema$GoogleCloudNotebooklmV1alphaUserContentGoogleDriveContent; - /** - * The text content uploaded as source. - */ - textContent?: Schema$GoogleCloudNotebooklmV1alphaUserContentTextContent; - /** - * The video content uploaded as source. - */ - videoContent?: Schema$GoogleCloudNotebooklmV1alphaUserContentVideoContent; - /** - * The web content uploaded as source. - */ - webContent?: Schema$GoogleCloudNotebooklmV1alphaUserContentWebContent; - } - /** - * Agentspace content uploaded as source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaUserContentAgentspaceContent { - /** - * Optional. The full resource name of the Agentspace document. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/branches/{branch\}/documents/{document_id\}`. - */ - documentName?: string | null; - /** - * Optional. Engine to verify the permission of the document. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}`. - */ - engineName?: string | null; - /** - * Optional. Resource name of the idea forge instance. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/sessions/{session\}/ideaForgeInstances/{instance\}` - */ - ideaforgeIdeaName?: string | null; - } - /** - * The content from Google Drive. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaUserContentGoogleDriveContent { - /** - * The document id of the selected document. - */ - documentId?: string | null; - /** - * The mime type of the selected document. This can be used to differentiate type of content selected in the drive picker. Use application/vnd.google-apps.document for Google Docs or application/vnd.google-apps.presentation for Google Slides. - */ - mimeType?: string | null; - /** - * The name to be displayed for the source. - */ - sourceName?: string | null; - } - /** - * The text content uploaded as source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaUserContentTextContent { - /** - * The name to be displayed for the source. - */ - content?: string | null; - /** - * The display name of the text source. - */ - sourceName?: string | null; - } - /** - * Video content uploaded as source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaUserContentVideoContent { - /** - * The youtube url of the video content. - */ - youtubeUrl?: string | null; - } - /** - * The web content uploaded as source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaUserContentWebContent { - /** - * The name to be displayed for the source. - */ - sourceName?: string | null; - /** - * If URL is supplied, will fetch the webpage in the backend. - */ - url?: string | null; - } - /** - * Metadata about a youtube video source. - */ - export interface Schema$GoogleCloudNotebooklmV1alphaYoutubeMetadata { - /** - * Output only. The channel name of the youtube video. - */ - channelName?: string | null; - /** - * Output only. The id of the youtube video. - */ - videoId?: string | null; - } /** * Associates `members`, or principals, with a `role`. */ @@ -46262,7 +45900,7 @@ export namespace discoveryengine_v1alpha { * 'placeholder-value', * // Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). * languageCode: 'placeholder-value', - * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. * modelInfoView: 'placeholder-value', * // Required. Full WidgetConfig resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}/widgetConfigs/{widget_config_id\}` * name: 'projects/my-project/locations/my-location/collections/my-collection/dataStores/my-dataStore/widgetConfigs/my-widgetConfig', @@ -46670,7 +46308,7 @@ export namespace discoveryengine_v1alpha { */ languageCode?: string; /** - * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. */ modelInfoView?: string; /** @@ -46815,6 +46453,7 @@ export namespace discoveryengine_v1alpha { * // "procurementContactEmails": [], * // "recommendationMetadata": {}, * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "similarDocumentsConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" @@ -47147,6 +46786,7 @@ export namespace discoveryengine_v1alpha { * // "procurementContactEmails": [], * // "recommendationMetadata": {}, * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "similarDocumentsConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" @@ -47959,6 +47599,7 @@ export namespace discoveryengine_v1alpha { * // "procurementContactEmails": [], * // "recommendationMetadata": {}, * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "similarDocumentsConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" @@ -47993,6 +47634,7 @@ export namespace discoveryengine_v1alpha { * // "procurementContactEmails": [], * // "recommendationMetadata": {}, * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "similarDocumentsConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" @@ -48176,6 +47818,7 @@ export namespace discoveryengine_v1alpha { * // "procurementContactEmails": [], * // "recommendationMetadata": {}, * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "similarDocumentsConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" @@ -48362,6 +48005,7 @@ export namespace discoveryengine_v1alpha { * // "procurementContactEmails": [], * // "recommendationMetadata": {}, * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "similarDocumentsConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" @@ -49707,6 +49351,7 @@ export namespace discoveryengine_v1alpha { * // "displayName": "my_displayName", * // "enabledTools": {}, * // "generationConfig": {}, + * // "knowledgeCatalogEnabled": false, * // "name": "my_name", * // "updateTime": "my_updateTime", * // "webGroundingType": "my_webGroundingType" @@ -49726,6 +49371,7 @@ export namespace discoveryengine_v1alpha { * // "displayName": "my_displayName", * // "enabledTools": {}, * // "generationConfig": {}, + * // "knowledgeCatalogEnabled": false, * // "name": "my_name", * // "updateTime": "my_updateTime", * // "webGroundingType": "my_webGroundingType" @@ -50035,6 +49681,7 @@ export namespace discoveryengine_v1alpha { * // "displayName": "my_displayName", * // "enabledTools": {}, * // "generationConfig": {}, + * // "knowledgeCatalogEnabled": false, * // "name": "my_name", * // "updateTime": "my_updateTime", * // "webGroundingType": "my_webGroundingType" @@ -50363,6 +50010,7 @@ export namespace discoveryengine_v1alpha { * // "displayName": "my_displayName", * // "enabledTools": {}, * // "generationConfig": {}, + * // "knowledgeCatalogEnabled": false, * // "name": "my_name", * // "updateTime": "my_updateTime", * // "webGroundingType": "my_webGroundingType" @@ -50382,6 +50030,7 @@ export namespace discoveryengine_v1alpha { * // "displayName": "my_displayName", * // "enabledTools": {}, * // "generationConfig": {}, + * // "knowledgeCatalogEnabled": false, * // "name": "my_name", * // "updateTime": "my_updateTime", * // "webGroundingType": "my_webGroundingType" @@ -61276,7 +60925,7 @@ export namespace discoveryengine_v1alpha { * 'placeholder-value', * // Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). * languageCode: 'placeholder-value', - * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. * modelInfoView: 'placeholder-value', * // Required. Full WidgetConfig resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}/widgetConfigs/{widget_config_id\}` * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/widgetConfigs/my-widgetConfig', @@ -61684,7 +61333,7 @@ export namespace discoveryengine_v1alpha { */ languageCode?: string; /** - * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. */ modelInfoView?: string; /** @@ -78383,7 +78032,7 @@ export namespace discoveryengine_v1alpha { * 'placeholder-value', * // Optional. BCP-47 language tag (e.g. "en", "fr-CA"). Used to localize human-readable strings in the response, such as the model selector `display_name` / `description` on `WidgetConfig.UiSettings.ModelConfigInfo`. Empty / unset falls back to the default language (English). * languageCode: 'placeholder-value', - * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * // Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. * modelInfoView: 'placeholder-value', * // Required. Full WidgetConfig resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}/widgetConfigs/{widget_config_id\}` * name: 'projects/my-project/locations/my-location/dataStores/my-dataStore/widgetConfigs/my-widgetConfig', @@ -78788,7 +78437,7 @@ export namespace discoveryengine_v1alpha { */ languageCode?: string; /** - * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `MODEL_INFO_VIEW_ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; unset / `MODEL_INFO_VIEW_WEB` returns the end-user selector. The mobile surface is detected from the `X-Goog-Gemini-Enterprise-Mobile` header instead (see `ModelInfoView`). + * Optional. Selects which view of `WidgetConfig.UiSettings.ModelConfigInfo` the backend computes. `ADMIN` is set by the Cloud Console admin "Feature Management" page (screen/4Vn9gQKbN8tb7gm) to receive the admin-surfaced model set with `ResolvedModel.admin_view` populated; `END_USER_MOBILE` is set by the Gemini Enterprise mobile app to receive the mobile model set; unset / `END_USER_WEB` returns the end-user web selector. */ modelInfoView?: string; /** @@ -82185,865 +81834,13 @@ export namespace discoveryengine_v1alpha { export class Resource$Projects$Locations$Notebooks { context: APIRequestContext; audioOverviews: Resource$Projects$Locations$Notebooks$Audiooverviews; - sources: Resource$Projects$Locations$Notebooks$Sources; constructor(context: APIRequestContext) { this.context = context; this.audioOverviews = new Resource$Projects$Locations$Notebooks$Audiooverviews(this.context); - this.sources = new Resource$Projects$Locations$Notebooks$Sources( - this.context - ); - } - - /** - * Batch deletes Notebooks. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await discoveryengine.projects.locations.notebooks.batchDelete({ - * // Required. The parent branch resource name, such as `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "names": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // {} - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - batchDelete( - params: Params$Resource$Projects$Locations$Notebooks$Batchdelete, - options: StreamMethodOptions - ): Promise>; - batchDelete( - params?: Params$Resource$Projects$Locations$Notebooks$Batchdelete, - options?: MethodOptions - ): Promise>; - batchDelete( - params: Params$Resource$Projects$Locations$Notebooks$Batchdelete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - batchDelete( - params: Params$Resource$Projects$Locations$Notebooks$Batchdelete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - batchDelete( - params: Params$Resource$Projects$Locations$Notebooks$Batchdelete, - callback: BodyResponseCallback - ): void; - batchDelete( - callback: BodyResponseCallback - ): void; - batchDelete( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Notebooks$Batchdelete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Notebooks$Batchdelete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Notebooks$Batchdelete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+parent}/notebooks:batchDelete').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['parent'], - pathParams: ['parent'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates a notebook. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await discoveryengine.projects.locations.notebooks.create({ - * // Required. The parent resource name, such as `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "cmekConfig": {}, - * // "emoji": "my_emoji", - * // "metadata": {}, - * // "name": "my_name", - * // "notebookId": "my_notebookId", - * // "sources": [], - * // "title": "my_title" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "cmekConfig": {}, - * // "emoji": "my_emoji", - * // "metadata": {}, - * // "name": "my_name", - * // "notebookId": "my_notebookId", - * // "sources": [], - * // "title": "my_title" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - create( - params: Params$Resource$Projects$Locations$Notebooks$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Notebooks$Create, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - create( - params: Params$Resource$Projects$Locations$Notebooks$Create, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Projects$Locations$Notebooks$Create, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Projects$Locations$Notebooks$Create, - callback: BodyResponseCallback - ): void; - create( - callback: BodyResponseCallback - ): void; - create( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Notebooks$Create - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Notebooks$Create; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Notebooks$Create; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+parent}/notebooks').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['parent'], - pathParams: ['parent'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Gets a notebook. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await discoveryengine.projects.locations.notebooks.get({ - * // Required. Full resource name of Notebook, such as `projects/{project\}/locations/{location\}/notebooks/{notebook_id\}`. - * name: 'projects/my-project/locations/my-location/notebooks/my-notebook', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "cmekConfig": {}, - * // "emoji": "my_emoji", - * // "metadata": {}, - * // "name": "my_name", - * // "notebookId": "my_notebookId", - * // "sources": [], - * // "title": "my_title" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Projects$Locations$Notebooks$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Notebooks$Get, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - get( - params: Params$Resource$Projects$Locations$Notebooks$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Notebooks$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Notebooks$Get, - callback: BodyResponseCallback - ): void; - get( - callback: BodyResponseCallback - ): void; - get( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Notebooks$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Notebooks$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Notebooks$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Lists the notebooks ordered by last view time. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.notebooks.listRecentlyViewed({ - * // Optional. Maximum number of Notebooks to return. If unspecified, defaults to "500". The maximum allowed value is "500". If this field is negative, will use the default value. - * pageSize: 'placeholder-value', - * // Optional. The page token, provide this to retrieve the subsequent page. - * pageToken: 'placeholder-value', - * // Required. The parent branch resource name, such as `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "nextPageToken": "my_nextPageToken", - * // "notebooks": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - listRecentlyViewed( - params: Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed, - options: StreamMethodOptions - ): Promise>; - listRecentlyViewed( - params?: Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listRecentlyViewed( - params: Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listRecentlyViewed( - params: Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listRecentlyViewed( - params: Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed, - callback: BodyResponseCallback - ): void; - listRecentlyViewed( - callback: BodyResponseCallback - ): void; - listRecentlyViewed( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/v1alpha/{+parent}/notebooks:listRecentlyViewed' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['parent'], - pathParams: ['parent'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Shares a notebook to other accounts. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await discoveryengine.projects.locations.notebooks.share({ - * // Required. Full resource name of Notebook, such as `projects/{project\}/locations/{location\}/notebooks/{notebook_id\}`. - * name: 'projects/my-project/locations/my-location/notebooks/my-notebook', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountAndRoles": [], - * // "notifyViaEmail": false - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // {} - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - share( - params: Params$Resource$Projects$Locations$Notebooks$Share, - options: StreamMethodOptions - ): Promise>; - share( - params?: Params$Resource$Projects$Locations$Notebooks$Share, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - share( - params: Params$Resource$Projects$Locations$Notebooks$Share, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - share( - params: Params$Resource$Projects$Locations$Notebooks$Share, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - share( - params: Params$Resource$Projects$Locations$Notebooks$Share, - callback: BodyResponseCallback - ): void; - share( - callback: BodyResponseCallback - ): void; - share( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Notebooks$Share - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Notebooks$Share; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Notebooks$Share; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+name}:share').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } } } - export interface Params$Resource$Projects$Locations$Notebooks$Batchdelete extends StandardParameters { - /** - * Required. The parent branch resource name, such as `projects/{project\}/locations/{location\}`. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudNotebooklmV1alphaBatchDeleteNotebooksRequest; - } - export interface Params$Resource$Projects$Locations$Notebooks$Create extends StandardParameters { - /** - * Required. The parent resource name, such as `projects/{project\}/locations/{location\}`. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudNotebooklmV1alphaNotebook; - } - export interface Params$Resource$Projects$Locations$Notebooks$Get extends StandardParameters { - /** - * Required. Full resource name of Notebook, such as `projects/{project\}/locations/{location\}/notebooks/{notebook_id\}`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Notebooks$Listrecentlyviewed extends StandardParameters { - /** - * Optional. Maximum number of Notebooks to return. If unspecified, defaults to "500". The maximum allowed value is "500". If this field is negative, will use the default value. - */ - pageSize?: number; - /** - * Optional. The page token, provide this to retrieve the subsequent page. - */ - pageToken?: string; - /** - * Required. The parent branch resource name, such as `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Notebooks$Share extends StandardParameters { - /** - * Required. Full resource name of Notebook, such as `projects/{project\}/locations/{location\}/notebooks/{notebook_id\}`. - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudNotebooklmV1alphaShareNotebookRequest; - } - export class Resource$Projects$Locations$Notebooks$Audiooverviews { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -83370,510 +82167,6 @@ export namespace discoveryengine_v1alpha { name?: string; } - export class Resource$Projects$Locations$Notebooks$Sources { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates a list of Sources. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/discoveryengine.assist.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.notebooks.sources.batchCreate({ - * // Required. The parent resource where the sources will be created. Format: projects/{project\}/locations/{location\}/notebooks/{notebook\} - * parent: 'projects/my-project/locations/my-location/notebooks/my-notebook', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "userContents": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "sources": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - batchCreate( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate, - options: StreamMethodOptions - ): Promise>; - batchCreate( - params?: Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - batchCreate( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - batchCreate( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - batchCreate( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate, - callback: BodyResponseCallback - ): void; - batchCreate( - callback: BodyResponseCallback - ): void; - batchCreate( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+parent}/sources:batchCreate').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['parent'], - pathParams: ['parent'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Deletes multiple sources - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await discoveryengine.projects.locations.notebooks.sources.batchDelete({ - * // Required. The parent resource where the sources will be deleted. Format: projects/{project\}/locations/{location\}/notebooks/{notebook\} - * parent: 'projects/my-project/locations/my-location/notebooks/my-notebook', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "names": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // {} - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - batchDelete( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete, - options: StreamMethodOptions - ): Promise>; - batchDelete( - params?: Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete, - options?: MethodOptions - ): Promise>; - batchDelete( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - batchDelete( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - batchDelete( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete, - callback: BodyResponseCallback - ): void; - batchDelete( - callback: BodyResponseCallback - ): void; - batchDelete( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+parent}/sources:batchDelete').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['parent'], - pathParams: ['parent'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets a Source. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const discoveryengine = google.discoveryengine('v1alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/discoveryengine.readwrite', - * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await discoveryengine.projects.locations.notebooks.sources.get({ - * // Required. The resource name for source Format: projects/{project\}/locations/{location\}/notebooks/{notebook\}/sources/{source\} - * name: 'projects/my-project/locations/my-location/notebooks/my-notebook/sources/my-source', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "metadata": {}, - * // "name": "my_name", - * // "settings": {}, - * // "sourceId": {}, - * // "title": "my_title" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Notebooks$Sources$Get, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - get( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Notebooks$Sources$Get, - callback: BodyResponseCallback - ): void; - get( - callback: BodyResponseCallback - ): void; - get( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Notebooks$Sources$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Notebooks$Sources$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Notebooks$Sources$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - } - - export interface Params$Resource$Projects$Locations$Notebooks$Sources$Batchcreate extends StandardParameters { - /** - * Required. The parent resource where the sources will be created. Format: projects/{project\}/locations/{location\}/notebooks/{notebook\} - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudNotebooklmV1alphaBatchCreateSourcesRequest; - } - export interface Params$Resource$Projects$Locations$Notebooks$Sources$Batchdelete extends StandardParameters { - /** - * Required. The parent resource where the sources will be deleted. Format: projects/{project\}/locations/{location\}/notebooks/{notebook\} - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudNotebooklmV1alphaBatchDeleteSourcesRequest; - } - export interface Params$Resource$Projects$Locations$Notebooks$Sources$Get extends StandardParameters { - /** - * Required. The resource name for source Format: projects/{project\}/locations/{location\}/notebooks/{notebook\}/sources/{source\} - */ - name?: string; - } - export class Resource$Projects$Locations$Operations { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/discoveryengine/v1beta.ts b/src/apis/discoveryengine/v1beta.ts index 1fb9925859f..215ad185854 100644 --- a/src/apis/discoveryengine/v1beta.ts +++ b/src/apis/discoveryengine/v1beta.ts @@ -879,6 +879,10 @@ export namespace discoveryengine_v1beta { * Required. Model name (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). See `model_mixture` for the list of allowed models. */ name?: string | null; + /** + * Optional. Sent as Vertex `ThinkingConfig.thinking_level`. + */ + thinkingLevel?: string | null; /** * Optional. Relative weight for this model in the mixture. Must be a finite, strictly positive value. Weights across all entries are normalized server-side, so they need not sum to 1.0. Defaults to 1.0 when unset, which is convenient when configuring a single model or an even mixture. Some Pro-tier models are capped at most 50% of the total weight; requests violating that cap are rejected with INVALID_ARGUMENT. */ @@ -3326,7 +3330,7 @@ export namespace discoveryengine_v1beta { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -3369,6 +3373,10 @@ export namespace discoveryengine_v1beta { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1alphaSessionConfig; /** * Additional config specs for a `similar-items` engine. */ @@ -5708,6 +5716,28 @@ export namespace discoveryengine_v1beta { */ userPseudoId?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Represents a turn, including a query from the user and a answer from service. */ @@ -6230,6 +6260,10 @@ export namespace discoveryengine_v1beta { * Optional. List of banned phrases. */ bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase[]; + /** + * Optional. Data protection policy to be used for sanitizing file uploads. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Optional. Model Armor configuration to be used for sanitizing user prompts and assistant responses. */ @@ -7807,6 +7841,10 @@ export namespace discoveryengine_v1beta { * Optional. List of banned phrases. */ bannedPhrases?: Schema$GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase[]; + /** + * Optional. Data protection policy to be used for sanitizing file uploads. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicy; /** * Optional. Model Armor configuration to be used for sanitizing user prompts and assistant responses. */ @@ -9125,6 +9163,24 @@ export namespace discoveryengine_v1beta { */ trainingStartTime?: string | null; } + /** + * Contains the data protection policy config for a DataStore or a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicy { + /** + * Optional. Specifies the sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. Specifies the resource name of the Sensitive Data Protection content policy. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -9161,6 +9217,10 @@ export namespace discoveryengine_v1beta { * Output only. Timestamp the DataStore was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the data store. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1betaDataProtectionPolicy; /** * Output only. The id of the default Schema associated to this data store. */ @@ -9860,7 +9920,7 @@ export namespace discoveryengine_v1beta { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -9899,6 +9959,10 @@ export namespace discoveryengine_v1beta { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1betaSessionConfig; /** * Required. The solutions of the engine. */ @@ -13657,6 +13721,28 @@ export namespace discoveryengine_v1beta { */ userPseudoId?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Represents a turn, including a query from the user and a answer from service. */ @@ -14808,6 +14894,10 @@ export namespace discoveryengine_v1beta { * Output only. Timestamp the DataConnector was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the connector. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Required. The identifier for the data source. For the full, up-to-date list of supported connectors and their values, see [Connect a third-party data source](https://docs.cloud.google.com/gemini/enterprise/docs/connectors/connect-third-party-data-source#sources-by-launch-stage). */ @@ -15071,6 +15161,24 @@ export namespace discoveryengine_v1beta { */ startingSchema?: Schema$GoogleCloudDiscoveryengineV1Schema; } + /** + * Contains the data protection policy config for a DataStore or a connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy { + /** + * Optional. Specifies the sensitive data protection policy for the connector source. + */ + sensitiveDataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy; + } + /** + * Specifies a Sensitive Data Protection (https://cloud.google.com/sensitive-data-protection/docs/sensitive-data-protection-overview) policy. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicySensitiveDataProtectionPolicy { + /** + * Optional. Specifies the resource name of the Sensitive Data Protection content policy. + */ + policy?: string | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -15107,6 +15215,10 @@ export namespace discoveryengine_v1beta { * Output only. Timestamp the DataStore was created at. */ createTime?: string | null; + /** + * Optional. Specifies the data protection policy for the data store. + */ + dataProtectionPolicy?: Schema$GoogleCloudDiscoveryengineV1DataProtectionPolicy; /** * Output only. The id of the default Schema associated to this data store. */ @@ -15668,7 +15780,7 @@ export namespace discoveryengine_v1beta { */ displayName?: string | null; /** - * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` + * Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `speech-to-text` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `canvas-app-builder` * `skills` * `skill-sharing` * `skill-sharing-without-admin-approval` * `disable-projects` * `sobi` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `workflow-agents` * `in-app-notifications` */ features?: {[key: string]: string} | null; /** @@ -15707,6 +15819,10 @@ export namespace discoveryengine_v1beta { * Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH. */ searchEngineConfig?: Schema$GoogleCloudDiscoveryengineV1EngineSearchEngineConfig; + /** + * Optional. Non-empty default. Session config for the engine. + */ + sessionConfig?: Schema$GoogleCloudDiscoveryengineV1SessionConfig; /** * Required. The solutions of the engine. */ @@ -16799,6 +16915,28 @@ export namespace discoveryengine_v1beta { */ demotionEventType?: string | null; } + /** + * Configuration for the session. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SessionConfig { + /** + * Optional. Session management policy that defines who will manage the session. + */ + sessionManagementPolicy?: string | null; + /** + * Optional. The TTL for the session. If unset, the default value is 60 days. + */ + sessionTtl?: Schema$GoogleCloudDiscoveryengineV1SessionConfigSessionTtl; + } + /** + * Defines the TTL for sessions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SessionConfigSessionTtl { + /** + * Defines the number of days for session TTL. + */ + days?: number | null; + } /** * Metadata for DataConnectorService.SetUpDataConnector method. */ @@ -20695,6 +20833,7 @@ export namespace discoveryengine_v1beta { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -21025,6 +21164,7 @@ export namespace discoveryengine_v1beta { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -21148,6 +21288,159 @@ export namespace discoveryengine_v1beta { } } + /** + * Gets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.dataStores.getIamPolicy( + * { + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/collections/my-collection/dataStores/my-dataStore', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets the SiteSearchEngine. * @example @@ -21516,6 +21809,7 @@ export namespace discoveryengine_v1beta { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -21547,6 +21841,7 @@ export namespace discoveryengine_v1beta { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -21670,6 +21965,165 @@ export namespace discoveryengine_v1beta { } } + /** + * Sets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a DataStore resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await discoveryengine.projects.locations.collections.dataStores.setIamPolicy( + * { + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/collections/my-collection/dataStores/my-dataStore', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Trains a custom model. * @example @@ -21901,6 +22355,16 @@ export namespace discoveryengine_v1beta { */ name?: string; } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Collections$Datastores$Getsitesearchengine extends StandardParameters { /** * Required. Resource name of SiteSearchEngine, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned. @@ -21940,6 +22404,17 @@ export namespace discoveryengine_v1beta { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1betaDataStore; } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } export interface Params$Resource$Projects$Locations$Collections$Datastores$Traincustommodel extends StandardParameters { /** * Required. The resource name of the Data Store, such as `projects/x/locations/global/collections/default_collection/dataStores/default_data_store`. This field is used to identify the data store where to train the models. @@ -36014,6 +36489,7 @@ export namespace discoveryengine_v1beta { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -36344,6 +36820,7 @@ export namespace discoveryengine_v1beta { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -36835,6 +37312,7 @@ export namespace discoveryengine_v1beta { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -36867,6 +37345,7 @@ export namespace discoveryengine_v1beta { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -37048,6 +37527,7 @@ export namespace discoveryengine_v1beta { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -37232,6 +37712,7 @@ export namespace discoveryengine_v1beta { * // "observabilityConfig": {}, * // "procurementContactEmails": [], * // "searchEngineConfig": {}, + * // "sessionConfig": {}, * // "solutionType": "my_solutionType", * // "updateTime": "my_updateTime" * // } @@ -45458,6 +45939,7 @@ export namespace discoveryengine_v1beta { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -45784,6 +46266,7 @@ export namespace discoveryengine_v1beta { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -45906,6 +46389,156 @@ export namespace discoveryengine_v1beta { } } + /** + * Gets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await discoveryengine.projects.locations.dataStores.getIamPolicy({ + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/dataStores/my-dataStore', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets the SiteSearchEngine. * @example @@ -46268,6 +46901,7 @@ export namespace discoveryengine_v1beta { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -46299,6 +46933,7 @@ export namespace discoveryengine_v1beta { * // "configurableBillingApproachUpdateTime": "my_configurableBillingApproachUpdateTime", * // "contentConfig": "my_contentConfig", * // "createTime": "my_createTime", + * // "dataProtectionPolicy": {}, * // "defaultSchemaId": "my_defaultSchemaId", * // "displayName": "my_displayName", * // "documentProcessingConfig": {}, @@ -46420,6 +47055,162 @@ export namespace discoveryengine_v1beta { ); } } + + /** + * Sets the IAM access control policy for a DataStore. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on a DataStore resource, the only recommended roles in the bindings are: `roles/discoveryengine.admin` `roles/discoveryengine.agentspaceAdmin` `roles/discoveryengine.viewer` `roles/discoveryengine.agentspaceViewer` `roles/discoveryengine.user` `roles/discoveryengine.agentspaceUser` Attempting to grant any other role will result in a warning in logging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/discoveryengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const discoveryengine = google.discoveryengine('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/discoveryengine.readwrite', + * 'https://www.googleapis.com/auth/discoveryengine.serving.readwrite', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await discoveryengine.projects.locations.dataStores.setIamPolicy({ + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/dataStores/my-dataStore', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Datastores$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Datastores$Completequery extends StandardParameters { @@ -46487,6 +47278,16 @@ export namespace discoveryengine_v1beta { */ name?: string; } + export interface Params$Resource$Projects$Locations$Datastores$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Datastores$Getsitesearchengine extends StandardParameters { /** * Required. Resource name of SiteSearchEngine, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned. @@ -46526,6 +47327,17 @@ export namespace discoveryengine_v1beta { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1betaDataStore; } + export interface Params$Resource$Projects$Locations$Datastores$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } export class Resource$Projects$Locations$Datastores$Branches { context: APIRequestContext; diff --git a/src/apis/displayvideo/package.json b/src/apis/displayvideo/package.json index d5afba4bba0..36a8743214b 100644 --- a/src/apis/displayvideo/package.json +++ b/src/apis/displayvideo/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/displayvideo/v2.ts b/src/apis/displayvideo/v2.ts index 31d05d2bda3..d0f1190e2db 100644 --- a/src/apis/displayvideo/v2.ts +++ b/src/apis/displayvideo/v2.ts @@ -2286,7 +2286,7 @@ export namespace displayvideo_v2 { */ export interface Schema$DigitalContentLabelAssignedTargetingOptionDetails { /** - * Required. The display name of the digital content label rating tier to be EXCLUDED. + * Required. The display name of the digital content label rating tier to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept the value `CONTENT_RATING_TIER_UNRATED`. All other values will be deprecated and no longer be accepted.** */ excludedContentRatingTier?: string | null; } @@ -4760,7 +4760,7 @@ export namespace displayvideo_v2 { */ export interface Schema$SensitiveCategoryAssignedTargetingOptionDetails { /** - * Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. + * Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept `SENSITIVE_CATEGORY_EMBEDDED_VIDEO` or `SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO`. All other values will be deprecated and no longer be accepted.** */ excludedSensitiveCategory?: string | null; } diff --git a/src/apis/displayvideo/v3.ts b/src/apis/displayvideo/v3.ts index f0424cbfda9..f56a0a4ab55 100644 --- a/src/apis/displayvideo/v3.ts +++ b/src/apis/displayvideo/v3.ts @@ -227,7 +227,7 @@ export namespace displayvideo_v3 { targetingExpansion?: Schema$TargetingExpansionConfig; } /** - * A single ad associated with an ad group. + * LINT: LEGACY_NAMES A single ad associated with an ad group. */ export interface Schema$AdGroupAd { /** @@ -3474,7 +3474,7 @@ export namespace displayvideo_v3 { */ export interface Schema$DigitalContentLabelAssignedTargetingOptionDetails { /** - * Required. The display name of the digital content label rating tier to be EXCLUDED. + * Required. The display name of the digital content label rating tier to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept the value `CONTENT_RATING_TIER_UNRATED`. All other values will be deprecated and no longer be accepted.** */ excludedContentRatingTier?: string | null; } @@ -6016,7 +6016,7 @@ export namespace displayvideo_v3 { */ export interface Schema$SensitiveCategoryAssignedTargetingOptionDetails { /** - * Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. + * Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept `SENSITIVE_CATEGORY_EMBEDDED_VIDEO` or `SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO`. All other values will be deprecated and no longer be accepted.** */ excludedSensitiveCategory?: string | null; } diff --git a/src/apis/displayvideo/v4.ts b/src/apis/displayvideo/v4.ts index 7cc4f30e6f5..9709718d850 100644 --- a/src/apis/displayvideo/v4.ts +++ b/src/apis/displayvideo/v4.ts @@ -263,7 +263,7 @@ export namespace displayvideo_v4 { targetingExpansion?: Schema$TargetingExpansionConfig; } /** - * A single ad associated with an ad group. + * LINT: LEGACY_NAMES A single ad associated with an ad group. */ export interface Schema$AdGroupAd { /** @@ -3679,7 +3679,7 @@ export namespace displayvideo_v4 { */ export interface Schema$DigitalContentLabelAssignedTargetingOptionDetails { /** - * Required. The display name of the digital content label rating tier to be EXCLUDED. + * Required. The display name of the digital content label rating tier to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept the value `CONTENT_RATING_TIER_UNRATED`. All other values will be deprecated and no longer be accepted.** */ excludedContentRatingTier?: string | null; } @@ -6939,7 +6939,7 @@ export namespace displayvideo_v4 { */ export interface Schema$SensitiveCategoryAssignedTargetingOptionDetails { /** - * Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. + * Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. **Starting on *October 1, 2026*, this field will only accept `SENSITIVE_CATEGORY_EMBEDDED_VIDEO` or `SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO`. All other values will be deprecated and no longer be accepted.** */ excludedSensitiveCategory?: string | null; } diff --git a/src/apis/dlp/package.json b/src/apis/dlp/package.json index cda888f3798..1b45215005f 100644 --- a/src/apis/dlp/package.json +++ b/src/apis/dlp/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/dlp/v2.ts b/src/apis/dlp/v2.ts index a08778c41d0..9973282b78d 100644 --- a/src/apis/dlp/v2.ts +++ b/src/apis/dlp/v2.ts @@ -1141,10 +1141,6 @@ export namespace dlp_v2 { * Optional. InspectConfig to use to produce findings. */ inspectConfig?: Schema$GooglePrivacyDlpV2InspectConfig; - /** - * Optional. InspectTemplate to use to produce findings. Deprecated: use inspect_config instead. - */ - inspectTemplate?: Schema$GooglePrivacyDlpV2InspectTemplate; /** * Optional. Log the actions taken by the content policy to external systems. */ @@ -1193,9 +1189,13 @@ export namespace dlp_v2 { */ export interface Schema$GooglePrivacyDlpV2ConversationMessage { /** - * The contents of this message. + * Deprecated: Use `message_parts` instead. The contents of this message. Only one of `content` and `message_parts` can be set. */ content?: string | null; + /** + * Optional. The parts of the message. Restricted to being at most a single text item. Only one of `content` and `message_parts` can be set. + */ + messageParts?: Schema$GooglePrivacyDlpV2MessagePart[]; /** * The type of message. */ @@ -4188,6 +4188,15 @@ export namespace dlp_v2 { * Job trigger option for hybrid jobs. Jobs must be manually created and finished. */ export interface Schema$GooglePrivacyDlpV2Manual {} + /** + * A part of a conversation message. + */ + export interface Schema$GooglePrivacyDlpV2MessagePart { + /** + * String content for text-based messages. + */ + text?: string | null; + } /** * Configuration for a custom infoType that detects key-value pairs in the metadata matching the specified regular expressions. */ @@ -4442,10 +4451,6 @@ export namespace dlp_v2 { * Optional. Conditions that must match for this rule to apply. All conditions must match (`AND`). For `OR` conditions, use multiple rules. */ conditions?: Schema$GooglePrivacyDlpV2PolicyCondition[]; - /** - * If set, the verdict will be returned to the user. Deprecated: Use `action` instead. - */ - returnVerdict?: string | null; } /** * A rule for transforming a value. @@ -22390,7 +22395,7 @@ export namespace dlp_v2 { * * // Do the magic * const res = await dlp.projects.locations.contentPolicies.create({ - * // Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization): + Projects scope: `projects/{project_id\}/locations/{location_id\}` + Organizations scope: `organizations/{org_id\}/locations/{location_id\}` + * // Required. Parent resource name. The format of this value varies depending on the scope of the request (project): + Projects scope: `projects/{project_id\}/locations/{location_id\}` * parent: 'projects/my-project/locations/my-location', * * // Request body metadata @@ -22413,7 +22418,6 @@ export namespace dlp_v2 { * // "failedToScanSupportedFileType": {}, * // "inputTooLarge": {}, * // "inspectConfig": {}, - * // "inspectTemplate": {}, * // "loggingConfigs": [], * // "name": "my_name", * // "rules": [], @@ -22702,7 +22706,6 @@ export namespace dlp_v2 { * // "failedToScanSupportedFileType": {}, * // "inputTooLarge": {}, * // "inspectConfig": {}, - * // "inspectTemplate": {}, * // "loggingConfigs": [], * // "name": "my_name", * // "rules": [], @@ -22844,7 +22847,7 @@ export namespace dlp_v2 { * pageSize: 'placeholder-value', * // Optional. Page token from a previous page to return the next set of results. If set, all other request fields must match the original request. * pageToken: 'placeholder-value', - * // Required. Resource name of the organization or project, for example, `organizations/433245324/locations/europe` or `projects/project-id/locations/asia`. + * // Required. Resource name of the project, for example, `projects/project-id/locations/asia`. * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); @@ -23015,7 +23018,6 @@ export namespace dlp_v2 { * // "failedToScanSupportedFileType": {}, * // "inputTooLarge": {}, * // "inspectConfig": {}, - * // "inspectTemplate": {}, * // "loggingConfigs": [], * // "name": "my_name", * // "rules": [], @@ -23125,7 +23127,7 @@ export namespace dlp_v2 { export interface Params$Resource$Projects$Locations$Contentpolicies$Create extends StandardParameters { /** - * Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization): + Projects scope: `projects/{project_id\}/locations/{location_id\}` + Organizations scope: `organizations/{org_id\}/locations/{location_id\}` + * Required. Parent resource name. The format of this value varies depending on the scope of the request (project): + Projects scope: `projects/{project_id\}/locations/{location_id\}` */ parent?: string; @@ -23156,7 +23158,7 @@ export namespace dlp_v2 { */ pageToken?: string; /** - * Required. Resource name of the organization or project, for example, `organizations/433245324/locations/europe` or `projects/project-id/locations/asia`. + * Required. Resource name of the project, for example, `projects/project-id/locations/asia`. */ parent?: string; } diff --git a/src/apis/dns/README.md b/src/apis/dns/README.md index 05a1886227a..86bac493181 100644 --- a/src/apis/dns/README.md +++ b/src/apis/dns/README.md @@ -4,15 +4,6 @@ > -## Support status -**Note**: Google provides multiple libraries for this service. This library is in -maintenance mode, and will continue to be made available for users who have -existing applications. If you're building a new application, or modernizing a -legacy application, please use [@google-cloud/dns](https://www.npmjs.com/package/@google-cloud/dns) instead. -The [@google-cloud/dns](https://www.npmjs.com/package/@google-cloud/dns) library is faster, easier to use, and better maintained. - -To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). - ## Installation ```sh diff --git a/src/apis/dns/package.json b/src/apis/dns/package.json index 22e38868a1e..11b101de79d 100644 --- a/src/apis/dns/package.json +++ b/src/apis/dns/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/docs/package.json b/src/apis/docs/package.json index a5768444369..d30dfe8b2ad 100644 --- a/src/apis/docs/package.json +++ b/src/apis/docs/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/docs/v1.ts b/src/apis/docs/v1.ts index f52ade577a3..fc180527b95 100644 --- a/src/apis/docs/v1.ts +++ b/src/apis/docs/v1.ts @@ -730,7 +730,7 @@ export namespace docs_v1 { */ suggestionsViewMode?: string | null; /** - * Tabs that are part of a document. Tabs can contain child tabs, a tab nested within another tab. Child tabs are represented by the Tab.childTabs field. + * Output only. Tabs that are part of a document. Tabs can contain child tabs, a tab nested within another tab. Child tabs are represented by the Tab.childTabs field. */ tabs?: Schema$Tab[]; /** @@ -4135,7 +4135,7 @@ export namespace docs_v1 { * const res = await docs.documents.get({ * // The ID of the document to retrieve. * documentId: 'placeholder-value', - * // Whether to populate the Document.tabs field instead of the text content fields like `body` and `documentStyle` on Document. - When `True`: Document content populates in the Document.tabs field instead of the text content fields in Document. - When `False`: The content of the document's first tab populates the content fields in Document excluding Document.tabs. If a document has only one tab, then that tab is used to populate the document content. Document.tabs will be empty. + * // Whether to populate the `Document.tabs` field instead of the text content fields like `body` and `documentStyle` on `Document`. - When `true`: Document content populates in the `Document.tabs` field instead of the text content fields in `Document`. - When `false`: The content of the document's first tab populates the content fields in `Document` excluding `Document.tabs`. If a document has only one tab, then that tab is used to populate the document content. `Document.tabs` will be empty. If you use a field mask that references the `Document.tabs` field (or any subfield), the API implicitly treats the request as if you set `include_tabs_content` to `true`. * includeTabsContent: 'placeholder-value', * // The suggestions view mode to apply to the document. This allows viewing the document with all suggestions inline, accepted or rejected. If one is not specified, DEFAULT_FOR_CURRENT_ACCESS is used. * suggestionsViewMode: 'placeholder-value', @@ -4281,7 +4281,7 @@ export namespace docs_v1 { */ documentId?: string; /** - * Whether to populate the Document.tabs field instead of the text content fields like `body` and `documentStyle` on Document. - When `True`: Document content populates in the Document.tabs field instead of the text content fields in Document. - When `False`: The content of the document's first tab populates the content fields in Document excluding Document.tabs. If a document has only one tab, then that tab is used to populate the document content. Document.tabs will be empty. + * Whether to populate the `Document.tabs` field instead of the text content fields like `body` and `documentStyle` on `Document`. - When `true`: Document content populates in the `Document.tabs` field instead of the text content fields in `Document`. - When `false`: The content of the document's first tab populates the content fields in `Document` excluding `Document.tabs`. If a document has only one tab, then that tab is used to populate the document content. `Document.tabs` will be empty. If you use a field mask that references the `Document.tabs` field (or any subfield), the API implicitly treats the request as if you set `include_tabs_content` to `true`. */ includeTabsContent?: boolean; /** diff --git a/src/apis/documentai/package.json b/src/apis/documentai/package.json index b8bca6f5c4f..f0653fb7731 100644 --- a/src/apis/documentai/package.json +++ b/src/apis/documentai/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/domains/package.json b/src/apis/domains/package.json index a0eaff95071..76b31ce7830 100644 --- a/src/apis/domains/package.json +++ b/src/apis/domains/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/domainsrdap/package.json b/src/apis/domainsrdap/package.json index 46cfa9d9640..046c90fe992 100644 --- a/src/apis/domainsrdap/package.json +++ b/src/apis/domainsrdap/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/doubleclickbidmanager/package.json b/src/apis/doubleclickbidmanager/package.json index 614a896ceaf..c2fe2b0787e 100644 --- a/src/apis/doubleclickbidmanager/package.json +++ b/src/apis/doubleclickbidmanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/doubleclicksearch/package.json b/src/apis/doubleclicksearch/package.json index cce56fdd055..253d63c581f 100644 --- a/src/apis/doubleclicksearch/package.json +++ b/src/apis/doubleclicksearch/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/drive/package.json b/src/apis/drive/package.json index c85e6e65392..5d0e56acc44 100644 --- a/src/apis/drive/package.json +++ b/src/apis/drive/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/drive/v3.ts b/src/apis/drive/v3.ts index ff3cd710cb5..11ee5707a46 100644 --- a/src/apis/drive/v3.ts +++ b/src/apis/drive/v3.ts @@ -7260,6 +7260,8 @@ export namespace drive_v3 { * * // Do the magic * const res = await drive.files.copy({ + * // Whether to copy the comments associated with the file. + * copyComments: 'placeholder-value', * // Deprecated: Copying files into multiple folders is no longer supported. Use shortcuts instead. * enforceSingleParent: 'placeholder-value', * // The ID of the file. @@ -9837,6 +9839,10 @@ export namespace drive_v3 { } export interface Params$Resource$Files$Copy extends StandardParameters { + /** + * Whether to copy the comments associated with the file. + */ + copyComments?: boolean; /** * Deprecated: Copying files into multiple folders is no longer supported. Use shortcuts instead. */ diff --git a/src/apis/driveactivity/package.json b/src/apis/driveactivity/package.json index a3d439271c0..e31483c00b7 100644 --- a/src/apis/driveactivity/package.json +++ b/src/apis/driveactivity/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/drivelabels/package.json b/src/apis/drivelabels/package.json index 15417d6a8b5..6a3e4daf935 100644 --- a/src/apis/drivelabels/package.json +++ b/src/apis/drivelabels/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/essentialcontacts/package.json b/src/apis/essentialcontacts/package.json index b9f495ad8b3..f76c8debfa4 100644 --- a/src/apis/essentialcontacts/package.json +++ b/src/apis/essentialcontacts/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/eventarc/package.json b/src/apis/eventarc/package.json index c2043bc6090..76d3d8178a7 100644 --- a/src/apis/eventarc/package.json +++ b/src/apis/eventarc/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/factchecktools/package.json b/src/apis/factchecktools/package.json index f7042e38822..f45cd5f6308 100644 --- a/src/apis/factchecktools/package.json +++ b/src/apis/factchecktools/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/fcm/package.json b/src/apis/fcm/package.json index db1a08daefd..0d879ece730 100644 --- a/src/apis/fcm/package.json +++ b/src/apis/fcm/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/fcmdata/package.json b/src/apis/fcmdata/package.json index b425f41f0fe..767058b8924 100644 --- a/src/apis/fcmdata/package.json +++ b/src/apis/fcmdata/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/file/package.json b/src/apis/file/package.json index 55cfd83bd1b..6547aaef125 100644 --- a/src/apis/file/package.json +++ b/src/apis/file/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/file/v1.ts b/src/apis/file/v1.ts index 5d9999c4b9c..d7c1060c3c3 100644 --- a/src/apis/file/v1.ts +++ b/src/apis/file/v1.ts @@ -966,6 +966,10 @@ export namespace file_v1 { * Optional. Consumer service project in which the Private Service Connect endpoint would be set up. This is optional, and only relevant in case the network is a shared VPC. If this is not specified, the endpoint would be setup in the VPC host project. */ endpointProject?: string | null; + /** + * Optional. Immutable. Optional: The desired IP address for the instance. If not specified, an IP will be automatically allocated. The IP must be from the subnetwork range configured in the Service Connection Policy. This effective ip address is set in the ip_addresses field. use 3 instead of 2 to avoid conflict with the reserved_ip_range field. + */ + requestedIpAddress?: string | null; } /** * Replica configuration for the instance. diff --git a/src/apis/file/v1beta1.ts b/src/apis/file/v1beta1.ts index 95ee5c3d27a..4e163231ebc 100644 --- a/src/apis/file/v1beta1.ts +++ b/src/apis/file/v1beta1.ts @@ -206,6 +206,10 @@ export namespace file_v1beta1 { * Output only. The service tier of the source Filestore instance that this backup is created from. */ sourceInstanceTier?: string | null; + /** + * Optional. The resource name of the Filestore volume that the backup is created from. Should be in the format: projects/{project_id\}/locations/{location_id\}/volumePools/{volume_pool_id\}/volumes/{volume_id\} + */ + sourceVolume?: string | null; /** * Output only. The backup state. */ @@ -659,43 +663,6 @@ export namespace file_v1beta1 { */ tier?: string | null; } - /** - * InstanceTemplate representation of a Cloud Filestore volume pool instance template. - */ - export interface Schema$InstanceTemplate { - /** - * Optional. Backend type. - */ - backendType?: string | null; - /** - * Optional. Capacity in GB. - */ - capacityGb?: number | null; - /** - * Optional. Instance labels. - */ - labels?: {[key: string]: string} | null; - /** - * Optional. Network configurations. - */ - networks?: Schema$NetworkConfig[]; - /** - * Optional. Performance configuration. - */ - performanceConfig?: Schema$PerformanceConfig; - /** - * Optional. File protocol. - */ - protocol?: string | null; - /** - * Optional. Request overrides in JSON format. - */ - requestOverrides?: string | null; - /** - * Optional. Tier of the instance. - */ - tier?: string | null; - } /** * IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB). */ @@ -1259,9 +1226,13 @@ export namespace file_v1beta1 { */ backup?: string | null; /** - * File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes. Must be greater than 0. + * Optional. File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes. Must be greater than 0. Exactly one of capacity_gb or capacity_mb must be specified. */ capacityGb?: string | null; + /** + * Optional. File share capacity in Megabytes (MB). Must be greater than 0. Exactly one of capacity_gb or capacity_mb must be specified. + */ + capacityMb?: string | null; /** * Output only. The time when the share was created. */ @@ -1409,89 +1380,37 @@ export namespace file_v1beta1 { */ export interface Schema$VolumePool { /** - * Output only. The time when the volume pool was created. + * Optional. The number of IOPs provisioned per active volume. */ - createTime?: string | null; + activeVolumeIops?: number | null; /** - * Optional. A description of the volume pool with 2048 characters or less. - */ - description?: string | null; - /** - * Optional. The page size to use when listing instances. + * Output only. The time when the volume pool was created. */ - instanceListPageSize?: number | null; + createTime?: string | null; /** - * Optional. Instance name prefix. + * Optional. The default quota per volume in MiB. Default: 1024 MiB. */ - instanceNamePrefix?: string | null; + defaultVolumeQuotaMib?: number | null; /** - * Optional. Instance template details. + * Optional. A description of the volume pool with 2048 characters or less. */ - instanceTemplate?: Schema$InstanceTemplate; + description?: string | null; /** * Optional. Resource labels to represent user provided metadata. */ labels?: {[key: string]: string} | null; - /** - * Optional. The maximum number of candidates to fetch when acquiring a volume. - */ - maxAcquireCandidates?: number | null; - /** - * Optional. Maximum number of instances to create. - */ - maxInstances?: number | null; - /** - * Optional. The maximum number of pending instance creation requests. - */ - maxPendingInstanceCreations?: number | null; - /** - * Optional. The maximum number of pending volume creation requests per instance. - */ - maxPendingVolumeCreationsPerInstance?: number | null; - /** - * Optional. The maximum number of pending volume deletion requests per instance. - */ - maxPendingVolumeDeletionsPerInstance?: number | null; - /** - * Optional. Maximum number of volumes per instance. - */ - maxVolumesPerInstance?: number | null; - /** - * Optional. Minimum number of available volumes to maintain. - */ - minAvailableVolumes?: number | null; - /** - * Optional. Minimum number of instances to create. - */ - minInstances?: number | null; /** * Identifier. The resource name of the volume pool, in the format `projects/{project\}/locations/{location\}/volumePools/{volume_pool\}`. */ name?: string | null; /** - * Optional. The ratio of Negba instances to maintain in the volume pool, between 0 and 1. + * Required. The VPC network to which the VolumePool should be attached. Only Private Service Connect (PSC) is supported. */ - negbaInstanceRatio?: number | null; - /** - * Optional. The maximum number of operations to poll in a single reconciliation run. - */ - operationPollLimit?: number | null; - /** - * Output only. The volume pool state. - */ - state?: string | null; - /** - * Output only. Unique ID of the resource, as defined by CCFE. - */ - uniqueId?: string | null; - /** - * Optional. The number of volumes to create in a single batch. - */ - volumeBatchSize?: number | null; + network?: string | null; /** - * Optional. Volume size in MiB. + * Output only. System-assigned unique identifier for the volume pool. */ - volumeSizeMb?: number | null; + uid?: string | null; } /** * Time window specified for weekly operations. @@ -1907,6 +1826,7 @@ export namespace file_v1beta1 { * // "sourceFileShare": "my_sourceFileShare", * // "sourceInstance": "my_sourceInstance", * // "sourceInstanceTier": "my_sourceInstanceTier", + * // "sourceVolume": "my_sourceVolume", * // "state": "my_state", * // "storageBytes": "my_storageBytes", * // "tags": {} @@ -2207,6 +2127,7 @@ export namespace file_v1beta1 { * // "sourceFileShare": "my_sourceFileShare", * // "sourceInstance": "my_sourceInstance", * // "sourceInstanceTier": "my_sourceInstanceTier", + * // "sourceVolume": "my_sourceVolume", * // "state": "my_state", * // "storageBytes": "my_storageBytes", * // "tags": {} @@ -2504,6 +2425,7 @@ export namespace file_v1beta1 { * // "sourceFileShare": "my_sourceFileShare", * // "sourceInstance": "my_sourceInstance", * // "sourceInstanceTier": "my_sourceInstanceTier", + * // "sourceVolume": "my_sourceVolume", * // "state": "my_state", * // "storageBytes": "my_storageBytes", * // "tags": {} @@ -4411,6 +4333,7 @@ export namespace file_v1beta1 { * // { * // "backup": "my_backup", * // "capacityGb": "my_capacityGb", + * // "capacityMb": "my_capacityMb", * // "createTime": "my_createTime", * // "description": "my_description", * // "labels": {}, @@ -4706,6 +4629,7 @@ export namespace file_v1beta1 { * // { * // "backup": "my_backup", * // "capacityGb": "my_capacityGb", + * // "capacityMb": "my_capacityMb", * // "createTime": "my_createTime", * // "description": "my_description", * // "labels": {}, @@ -4996,6 +4920,7 @@ export namespace file_v1beta1 { * // { * // "backup": "my_backup", * // "capacityGb": "my_capacityGb", + * // "capacityMb": "my_capacityMb", * // "createTime": "my_createTime", * // "description": "my_description", * // "labels": {}, @@ -6980,27 +6905,14 @@ export namespace file_v1beta1 { * requestBody: { * // request body parameters * // { + * // "activeVolumeIops": 0, * // "createTime": "my_createTime", + * // "defaultVolumeQuotaMib": 0, * // "description": "my_description", - * // "instanceListPageSize": 0, - * // "instanceNamePrefix": "my_instanceNamePrefix", - * // "instanceTemplate": {}, * // "labels": {}, - * // "maxAcquireCandidates": 0, - * // "maxInstances": 0, - * // "maxPendingInstanceCreations": 0, - * // "maxPendingVolumeCreationsPerInstance": 0, - * // "maxPendingVolumeDeletionsPerInstance": 0, - * // "maxVolumesPerInstance": 0, - * // "minAvailableVolumes": 0, - * // "minInstances": 0, * // "name": "my_name", - * // "negbaInstanceRatio": {}, - * // "operationPollLimit": 0, - * // "state": "my_state", - * // "uniqueId": "my_uniqueId", - * // "volumeBatchSize": 0, - * // "volumeSizeMb": 0 + * // "network": "my_network", + * // "uid": "my_uid" * // } * }, * }); @@ -7285,27 +7197,14 @@ export namespace file_v1beta1 { * * // Example response * // { + * // "activeVolumeIops": 0, * // "createTime": "my_createTime", + * // "defaultVolumeQuotaMib": 0, * // "description": "my_description", - * // "instanceListPageSize": 0, - * // "instanceNamePrefix": "my_instanceNamePrefix", - * // "instanceTemplate": {}, * // "labels": {}, - * // "maxAcquireCandidates": 0, - * // "maxInstances": 0, - * // "maxPendingInstanceCreations": 0, - * // "maxPendingVolumeCreationsPerInstance": 0, - * // "maxPendingVolumeDeletionsPerInstance": 0, - * // "maxVolumesPerInstance": 0, - * // "minAvailableVolumes": 0, - * // "minInstances": 0, * // "name": "my_name", - * // "negbaInstanceRatio": {}, - * // "operationPollLimit": 0, - * // "state": "my_state", - * // "uniqueId": "my_uniqueId", - * // "volumeBatchSize": 0, - * // "volumeSizeMb": 0 + * // "network": "my_network", + * // "uid": "my_uid" * // } * } * @@ -7588,27 +7487,14 @@ export namespace file_v1beta1 { * requestBody: { * // request body parameters * // { + * // "activeVolumeIops": 0, * // "createTime": "my_createTime", + * // "defaultVolumeQuotaMib": 0, * // "description": "my_description", - * // "instanceListPageSize": 0, - * // "instanceNamePrefix": "my_instanceNamePrefix", - * // "instanceTemplate": {}, * // "labels": {}, - * // "maxAcquireCandidates": 0, - * // "maxInstances": 0, - * // "maxPendingInstanceCreations": 0, - * // "maxPendingVolumeCreationsPerInstance": 0, - * // "maxPendingVolumeDeletionsPerInstance": 0, - * // "maxVolumesPerInstance": 0, - * // "minAvailableVolumes": 0, - * // "minInstances": 0, * // "name": "my_name", - * // "negbaInstanceRatio": {}, - * // "operationPollLimit": 0, - * // "state": "my_state", - * // "uniqueId": "my_uniqueId", - * // "volumeBatchSize": 0, - * // "volumeSizeMb": 0 + * // "network": "my_network", + * // "uid": "my_uid" * // } * }, * }); diff --git a/src/apis/firebase/package.json b/src/apis/firebase/package.json index 424bd797cb5..363f65b9f6d 100644 --- a/src/apis/firebase/package.json +++ b/src/apis/firebase/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebaseappcheck/package.json b/src/apis/firebaseappcheck/package.json index d622fb605dd..9f8111492da 100644 --- a/src/apis/firebaseappcheck/package.json +++ b/src/apis/firebaseappcheck/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebaseappcheck/v1.ts b/src/apis/firebaseappcheck/v1.ts index 6141868be6e..20c1c27f06d 100644 --- a/src/apis/firebaseappcheck/v1.ts +++ b/src/apis/firebaseappcheck/v1.ts @@ -464,6 +464,15 @@ export namespace firebaseappcheck_v1 { */ ttl?: string | null; } + /** + * Configuration for a limited-use App Check token. + */ + export interface Schema$GoogleFirebaseAppcheckV1LimitedUseConfig { + /** + * Optional. Specifies the desired `jti` claim (Section 4.1.7 of RFC 7519) in the returned App Check token. Limited-use App Check tokens with the same `jti` will be counted as the same token for the purposes of replay protection. The size of this field is limited to 500 bytes. If specified, its length must be at least 16 bytes. If this field is omitted or is empty, a randomly generated `jti` claim with length between 16 and 500 bytes (inclusive) will be used in the returned App Check token. Leaving this field empty is only recommended if your custom attestation provider itself is not vulnerable to replay attacks. + */ + jti?: string | null; + } /** * Response message for the ListDebugTokens method. */ @@ -503,6 +512,32 @@ export namespace firebaseappcheck_v1 { */ services?: Schema$GoogleFirebaseAppcheckV1Service[]; } + /** + * Request message for the MintAppCheckToken method. + */ + export interface Schema$GoogleFirebaseAppcheckV1MintAppCheckTokenRequest { + /** + * Optional. If specified, the returned App Check token will be a limited-use token minted according to the specified configuration options. + */ + limitedUseConfig?: Schema$GoogleFirebaseAppcheckV1LimitedUseConfig; + /** + * Optional. If specified, the returned App Check token will be a session token, valid for the specified duration. Must be between 30 minutes and 7 days, inclusive. + */ + tokenTtl?: string | null; + } + /** + * Response message for the MintAppCheckToken method. + */ + export interface Schema$GoogleFirebaseAppcheckV1MintAppCheckTokenResponse { + /** + * The App Check token, used to access backend services protected by App Check. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + */ + token?: string | null; + /** + * 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. + */ + ttl?: string | null; + } /** * An app's Play Integrity configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API; 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). */ @@ -3239,6 +3274,167 @@ export namespace firebaseappcheck_v1 { ); } } + + /** + * Mints a new App Check token for the specified Firebase App. This method is intended to be called from a privileged environment where the caller can be authorized via Cloud IAM; for example, using a service account. To call this method, the caller must have the [`firebaseappcheck.googleapis.com/tokens.mint`](https://firebase.google.com/docs/projects/iam/permissions#app-check) permission. Returns a MintAppCheckTokenResponse. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/firebaseappcheck.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const firebaseappcheck = google.firebaseappcheck('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/firebase', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await firebaseappcheck.projects.apps.mintAppCheckToken({ + * // 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. + * app: 'projects/my-project/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "limitedUseConfig": {}, + * // "tokenTtl": "my_tokenTtl" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "token": "my_token", + * // "ttl": "my_ttl" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mintAppCheckToken( + params: Params$Resource$Projects$Apps$Mintappchecktoken, + options: StreamMethodOptions + ): Promise>; + mintAppCheckToken( + params?: Params$Resource$Projects$Apps$Mintappchecktoken, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mintAppCheckToken( + params: Params$Resource$Projects$Apps$Mintappchecktoken, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mintAppCheckToken( + params: Params$Resource$Projects$Apps$Mintappchecktoken, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mintAppCheckToken( + params: Params$Resource$Projects$Apps$Mintappchecktoken, + callback: BodyResponseCallback + ): void; + mintAppCheckToken( + callback: BodyResponseCallback + ): void; + mintAppCheckToken( + paramsOrCallback?: + | Params$Resource$Projects$Apps$Mintappchecktoken + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Apps$Mintappchecktoken; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Apps$Mintappchecktoken; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebaseappcheck.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+app}:mintAppCheckToken').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['app'], + pathParams: ['app'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Apps$Exchangeappattestassertion extends StandardParameters { @@ -3351,6 +3547,17 @@ export namespace firebaseappcheck_v1 { */ requestBody?: Schema$GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest; } + export interface Params$Resource$Projects$Apps$Mintappchecktoken extends StandardParameters { + /** + * 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. + */ + app?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirebaseAppcheckV1MintAppCheckTokenRequest; + } export class Resource$Projects$Apps$Appattestconfig { context: APIRequestContext; diff --git a/src/apis/firebaseappcheck/v1beta.ts b/src/apis/firebaseappcheck/v1beta.ts index eba6e20e22c..0d86fe88a44 100644 --- a/src/apis/firebaseappcheck/v1beta.ts +++ b/src/apis/firebaseappcheck/v1beta.ts @@ -503,6 +503,15 @@ export namespace firebaseappcheck_v1beta { */ ttl?: string | null; } + /** + * Configuration for a limited-use App Check token. + */ + export interface Schema$GoogleFirebaseAppcheckV1betaLimitedUseConfig { + /** + * Optional. Specifies the desired `jti` claim (Section 4.1.7 of RFC 7519) in the returned App Check token. Limited-use App Check tokens with the same `jti` will be counted as the same token for the purposes of replay protection. The size of this field is limited to 500 bytes. If specified, its length must be at least 16 bytes. If this field is omitted or is empty, a randomly generated `jti` claim with length between 16 and 500 bytes (inclusive) will be used in the returned App Check token. Leaving this field empty is only recommended if your custom attestation provider itself is not vulnerable to replay attacks. + */ + jti?: string | null; + } /** * Response message for the ListDebugTokens method. */ @@ -542,6 +551,32 @@ export namespace firebaseappcheck_v1beta { */ services?: Schema$GoogleFirebaseAppcheckV1betaService[]; } + /** + * Request message for the MintAppCheckToken method. + */ + export interface Schema$GoogleFirebaseAppcheckV1betaMintAppCheckTokenRequest { + /** + * Optional. If specified, the returned App Check token will be a limited-use token minted according to the specified configuration options. + */ + limitedUseConfig?: Schema$GoogleFirebaseAppcheckV1betaLimitedUseConfig; + /** + * Optional. If specified, the returned App Check token will be a session token, valid for the specified duration. Must be between 30 minutes and 7 days, inclusive. + */ + tokenTtl?: string | null; + } + /** + * Response message for the MintAppCheckToken method. + */ + export interface Schema$GoogleFirebaseAppcheckV1betaMintAppCheckTokenResponse { + /** + * The App Check token, used to access backend services protected by App Check. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and GCP project. This token is used to access Google services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK or third-party libraries. + */ + token?: string | null; + /** + * 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. + */ + ttl?: string | null; + } /** * An app's Play Integrity configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API; 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). */ @@ -3661,6 +3696,167 @@ export namespace firebaseappcheck_v1beta { ); } } + + /** + * Mints a new App Check token for the specified Firebase App. This method is intended to be called from a privileged environment where the caller can be authorized via Cloud IAM; for example, using a service account. To call this method, the caller must have the [`firebaseappcheck.googleapis.com/tokens.mint`](https://firebase.google.com/docs/projects/iam/permissions#app-check) permission. Returns a MintAppCheckTokenResponse. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/firebaseappcheck.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const firebaseappcheck = google.firebaseappcheck('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/firebase', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await firebaseappcheck.projects.apps.mintAppCheckToken({ + * // 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. + * app: 'projects/my-project/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "limitedUseConfig": {}, + * // "tokenTtl": "my_tokenTtl" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "token": "my_token", + * // "ttl": "my_ttl" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mintAppCheckToken( + params: Params$Resource$Projects$Apps$Mintappchecktoken, + options: StreamMethodOptions + ): Promise>; + mintAppCheckToken( + params?: Params$Resource$Projects$Apps$Mintappchecktoken, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mintAppCheckToken( + params: Params$Resource$Projects$Apps$Mintappchecktoken, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mintAppCheckToken( + params: Params$Resource$Projects$Apps$Mintappchecktoken, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mintAppCheckToken( + params: Params$Resource$Projects$Apps$Mintappchecktoken, + callback: BodyResponseCallback + ): void; + mintAppCheckToken( + callback: BodyResponseCallback + ): void; + mintAppCheckToken( + paramsOrCallback?: + | Params$Resource$Projects$Apps$Mintappchecktoken + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Apps$Mintappchecktoken; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Apps$Mintappchecktoken; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebaseappcheck.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+app}:mintAppCheckToken').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['app'], + pathParams: ['app'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Apps$Exchangeappattestassertion extends StandardParameters { @@ -3784,6 +3980,17 @@ export namespace firebaseappcheck_v1beta { */ requestBody?: Schema$GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest; } + export interface Params$Resource$Projects$Apps$Mintappchecktoken extends StandardParameters { + /** + * 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. + */ + app?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirebaseAppcheckV1betaMintAppCheckTokenRequest; + } export class Resource$Projects$Apps$Appattestconfig { context: APIRequestContext; diff --git a/src/apis/firebaseappdistribution/package.json b/src/apis/firebaseappdistribution/package.json index dd58b23fb07..3c8f45c365b 100644 --- a/src/apis/firebaseappdistribution/package.json +++ b/src/apis/firebaseappdistribution/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebaseapphosting/package.json b/src/apis/firebaseapphosting/package.json index 0ba5f25cc02..41ddecad4f5 100644 --- a/src/apis/firebaseapphosting/package.json +++ b/src/apis/firebaseapphosting/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebasecrashlytics/package.json b/src/apis/firebasecrashlytics/package.json index ad220c2fa17..502b696e137 100644 --- a/src/apis/firebasecrashlytics/package.json +++ b/src/apis/firebasecrashlytics/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebasedatabase/package.json b/src/apis/firebasedatabase/package.json index b054fa6f234..de030d10da5 100644 --- a/src/apis/firebasedatabase/package.json +++ b/src/apis/firebasedatabase/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebasedataconnect/package.json b/src/apis/firebasedataconnect/package.json index a5c6bcc10d6..13d320e5b12 100644 --- a/src/apis/firebasedataconnect/package.json +++ b/src/apis/firebasedataconnect/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebasedynamiclinks/package.json b/src/apis/firebasedynamiclinks/package.json index a64c8ea6234..9f774159ad5 100644 --- a/src/apis/firebasedynamiclinks/package.json +++ b/src/apis/firebasedynamiclinks/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebasehosting/package.json b/src/apis/firebasehosting/package.json index 1c427a7b987..49b621665a3 100644 --- a/src/apis/firebasehosting/package.json +++ b/src/apis/firebasehosting/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebaseml/package.json b/src/apis/firebaseml/package.json index 71bad88316d..ca0b89d6233 100644 --- a/src/apis/firebaseml/package.json +++ b/src/apis/firebaseml/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebaseml/v2beta.ts b/src/apis/firebaseml/v2beta.ts index 09ec8021fcb..b066c1ceae0 100644 --- a/src/apis/firebaseml/v2beta.ts +++ b/src/apis/firebaseml/v2beta.ts @@ -1031,6 +1031,10 @@ export namespace firebaseml_v2beta { * Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. */ topP?: number | null; + /** + * Optional. Config for translation. + */ + translationConfig?: Schema$GoogleCloudAiplatformV1beta1TranslationConfig; } /** * Config for model selection. @@ -2178,6 +2182,19 @@ export namespace firebaseml_v2beta { */ enableZeroDataRetention?: boolean | null; } + /** + * Config for translation features. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TranslationConfig { + /** + * Optional. If `true`, the model will generate audio when the target language is spoken, essentially it will parrot the input. If `false`, we will not produce audio for the target language. + */ + echoTargetLanguage?: boolean | null; + /** + * Required. The target language for translation. Supported values are BCP-47 language codes (e.g. "en", "es", "fr"). + */ + targetLanguageCode?: string | null; + } /** * Tool to support URL context. */ diff --git a/src/apis/firebaserules/package.json b/src/apis/firebaserules/package.json index 326c5cdd608..961849873ff 100644 --- a/src/apis/firebaserules/package.json +++ b/src/apis/firebaserules/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firebasestorage/package.json b/src/apis/firebasestorage/package.json index eade1040fda..e2e8d4e7d5e 100644 --- a/src/apis/firebasestorage/package.json +++ b/src/apis/firebasestorage/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firestore/README.md b/src/apis/firestore/README.md index 4e711d26c6d..3f96e37e93d 100644 --- a/src/apis/firestore/README.md +++ b/src/apis/firestore/README.md @@ -4,6 +4,15 @@ > Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/firestore-api](https://www.npmjs.com/package/@google-cloud/firestore-api) instead. +The [@google-cloud/firestore-api](https://www.npmjs.com/package/@google-cloud/firestore-api) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/firestore/package.json b/src/apis/firestore/package.json index 70646114456..8eb3d06328d 100644 --- a/src/apis/firestore/package.json +++ b/src/apis/firestore/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/firestore/v1.ts b/src/apis/firestore/v1.ts index 7c75943de1e..4cb0c6fe791 100644 --- a/src/apis/firestore/v1.ts +++ b/src/apis/firestore/v1.ts @@ -1621,7 +1621,7 @@ export namespace firestore_v1 { */ export interface Schema$GoogleFirestoreAdminV1SearchGeoSpec { /** - * Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. + * Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of the value of this field. */ geoJsonIndexingDisabled?: boolean | null; } diff --git a/src/apis/fitness/package.json b/src/apis/fitness/package.json index 7c6e239148e..30976ef38f0 100644 --- a/src/apis/fitness/package.json +++ b/src/apis/fitness/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/forms/package.json b/src/apis/forms/package.json index a88fe5f98ae..768b2517409 100644 --- a/src/apis/forms/package.json +++ b/src/apis/forms/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/ftp/README.md b/src/apis/ftp/README.md index 2fb3ce7e3ad..66da419b75c 100644 --- a/src/apis/ftp/README.md +++ b/src/apis/ftp/README.md @@ -4,6 +4,15 @@ > A managed, cloud-native solution to move data in and out of Google Cloud by using SSH File Transfer Protocol (SFTP). +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/ftp](https://www.npmjs.com/package/@google-cloud/ftp) instead. +The [@google-cloud/ftp](https://www.npmjs.com/package/@google-cloud/ftp) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/ftp/package.json b/src/apis/ftp/package.json index a042ec9dc9f..e869dc838f6 100644 --- a/src/apis/ftp/package.json +++ b/src/apis/ftp/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/games/package.json b/src/apis/games/package.json index c4aaa1a34df..098f9942b0b 100644 --- a/src/apis/games/package.json +++ b/src/apis/games/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/games/v1.ts b/src/apis/games/v1.ts index 8829666e989..feabe8273e9 100644 --- a/src/apis/games/v1.ts +++ b/src/apis/games/v1.ts @@ -1578,10 +1578,6 @@ export namespace games_v1 { * A string value. */ stringValue?: string | null; - /** - * A timestamp value. - */ - timestampValue?: string | null; } /** * Recall token data returned from RetrievePlayerTokens RPC diff --git a/src/apis/gamesConfiguration/package.json b/src/apis/gamesConfiguration/package.json index 784a1e828b4..18ecb75a38f 100644 --- a/src/apis/gamesConfiguration/package.json +++ b/src/apis/gamesConfiguration/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/gamesManagement/package.json b/src/apis/gamesManagement/package.json index a0239504c6c..783c824d8de 100644 --- a/src/apis/gamesManagement/package.json +++ b/src/apis/gamesManagement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/gameservices/package.json b/src/apis/gameservices/package.json index 267190c779b..5f879a8a4dd 100644 --- a/src/apis/gameservices/package.json +++ b/src/apis/gameservices/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/genomics/package.json b/src/apis/genomics/package.json index 7b556a3107f..4afb521ffca 100644 --- a/src/apis/genomics/package.json +++ b/src/apis/genomics/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/gkebackup/package.json b/src/apis/gkebackup/package.json index ff4777c83bb..7b05b40fffa 100644 --- a/src/apis/gkebackup/package.json +++ b/src/apis/gkebackup/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/gkebackup/v1.ts b/src/apis/gkebackup/v1.ts index ec57a4d2a1a..9256e258586 100644 --- a/src/apis/gkebackup/v1.ts +++ b/src/apis/gkebackup/v1.ts @@ -657,9 +657,13 @@ export namespace gkebackup_v1 { workloadsAffectedCount?: number | null; } /** - * Log entry for Backup and Restore Job for resources using BackupPlan based protection. Next Id: 26 + * Log entry for Backup and Restore Job for resources using BackupPlan based protection. Next Id: 27 */ export interface Schema$BDRBackupRestoreJobLog { + /** + * The auto-protection policy that created the backup. + */ + autoProtectionPolicy?: string | null; /** * Backup consistency time. */ diff --git a/src/apis/gkehub/package.json b/src/apis/gkehub/package.json index 159957fd6c2..d04c20641bf 100644 --- a/src/apis/gkehub/package.json +++ b/src/apis/gkehub/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/gkeonprem/package.json b/src/apis/gkeonprem/package.json index e6c911e7d00..c2d3510b044 100644 --- a/src/apis/gkeonprem/package.json +++ b/src/apis/gkeonprem/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/gmail/package.json b/src/apis/gmail/package.json index d2d580b69e0..04cc8edf73a 100644 --- a/src/apis/gmail/package.json +++ b/src/apis/gmail/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/gmailpostmastertools/package.json b/src/apis/gmailpostmastertools/package.json index 6953b0c66f9..1aa502e07a9 100644 --- a/src/apis/gmailpostmastertools/package.json +++ b/src/apis/gmailpostmastertools/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/groupsmigration/package.json b/src/apis/groupsmigration/package.json index 522cef21231..45b93dc7beb 100644 --- a/src/apis/groupsmigration/package.json +++ b/src/apis/groupsmigration/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/groupssettings/package.json b/src/apis/groupssettings/package.json index 317006cca8d..9b82cfa5894 100644 --- a/src/apis/groupssettings/package.json +++ b/src/apis/groupssettings/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/health/README.md b/src/apis/health/README.md index 3a8a537584a..6eabdee093a 100644 --- a/src/apis/health/README.md +++ b/src/apis/health/README.md @@ -4,6 +4,15 @@ > The Google Health API lets you view and manage health and fitness metrics and measurement data. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/health](https://www.npmjs.com/package/@google-cloud/health) instead. +The [@google-cloud/health](https://www.npmjs.com/package/@google-cloud/health) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/health/index.ts b/src/apis/health/index.ts index 3b017c16ef0..328693183e0 100644 --- a/src/apis/health/index.ts +++ b/src/apis/health/index.ts @@ -15,16 +15,20 @@ import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; import {health_v4} from './v4'; +import {health_v4beta} from './v4beta'; export const VERSIONS = { v4: health_v4.Health, + v4beta: health_v4beta.Health, }; export function health(version: 'v4'): health_v4.Health; export function health(options: health_v4.Options): health_v4.Health; -export function health( +export function health(version: 'v4beta'): health_v4beta.Health; +export function health(options: health_v4beta.Options): health_v4beta.Health; +export function health( this: GoogleConfigurable, - versionOrOptions: 'v4' | health_v4.Options + versionOrOptions: 'v4' | health_v4.Options | 'v4beta' | health_v4beta.Options ) { return getAPI('health', versionOrOptions, VERSIONS, this); } @@ -32,6 +36,7 @@ export function health( const auth = new AuthPlus(); export {auth}; export {health_v4}; +export {health_v4beta}; export { AuthPlus, GlobalOptions, diff --git a/src/apis/health/package.json b/src/apis/health/package.json index 9a4ff086bbc..a0b3aed5e32 100644 --- a/src/apis/health/package.json +++ b/src/apis/health/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/health/v4.ts b/src/apis/health/v4.ts index be5888bf928..c23cd466d41 100644 --- a/src/apis/health/v4.ts +++ b/src/apis/health/v4.ts @@ -773,7 +773,7 @@ export namespace health_v4 { */ range?: Schema$CivilTimeInterval; /** - * Optional. Aggregation window size, in number of days. Defaults to 1 if not specified. + * Optional. Aggregation window size, in number of days. Defaults to 1 if not specified. If the requested range is not an exact multiple of `window_size_days`, the final bucket chronologically will be truncated at the upper endpoint of the range and will cover a duration shorter than `window_size_days`. */ windowSizeDays?: number | null; } @@ -1428,6 +1428,33 @@ export namespace health_v4 { */ multiplier?: number | null; } + /** + * Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly. + */ + export interface Schema$GoogleDevicesandservicesHealthV4betaDataType { + /** + * Identifier. The resource name of the data type. Format: `users/{user\}/dataTypes/{data_type\}` See DataPoint.name for examples and possible values. + */ + name?: string | null; + } + /** + * Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly. + */ + export interface Schema$GoogleDevicesandservicesHealthV4betaUser { + /** + * Identifier. The resource name of the user. The `{user\}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user\}` + */ + name?: string | null; + } + /** + * Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint. + */ + export interface Schema$GoogleDevicesandservicesHealthV4betaWebhookNotificationCloudLog { + /** + * Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body. + */ + httpResponse?: Schema$HttpResponse; + } /** * Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly. */ @@ -1527,6 +1554,10 @@ export namespace health_v4 { * Captures user's heart rate variability (HRV) as measured by the root mean square of successive differences (RMSSD) between normal heartbeats or by standard deviation of the inter-beat intervals (SDNN). */ export interface Schema$HeartRateVariability { + /** + * Optional. Metadata used in 1P surfaces. + */ + metadata?: Schema$HeartRateVariabilityMetadata; /** * Optional. The root mean square of successive differences between normal heartbeats. This is a measure of heart rate variability used by Google Health. */ @@ -1540,6 +1571,19 @@ export namespace health_v4 { */ standardDeviationMilliseconds?: number | null; } + /** + * Metadata for HeartRateVariability. + */ + export interface Schema$HeartRateVariabilityMetadata { + /** + * Optional. The power in interbeat interval fluctuations within the high frequency band (0.15 Hz - 0.4 Hz). + */ + highFrequencyPower?: number | null; + /** + * Optional. The power in interbeat interval fluctuations within the low frequency band (0.04 Hz - 0.15 Hz). + */ + lowFrequencyPower?: number | null; + } /** * Represents the result of the rollup of the user's daily heart rate variability personal range. */ @@ -2190,11 +2234,11 @@ export namespace health_v4 { */ age?: number | null; /** - * Output only. The automatically calculated running stride length, in millimeters. The user must consent to one of the following access scopes to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness` + * Output only. The automatically calculated running stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` */ autoRunningStrideLengthMm?: number | null; /** - * Output only. The automatically calculated walking stride length, in millimeters. The user must consent to one of the following access scopes to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness` + * Output only. The automatically calculated walking stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` */ autoWalkingStrideLengthMm?: number | null; /** @@ -2206,11 +2250,11 @@ export namespace health_v4 { */ name?: string | null; /** - * Optional. The user's user configured running stride length, in millimeters. The user must consent to one of the following access scopes to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness` + * Optional. The user's user configured running stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` */ userConfiguredRunningStrideLengthMm?: number | null; /** - * Optional. The user's user configured walking stride length, in millimeters. The user must consent to one of the following access scopes to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness` + * Optional. The user's user configured walking stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` */ userConfiguredWalkingStrideLengthMm?: number | null; } @@ -2545,7 +2589,7 @@ export namespace health_v4 { */ range?: Schema$Interval; /** - * Required. The size of the time window to group data points into before applying the aggregation functions. Must be at least 1 second. + * Required. The size of the time window to group data points into before applying the aggregation functions. Must be at least 1 second. If the requested range is not an exact multiple of `window_size`, the final bucket chronologically will be truncated at the upper endpoint of the range and will cover a duration shorter than `window_size`. */ windowSize?: string | null; } @@ -4913,7 +4957,10 @@ export namespace health_v4 { * 'https://www.googleapis.com/auth/googlehealth.ecg.readonly', * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', * 'https://www.googleapis.com/auth/googlehealth.irn.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', * 'https://www.googleapis.com/auth/googlehealth.profile.readonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', * 'https://www.googleapis.com/auth/googlehealth.settings.readonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', * ], @@ -6230,9 +6277,12 @@ export namespace health_v4 { * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', @@ -6543,9 +6593,12 @@ export namespace health_v4 { * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', @@ -6731,9 +6784,12 @@ export namespace health_v4 { * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', @@ -7084,9 +7140,12 @@ export namespace health_v4 { * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', @@ -7246,9 +7305,12 @@ export namespace health_v4 { * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', diff --git a/src/apis/health/v4beta.ts b/src/apis/health/v4beta.ts new file mode 100644 index 00000000000..3d9d345ce60 --- /dev/null +++ b/src/apis/health/v4beta.ts @@ -0,0 +1,7874 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosResponseWithHTTP2, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace health_v4beta { + export interface Options extends GlobalOptions { + version: 'v4beta'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * 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. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * 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. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Google Health API + * + * The Google Health API lets you view and manage health and fitness metrics and measurement data. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * ``` + */ + export class Health { + context: APIRequestContext; + projects: Resource$Projects; + shl: Resource$Shl; + users: Resource$Users; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + this.shl = new Resource$Shl(this.context); + this.users = new Resource$Users(this.context); + } + } + + /** + * Energy burned as part of an activity, excluding the basal energy burn. + */ + export interface Schema$ActiveEnergyBurned { + /** + * Required. Observed interval + */ + interval?: Schema$ObservationTimeInterval; + /** + * Required. Energy burned during an activity, measured in kilocalories. + */ + kcal?: number | null; + } + /** + * Represents the result of the rollup of active energy burned. + */ + export interface Schema$ActiveEnergyBurnedRollupValue { + /** + * Output only. Sum of the active energy burned in kilocalories. + */ + kcalSum?: number | null; + } + /** + * Record of active minutes in a given time interval. + */ + export interface Schema$ActiveMinutes { + /** + * Required. Active minutes by activity level. At most one record per activity level is allowed. + */ + activeMinutesByActivityLevel?: Schema$ActiveMinutesByActivityLevel[]; + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + } + /** + * Active minutes at a given activity level. + */ + export interface Schema$ActiveMinutesByActivityLevel { + /** + * Required. Number of whole minutes spent in activity. + */ + activeMinutes?: string | null; + /** + * Required. The level of activity. + */ + activityLevel?: string | null; + } + /** + * Active minutes by activity level. + */ + export interface Schema$ActiveMinutesRollupByActivityLevel { + /** + * Number of whole minutes spent in activity. + */ + activeMinutesSum?: string | null; + /** + * The level of activity. + */ + activityLevel?: string | null; + } + /** + * Represents the result of the rollup of the active minutes data type. + */ + export interface Schema$ActiveMinutesRollupValue { + /** + * Active minutes by activity level. At most one record per activity level is allowed. + */ + activeMinutesRollupByActivityLevel?: Schema$ActiveMinutesRollupByActivityLevel[]; + } + /** + * Record of active zone minutes in a given time interval. + */ + export interface Schema$ActiveZoneMinutes { + /** + * Required. Number of Active Zone Minutes earned in the given time interval. Note: active_zone_minutes equals to 1 for low intensity (fat burn) zones or 2 for high intensity zones (cardio, peak). + */ + activeZoneMinutes?: string | null; + /** + * Required. Heart rate zone in which the active zone minutes have been earned, in the given time interval. + */ + heartRateZone?: string | null; + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + } + /** + * Represents the result of the rollup of the active zone minutes data type. + */ + export interface Schema$ActiveZoneMinutesRollupValue { + /** + * Active zone minutes in `HeartRateZone.CARDIO`. + */ + sumInCardioHeartZone?: string | null; + /** + * Active zone minutes in `HeartRateZone.FAT_BURN`. + */ + sumInFatBurnHeartZone?: string | null; + /** + * Active zone minutes in `HeartRateZone.PEAK`. + */ + sumInPeakHeartZone?: string | null; + } + /** + * Internal type to capture activity level during a certain time interval. + */ + export interface Schema$ActivityLevel { + /** + * Required. Activity level type in the given time interval. + */ + activityLevelType?: string | null; + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + } + /** + * Represents the total duration in a specific activity level type. + */ + export interface Schema$ActivityLevelRollupByActivityLevelType { + /** + * Activity level type. + */ + activityLevelType?: string | null; + /** + * Total duration in the activity level type. + */ + totalDuration?: string | null; + } + /** + * Represents the result of the rollup of the activity level data type. + */ + export interface Schema$ActivityLevelRollupValue { + /** + * List of total durations in each activity level type. + */ + activityLevelRollupsByActivityLevelType?: Schema$ActivityLevelRollupByActivityLevelType[]; + } + /** + * An analysis window evaluated for AFib. Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save "inconclusive" windows (they aren't produced by the algorithm). + */ + export interface Schema$AlertWindow { + /** + * Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + */ + civilEndTime?: Schema$CivilDateTime; + /** + * Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + */ + civilStartTime?: Schema$CivilDateTime; + /** + * Required. The end time of the analysis window. + */ + endTime?: string | null; + /** + * Required. The UTC offset of the user's timezone when the analysis window ended. + */ + endUtcOffset?: string | null; + /** + * Optional. All heart beats in the interval contained in this analysis window. + */ + heartBeats?: Schema$HeartBeat[]; + /** + * Optional. Flag indicating whether the window was positive for AFib or not. A `true` value indicates that AFib was detected in this window. A `false` value means AFib was not detected, but does not guarantee the absence of AFib. + */ + positive?: boolean | null; + /** + * Required. Observed interval. The start time of the analysis window. + */ + startTime?: string | null; + /** + * Required. The UTC offset of the user's timezone when the analysis window started. + */ + startUtcOffset?: string | null; + } + /** + * Captures the altitude gain (i.e. deltas), and not level above sea, for a user in millimeters. + */ + export interface Schema$Altitude { + /** + * Required. Altitude gain in millimeters over the observed interval. + */ + gainMillimeters?: string | null; + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + } + /** + * Represents the result of the rollup of the user's altitude. + */ + export interface Schema$AltitudeRollupValue { + /** + * Sum of the altitude gain in millimeters. + */ + gainMillimetersSum?: string | null; + } + /** + * Optional metadata for the application that provided this data. + */ + export interface Schema$Application { + /** + * Output only. The Google OAuth 2.0 client ID of the web application or service that recorded the data. This is the client ID used during the Google OAuth flow to obtain user credentials. This field is system-populated when the data is uploaded from Google Web API. + */ + googleWebClientId?: string | null; + /** + * Output only. A unique identifier for the mobile application that was the source of the data. This is typically the application's package name on Android (e.g., `com.google.fitbit`) or the bundle ID on iOS. This field is informational and helps trace data origin. This field is system-populated when the data is uploaded from the Fitbit mobile application, Health Connect or Health Kit. + */ + packageName?: string | null; + /** + * Output only. The client ID of the application that recorded the data. This ID is a legacy Fitbit API client ID, which is different from a Google OAuth client ID. Example format: `ABC123`. This field is system-populated and used for tracing data from legacy Fitbit API integrations. This field is system-populated when the data is uploaded from a legacy Fitbit API integration. + */ + webClientId?: string | null; + } + /** + * Number of calories burned due to basal metabolic rate (BMR) over a period of time. + */ + export interface Schema$BasalEnergyBurned { + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + /** + * Required. Number of calories burned due to basal metabolic rate in kilocalories over the observed interval. + */ + kcal?: number | null; + } + /** + * Request to delete a batch of identifiable data points. + */ + export interface Schema$BatchDeleteDataPointsRequest { + /** + * Required. The names of the DataPoints to delete. A maximum of 10000 data points can be deleted in a single request. + */ + names?: string[] | null; + } + /** + * Represents a blood glucose level measurement. LINT: LEGACY_NAMES + */ + export interface Schema$BloodGlucose { + /** + * Required. Blood glucose level concentration in mg/dL. + */ + bloodGlucoseMilligramsPerDeciliter?: number | null; + /** + * Optional. Meal type of the measurement. + */ + mealType?: string | null; + /** + * Optional. Source of the measurement. + */ + measurementSource?: string | null; + /** + * Optional. Timing of the measurement. + */ + measurementTiming?: string | null; + /** + * Optional. Standard free-form notes captured at manual logging. + */ + notes?: string | null; + /** + * Required. The time at which blood glucose was measured. + */ + sampleTime?: Schema$ObservationSampleTime; + /** + * Optional. Type of body fluid used to measure the blood glucose. + */ + specimen?: string | null; + } + /** + * Represents the result of the rollup of the blood glucose data type. LINT: LEGACY_NAMES + */ + export interface Schema$BloodGlucoseRollupValue { + /** + * Average blood glucose level in mg/dL. + */ + bloodGlucoseMilligramsPerDeciliterAvg?: number | null; + } + /** + * Body fat measurement. + */ + export interface Schema$BodyFat { + /** + * Required. Body fat percentage, in range [0, 100]. + */ + percentage?: number | null; + /** + * Required. The time at which body fat was measured. + */ + sampleTime?: Schema$ObservationSampleTime; + } + /** + * Represents the result of the rollup of the body fat data type. + */ + export interface Schema$BodyFatRollupValue { + /** + * Average body fat percentage. + */ + bodyFatPercentageAvg?: number | null; + } + /** + * Represents the result of the rollup of the calories in heart rate zone data type. + */ + export interface Schema$CaloriesInHeartRateZoneRollupValue { + /** + * List of calories burned in each heart rate zone. + */ + caloriesInHeartRateZones?: Schema$CaloriesInHeartRateZoneValue[]; + } + /** + * Represents the amount of kilocalories burned in a specific heart rate zone. + */ + export interface Schema$CaloriesInHeartRateZoneValue { + /** + * The heart rate zone. + */ + heartRateZone?: string | null; + /** + * The amount of kilocalories burned in the specified heart rate zone. + */ + kcal?: number | null; + } + /** + * Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. + */ + export interface Schema$CivilDateTime { + /** + * Required. Calendar date. + */ + date?: Schema$Date; + /** + * Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + */ + time?: Schema$TimeOfDay; + } + /** + * Counterpart of google.type.Interval, but using CivilDateTime. + */ + export interface Schema$CivilTimeInterval { + /** + * Required. The exclusive end of the range. + */ + end?: Schema$CivilDateTime; + /** + * Required. The inclusive start of the range. + */ + start?: Schema$CivilDateTime; + } + /** + * Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs. + */ + export interface Schema$CoreBodyTemperature { + /** + * Optional. The unique identifier of the core body temperature measurement. + */ + id?: string | null; + /** + * Optional. The location of the core body temperature measurement. + */ + measurementLocation?: string | null; + /** + * Required. The time at which core body temperature was measured. + */ + sampleTime?: Schema$ObservationSampleTime; + /** + * Required. The core body temperature in Celsius. + */ + temperatureCelsius?: number | null; + } + /** + * Represents the result of the rollup of the core body temperature data type. + */ + export interface Schema$CoreBodyTemperatureRollupValue { + /** + * Average core body temperature in Celsius. + */ + temperatureCelsiusAvg?: number | null; + /** + * Maximum core body temperature in Celsius. + */ + temperatureCelsiusMax?: number | null; + /** + * Minimum core body temperature in Celsius. + */ + temperatureCelsiusMin?: number | null; + } + /** + * Payload for creating a subscriber. + */ + export interface Schema$CreateSubscriberPayload { + /** + * Required. Authorization mechanism for the subscriber endpoint. The `secret` within this message is crucial for endpoint verification and for securing webhook notifications. + */ + endpointAuthorization?: Schema$EndpointAuthorization; + /** + * Required. The full HTTPS URI where update notifications will be sent. The URI must be a valid URL and use HTTPS as the scheme. This endpoint will be verified during the `CreateSubscriber` call. See CreateSubscriber RPC documentation for verification details. + */ + endpointUri?: string | null; + /** + * Optional. Configuration for the subscriber. + */ + subscriberConfigs?: Schema$SubscriberConfig[]; + } + /** + * Payload for creating a subscription. + */ + export interface Schema$CreateSubscriptionPayload { + /** + * Optional. Data types subscribed to. + */ + dataTypes?: string[] | null; + /** + * Required. Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user\}` where `{user\}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`). + */ + user?: string | null; + } + /** + * Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds` + */ + export interface Schema$DailyHeartRateVariability { + /** + * Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats. + */ + averageHeartRateVariabilityMilliseconds?: number | null; + /** + * Required. Date (in the user's timezone) of heart rate variability measurement. + */ + date?: Schema$Date; + /** + * Optional. The root mean square of successive differences (RMSSD) value during deep sleep. + */ + deepSleepRootMeanSquareOfSuccessiveDifferencesMilliseconds?: number | null; + /** + * Optional. The Shanon entropy of heartbeat intervals. Entropy quantifies randomness or disorder in a system. High entropy indicates high HRV. Entropy is measured from the histogram of time interval between successive heart beats values measured during sleep. + */ + entropy?: number | null; + /** + * Optional. Non-REM heart rate + */ + nonRemHeartRateBeatsPerMinute?: string | null; + } + /** + * User's heart rate zone thresholds based on the Karvonen algorithm for a specific day. + */ + export interface Schema$DailyHeartRateZones { + /** + * Required. Date (in user's timezone) of the heart rate zones record. + */ + date?: Schema$Date; + /** + * Required. The heart rate zones. + */ + heartRateZones?: Schema$HeartRateZone[]; + } + /** + * A daily oxygen saturation (SpO2) record. Represents the user's daily oxygen saturation summary, typically calculated during sleep. + */ + export interface Schema$DailyOxygenSaturation { + /** + * Required. The average value of the oxygen saturation samples during the sleep. + */ + averagePercentage?: number | null; + /** + * Required. Date (in user's timezone) of the daily oxygen saturation record. + */ + date?: Schema$Date; + /** + * Required. The lower bound of the confidence interval of oxygen saturation samples during sleep. + */ + lowerBoundPercentage?: number | null; + /** + * Optional. Standard deviation of the daily oxygen saturation averages from the past 7-30 days. + */ + standardDeviationPercentage?: number | null; + /** + * Required. The upper bound of the confidence interval of oxygen saturation samples during sleep. + */ + upperBoundPercentage?: number | null; + } + /** + * A daily average respiratory rate (breaths per minute) for a day of the year. One data point per day calculated for the main sleep. + */ + export interface Schema$DailyRespiratoryRate { + /** + * Required. The average number of breaths taken per minute. + */ + breathsPerMinute?: number | null; + /** + * Required. The date on which the respiratory rate was measured. + */ + date?: Schema$Date; + } + /** + * Measures the daily resting heart rate for a user, calculated using the all day heart rate measurements. + */ + export interface Schema$DailyRestingHeartRate { + /** + * Required. The resting heart rate value in beats per minute. + */ + beatsPerMinute?: string | null; + /** + * Optional. Metadata for the daily resting heart rate. + */ + dailyRestingHeartRateMetadata?: Schema$DailyRestingHeartRateMetadata; + /** + * Required. Date (in the user's timezone) of the resting heart rate measurement. + */ + date?: Schema$Date; + } + /** + * Metadata for the daily resting heart rate. + */ + export interface Schema$DailyRestingHeartRateMetadata { + /** + * Required. The method used to calculate the resting heart rate. + */ + calculationMethod?: string | null; + } + /** + * Value of a daily rollup for a single civil time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn. + */ + export interface Schema$DailyRollupDataPoint { + /** + * Returned by default when rolling up data points from the `active-energy-burned` data type. + */ + activeEnergyBurned?: Schema$ActiveEnergyBurnedRollupValue; + /** + * Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier. + */ + activeMinutes?: Schema$ActiveMinutesRollupValue; + /** + * Returned by default when rolling up data points from the `active-zone-minutes` data type, or when requested explicitly using the `active-zone-minutes` rollup type identifier. + */ + activeZoneMinutes?: Schema$ActiveZoneMinutesRollupValue; + /** + * Returned by default when rolling up data points from the `activity-level` data type, or when requested explicitly using the `activity-level` rollup type identifier. + */ + activityLevel?: Schema$ActivityLevelRollupValue; + /** + * Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier. + */ + altitude?: Schema$AltitudeRollupValue; + /** + * Returned by default when rolling up data points from the `blood-glucose` data type. + */ + bloodGlucose?: Schema$BloodGlucoseRollupValue; + /** + * Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier. + */ + bodyFat?: Schema$BodyFatRollupValue; + /** + * Returned by default when rolling up data points from the `calories-in-heart-rate-zone` data type, or when requested explicitly using the `calories-in-heart-rate-zone` rollup type identifier. + */ + caloriesInHeartRateZone?: Schema$CaloriesInHeartRateZoneRollupValue; + /** + * End time of the window this value aggregates over + */ + civilEndTime?: Schema$CivilDateTime; + /** + * Start time of the window this value aggregates over + */ + civilStartTime?: Schema$CivilDateTime; + /** + * Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier. + */ + coreBodyTemperature?: Schema$CoreBodyTemperatureRollupValue; + /** + * Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier. + */ + distance?: Schema$DistanceRollupValue; + /** + * Returned by default when rolling up data points from the `floors` data type, or when requested explicitly using the `floors` rollup type identifier. + */ + floors?: Schema$FloorsRollupValue; + /** + * Returned by default when rolling up data points from the `heart-rate` data type, or when requested explicitly using the `heart-rate` rollup type identifier. + */ + heartRate?: Schema$HeartRateRollupValue; + /** + * Returned by default when rolling up data points from the `daily-heart-rate-variability` data type, or when requested explicitly using the `heart-rate-variability-personal-range` rollup type identifier. + */ + heartRateVariabilityPersonalRange?: Schema$HeartRateVariabilityPersonalRangeRollupValue; + /** + * Returned by default when rolling up data points from the `hydration-log` data type, or when requested explicitly using the `hydration-log` rollup type identifier. + */ + hydrationLog?: Schema$HydrationLogRollupValue; + /** + * Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier. + */ + nutritionLog?: Schema$NutritionLogRollupValue; + /** + * Returned by default when rolling up data points from the `daily-resting-heart-rate` data type, or when requested explicitly using the `resting-heart-rate-personal-range` rollup type identifier. + */ + restingHeartRatePersonalRange?: Schema$RestingHeartRatePersonalRangeRollupValue; + /** + * Returned by default when rolling up data points from the `run-vo2-max` data type, or when requested explicitly using the `run-vo2-max` rollup type identifier. + */ + runVo2Max?: Schema$RunVO2MaxRollupValue; + /** + * Returned by default when rolling up data points from the `sedentary-period` data type, or when requested explicitly using the `sedentary-period` rollup type identifier. + */ + sedentaryPeriod?: Schema$SedentaryPeriodRollupValue; + /** + * Returned by default when rolling up data points from the `steps` data type, or when requested explicitly using the `steps` rollup type identifier. + */ + steps?: Schema$StepsRollupValue; + /** + * Returned by default when rolling up data points from the `swim-lengths-data` data type, or when requested explicitly using the `swim-lengths-data` rollup type identifier. + */ + swimLengthsData?: Schema$SwimLengthsDataRollupValue; + /** + * Returned by default when rolling up data points from the `time-in-heart-rate-zone` data type, or when requested explicitly using the `time-in-heart-rate-zone` rollup type identifier. + */ + timeInHeartRateZone?: Schema$TimeInHeartRateZoneRollupValue; + /** + * Returned by default when rolling up data points from the `total-calories` data type, or when requested explicitly using the `total-calories` rollup type identifier. + */ + totalCalories?: Schema$TotalCaloriesRollupValue; + /** + * Returned by default when rolling up data points from the `weight` data type, or when requested explicitly using the `weight` rollup type identifier. + */ + weight?: Schema$WeightRollupValue; + } + /** + * Request to roll up data points by civil time intervals. + */ + export interface Schema$DailyRollUpDataPointsRequest { + /** + * Optional. The data source family name to roll up. If empty, data points from all available data sources will be rolled up. Format: `users/me/dataSourceFamilies/{data_source_family\}` The supported values are: - `users/me/dataSourceFamilies/all-sources` - Default value. Includes data from all available data sources. - `users/me/dataSourceFamilies/google-wearables` - Includes data from Google and Fitbit tracker devices (such as Fitbit trackers and Pixel Watch). Excludes manually logged data. - `users/me/dataSourceFamilies/google-sources` - Includes first-party Google data, such as data from tracker devices, manually logged data, and Health Connect. + */ + dataSourceFamily?: string | null; + /** + * Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. + */ + pageSize?: number | null; + /** + * Optional. The `next_page_token` from a previous request, if any. All other request fields need to be the same as in the initial request when the page token is specified. + */ + pageToken?: string | null; + /** + * Required. Closed-open range of data points that will be rolled up. The start time must be aligned with the aggregation window. The maximum range for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes` and `total-calories` is 14 days. The maximum range for all other data types is 90 days. + */ + range?: Schema$CivilTimeInterval; + /** + * Optional. Aggregation window size, in number of days. Defaults to 1 if not specified. If the requested range is not an exact multiple of `window_size_days`, the final bucket chronologically will be truncated at the upper endpoint of the range and will cover a duration shorter than `window_size_days`. + */ + windowSizeDays?: number | null; + } + /** + * Response containing the list of rolled up data points. + */ + export interface Schema$DailyRollUpDataPointsResponse { + /** + * Values for each aggregation time window. + */ + rollupDataPoints?: Schema$DailyRollupDataPoint[]; + } + /** + * Provides derived sleep temperature values, calculated from skin or internal device temperature readings during sleep. + */ + export interface Schema$DailySleepTemperatureDerivations { + /** + * Optional. The user's baseline skin temperature. It is the median of the user's nightly skin temperature over the past 30 days. + */ + baselineTemperatureCelsius?: number | null; + /** + * Required. Date for which the sleep temperature derivations are calculated. + */ + date?: Schema$Date; + /** + * Required. The user's nightly skin temperature. It is the mean of skin temperature samples taken from the user’s sleep. + */ + nightlyTemperatureCelsius?: number | null; + /** + * Optional. The standard deviation of the user’s relative nightly skin temperature (temperature - baseline) over the past 30 days. + */ + relativeNightlyStddev30dCelsius?: number | null; + } + /** + * Contains a daily summary of the user's VO2 max (cardio fitness score), which is the maximum rate of oxygen the body can use during exercise. + */ + export interface Schema$DailyVO2Max { + /** + * Optional. Represents the user's cardio fitness level based on their VO2 max. + */ + cardioFitnessLevel?: string | null; + /** + * Required. The date for which the Daily VO2 max was measured. + */ + date?: Schema$Date; + /** + * Optional. An estimated field is added to indicate when the confidence has decreased sufficiently to consider the value an estimation. + */ + estimated?: boolean | null; + /** + * Required. Daily VO2 max value measured as in ml consumed oxygen / kg of body weight / min. + */ + vo2Max?: number | null; + /** + * Optional. The covariance of the VO2 max value. + */ + vo2MaxCovariance?: number | null; + } + /** + * A computed or recorded metric. + */ + export interface Schema$DataPoint { + /** + * Optional. Data for points in the `active-energy-burned` interval data type collection. + */ + activeEnergyBurned?: Schema$ActiveEnergyBurned; + /** + * Optional. Data for points in the `active-minutes` interval data type collection. + */ + activeMinutes?: Schema$ActiveMinutes; + /** + * Optional. Data for points in the `active-zone-minutes` interval data type collection, measured in minutes. + */ + activeZoneMinutes?: Schema$ActiveZoneMinutes; + /** + * Optional. Data for points in the `activity-level` daily data type collection. + */ + activityLevel?: Schema$ActivityLevel; + /** + * Optional. Data for points in the `altitude` interval data type collection. + */ + altitude?: Schema$Altitude; + /** + * Optional. Data for points in the `basal-energy-burned` interval data type collection. + */ + basalEnergyBurned?: Schema$BasalEnergyBurned; + /** + * Optional. Data for points in the `blood-glucose` sample data type collection. + */ + bloodGlucose?: Schema$BloodGlucose; + /** + * Optional. Data for points in the `body-fat` sample data type collection. + */ + bodyFat?: Schema$BodyFat; + /** + * Optional. Data for points in the `core-body-temperature` sample data type collection. + */ + coreBodyTemperature?: Schema$CoreBodyTemperature; + /** + * Optional. Data for points in the `daily-heart-rate-variability` daily data type collection. + */ + dailyHeartRateVariability?: Schema$DailyHeartRateVariability; + /** + * Optional. Data for points in the `daily-heart-rate-zones` daily data type collection. + */ + dailyHeartRateZones?: Schema$DailyHeartRateZones; + /** + * Optional. Data for points in the `daily-oxygen-saturation` daily data type collection. + */ + dailyOxygenSaturation?: Schema$DailyOxygenSaturation; + /** + * Optional. Data for points in the `daily-respiratory-rate` daily data type collection. + */ + dailyRespiratoryRate?: Schema$DailyRespiratoryRate; + /** + * Optional. Data for points in the `daily-resting-heart-rate` daily data type collection. + */ + dailyRestingHeartRate?: Schema$DailyRestingHeartRate; + /** + * Optional. Data for points in the `daily-sleep-temperature-derivations` daily data type collection. + */ + dailySleepTemperatureDerivations?: Schema$DailySleepTemperatureDerivations; + /** + * Optional. Data for points in the `daily-vo2-max` daily data type collection. + */ + dailyVo2Max?: Schema$DailyVO2Max; + /** + * Optional. Data source information for the metric + */ + dataSource?: Schema$DataSource; + /** + * Optional. Data for points in the `distance` interval data type collection. + */ + distance?: Schema$Distance; + /** + * Optional. Data for points in the `electrocardiogram` session data type collection. + */ + electrocardiogram?: Schema$Electrocardiogram; + /** + * Optional. Data for points in the `exercise` session data type collection. + */ + exercise?: Schema$Exercise; + /** + * Optional. Data for points in the `floors` interval data type collection. + */ + floors?: Schema$Floors; + /** + * Optional. The food details. + */ + food?: Schema$Food; + /** + * Optional. The food measurement unit details. + */ + foodMeasurementUnit?: Schema$FoodMeasurementUnit; + /** + * Optional. Data for points in the `heart-rate` sample data type collection. + */ + heartRate?: Schema$HeartRate; + /** + * Optional. Data for points in the `heart-rate-variability` sample data type collection. + */ + heartRateVariability?: Schema$HeartRateVariability; + /** + * Optional. Data for points in the `height` sample data type collection. + */ + height?: Schema$Height; + /** + * Optional. Data for points in the `hydration-log` session data type collection. + */ + hydrationLog?: Schema$HydrationLog; + /** + * Optional. Data for points in the `irregular-rhythm-notification` session data type collection. + */ + irregularRhythmNotification?: Schema$IrregularRhythmNotification; + /** + * Optional. Data for points in the `menstrual-period` interval data type collection. + */ + menstrualPeriod?: Schema$MenstrualPeriod; + /** + * Optional. Data for points in the `moods` sample data type collection. + */ + moods?: Schema$Moods; + /** + * Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user\}/dataTypes/{data_type\}/dataPoints/{data_point\}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user\}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type\}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point\}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + */ + name?: string | null; + /** + * Optional. Data for points in the `nutrition-log` session data type collection. + */ + nutritionLog?: Schema$NutritionLog; + /** + * Optional. Data for points in the `ovulation-test` sample data type collection. + */ + ovulationTest?: Schema$OvulationTest; + /** + * Optional. Data for points in the `oxygen-saturation` sample data type collection. + */ + oxygenSaturation?: Schema$OxygenSaturation; + /** + * Optional. Data for points in the `respiratory-rate-sleep-summary` sample data type collection. + */ + respiratoryRateSleepSummary?: Schema$RespiratoryRateSleepSummary; + /** + * Optional. Data for points in the `run-vo2-max` sample data type collection. + */ + runVo2Max?: Schema$RunVO2Max; + /** + * Optional. Data for points in the `sedentary-period` interval data type collection. + */ + sedentaryPeriod?: Schema$SedentaryPeriod; + /** + * Optional. Data for points in the `sleep` session data type collection. + */ + sleep?: Schema$Sleep; + /** + * Optional. Data for points in the `steps` interval data type collection. + */ + steps?: Schema$Steps; + /** + * Optional. Data for points in the `swim-lengths-data` interval data type collection. + */ + swimLengthsData?: Schema$SwimLengthsData; + /** + * Optional. Data for points in the `symptoms` sample data type collection. + */ + symptoms?: Schema$Symptoms; + /** + * Optional. Data for points in the `time-in-heart-rate-zone` interval data type collection. + */ + timeInHeartRateZone?: Schema$TimeInHeartRateZone; + /** + * Optional. Data for points in the `vo2-max` sample data type collection. + */ + vo2Max?: Schema$VO2Max; + /** + * Optional. Data for points in the `weight` sample data type collection. + */ + weight?: Schema$Weight; + } + /** + * Data Source definition to track the origin of data. Each health data point, regardless of the complexity or data model (whether a simple step count or a detailed sleep session) must retain information about its source of origin (e.g. the device or app that collected it). + */ + export interface Schema$DataSource { + /** + * Output only. Captures metadata for the application that provided this data. + */ + application?: Schema$Application; + /** + * Optional. Captures metadata for raw data points originating from devices. We expect this data source to be used for data points written on device sync. + */ + device?: Schema$Device; + /** + * Output only. Captures the platform that uploaded the data. + */ + platform?: string | null; + /** + * Optional. Captures how the data was recorded. + */ + recordingMethod?: string | null; + } + /** + * 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 + */ + export interface Schema$Date { + /** + * 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. + */ + day?: number | null; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + month?: number | null; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + year?: number | null; + } + /** + * Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. + */ + export interface Schema$DateTime { + /** + * Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + */ + day?: number | null; + /** + * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + */ + hours?: number | null; + /** + * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + */ + minutes?: number | null; + /** + * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + */ + month?: number | null; + /** + * Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + */ + nanos?: number | null; + /** + * Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. + */ + seconds?: number | null; + /** + * Time zone. + */ + timeZone?: Schema$TimeZone; + /** + * UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 \}. + */ + utcOffset?: string | null; + /** + * Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year. + */ + year?: number | null; + } + /** + * Captures metadata about the device that recorded the measurement. + */ + export interface Schema$Device { + /** + * Optional. An optional name for the device. + */ + displayName?: string | null; + /** + * Optional. Captures the form factor of the device. + */ + formFactor?: string | null; + /** + * Optional. An optional manufacturer of the device. + */ + manufacturer?: string | null; + } + /** + * Distance traveled over an interval of time. + */ + export interface Schema$Distance { + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + /** + * Required. Distance in millimeters over the observed interval. + */ + millimeters?: string | null; + } + /** + * Result of the rollup of the user's distance. + */ + export interface Schema$DistanceRollupValue { + /** + * Sum of the distance in millimeters. + */ + millimetersSum?: string | null; + } + /** + * Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review. + */ + export interface Schema$Electrocardiogram { + /** + * Optional. Average heart rate recorded during ECG reading in beats per minute. + */ + beatsPerMinuteAvg?: string | null; + /** + * Required. Observed interval. NOTE: Historical ECG data lacks timezone offsets, so `start_utc_offset` and `end_utc_offset` will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing. NOTE: The `start_time` and `end_time` of the interval are equal, representing the reading time. + */ + interval?: Schema$SessionTimeInterval; + /** + * Optional. The number of leads used for ECG reading. + */ + leadNumber?: number | null; + /** + * Output only. The meta information for the compatible device used to conduct the measurement. ECG measurements typically populate `firmware_version`, `feature_version`, and `device_model`. + */ + medicalDeviceInfo?: Schema$MedicalDeviceInfo; + /** + * Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor. + */ + millivoltsScalingFactor?: number | null; + /** + * Optional. The result classification of the ECG reading. + */ + resultClassification?: string | null; + /** + * Optional. The sampling frequency of waveform samples in hertz. + */ + samplingFrequencyHertz?: number | null; + /** + * Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading. + */ + waveformSamples?: number[] | null; + } + /** + * 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); \} + */ + export interface Schema$Empty {} + /** + * Authorization mechanism for a subscriber endpoint. For all requests sent by the Webhooks service, the JSON payload is cryptographically signed. The signature is delivered in the `GOOGLE-HEALTH-API-SIGNATURE` HTTP header. This is an ECDSA (NIST P256) signature of the JSON payload. Clients must verify this signature using Google Health API's public key to confirm the payload was sent by the Health API. + */ + export interface Schema$EndpointAuthorization { + /** + * Required. Input only. Provides a client-provided secret that will be sent with each notification to the subscriber endpoint using the "Authorization" header. The value must include the authorization scheme, e.g., "Bearer " or "Basic ", as it will be used as the full Authorization header value. This secret is used by the API to test the endpoint during `CreateSubscriber` and `UpdateSubscriber` calls, and will be sent in the `Authorization` header for all subsequent webhook notifications to this endpoint. + */ + secret?: string | null; + /** + * Output only. Whether the secret is set. + */ + secretSet?: boolean | null; + } + /** + * Represents the energy quantity. + */ + export interface Schema$EnergyQuantity { + /** + * Required. The energy value in kilocalories. + */ + kcal?: number | null; + /** + * Optional. Value representing the user provided unit. + */ + userProvidedUnit?: string | null; + } + /** + * Rollup for the energy quantity. + */ + export interface Schema$EnergyQuantityRollup { + /** + * Required. The sum of the energy in kilocalories. + */ + kcalSum?: number | null; + /** + * Optional. The user provided unit on the last element. + */ + userProvidedUnitLast?: string | null; + } + /** + * An exercise that stores information about a physical activity. + */ + export interface Schema$Exercise { + /** + * Optional. Duration excluding pauses. + */ + activeDuration?: string | null; + /** + * Output only. Represents the timestamp of the creation of the exercise. + */ + createTime?: string | null; + /** + * Required. The localized, human-readable name of the exercise. For all exercise types other than `OTHER`, the system ignores client input and overrides this field with a generated name based on `exercise_type` (e.g., "Walking" for `WALKING`). If `exercise_type` is `OTHER`, this field can contain the user's custom, free-form display name. + */ + displayName?: string | null; + /** + * Optional. Exercise events that happen during an exercise, such as pause & restarts. + */ + exerciseEvents?: Schema$ExerciseEvent[]; + /** + * Optional. Additional exercise metadata. + */ + exerciseMetadata?: Schema$ExerciseMetadata; + /** + * Required. The type of activity performed during an exercise. + */ + exerciseType?: string | null; + /** + * Required. Observed exercise interval + */ + interval?: Schema$SessionTimeInterval; + /** + * Required. Summary metrics for this exercise ( ) + */ + metricsSummary?: Schema$MetricsSummary; + /** + * Optional. Standard free-form notes captured at manual logging. + */ + notes?: string | null; + /** + * Optional. The default split is 1 km or 1 mile. - if the movement distance is less than the default, then there are no splits - if the movement distance is greater than or equal to the default, then we have splits + */ + splits?: Schema$SplitSummary[]; + /** + * Optional. Laps or splits recorded within an exercise. Laps could be split based on distance or other criteria (duration, etc.) Laps should not be overlapping with each other. + */ + splitSummaries?: Schema$SplitSummary[]; + /** + * Output only. This is the timestamp of the last update to the exercise. + */ + updateTime?: string | null; + } + /** + * Represents instantaneous events that happen during an exercise, such as start, stop, pause, split. + */ + export interface Schema$ExerciseEvent { + /** + * Required. Exercise event time + */ + eventTime?: string | null; + /** + * Required. Exercise event time offset from UTC + */ + eventUtcOffset?: string | null; + /** + * Required. The type of the event, such as start, stop, pause, resume. + */ + exerciseEventType?: string | null; + } + /** + * Additional exercise metadata. + */ + export interface Schema$ExerciseMetadata { + /** + * Optional. Whether the exercise had GPS tracking. + */ + hasGps?: boolean | null; + /** + * Optional. Pool length in millimeters. Only present in the swimming exercises. + */ + poolLengthMillimeters?: string | null; + } + /** + * Represents a Response for exporting exercise data in TCX format. + */ + export interface Schema$ExportExerciseTcxResponse { + /** + * Contains the exported TCX data. This field is intended for gRPC clients, as media download integration is not supported for gRPC. HTTP clients should instead use the `alt=media` query parameter to download the raw binary TCX file. + */ + tcxData?: string | null; + } + /** + * Gained elevation measured in floors over the time interval + */ + export interface Schema$Floors { + /** + * Required. Number of floors in the recorded interval + */ + count?: string | null; + /** + * Required. Observed interval + */ + interval?: Schema$ObservationTimeInterval; + } + /** + * Represents the result of the rollup of the user's floors. + */ + export interface Schema$FloorsRollupValue { + /** + * Sum of the floors count. + */ + countSum?: string | null; + } + /** + * Represents a food item. + */ + export interface Schema$Food { + /** + * Required. The access level of the food. + */ + accessLevel?: string | null; + /** + * Optional. The brand of the food. + */ + brand?: string | null; + /** + * Required. Value representing the default serving of the food. + */ + defaultServing?: Schema$FoodServing; + /** + * Optional. The description of the food. + */ + description?: string | null; + /** + * Required. The display name of the food. + */ + displayName?: string | null; + /** + * Optional. Value representing the average energy of the food for the default serving. + */ + energyAvg?: Schema$EnergyQuantity; + /** + * Optional. Value representing the energy from fat of the food for the default serving. + */ + energyFromFat?: Schema$EnergyQuantity; + /** + * Optional. Value representing the maximum energy of the food for the default serving. + */ + energyMax?: Schema$EnergyQuantity; + /** + * Optional. Value representing the minimum energy of the food for the default serving. + */ + energyMin?: Schema$EnergyQuantity; + /** + * Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code. + */ + languageCode?: string | null; + /** + * Optional. The meal type associated with this food. + */ + mealType?: string | null; + /** + * Optional. Value representing the nutrients of the food for the default serving. + */ + nutrients?: Schema$NutrientQuantity[]; + /** + * Optional. The serving of the food. + */ + servings?: Schema$FoodServing[]; + /** + * Optional. Value representing the total carbohydrate of the food for the default serving. + */ + totalCarbohydrate?: Schema$WeightQuantity; + /** + * Optional. Value representing the total fat of the food for the default serving. + */ + totalFat?: Schema$WeightQuantity; + } + /** + * Represents a food measurement unit. + */ + export interface Schema$FoodMeasurementUnit { + /** + * Required. The display name of the food measurement unit (e.g., "gram", "piece"). + */ + displayName?: string | null; + /** + * Optional. The plural display name of the food measurement unit (e.g., "grams", "pieces"). + */ + pluralDisplayName?: string | null; + } + /** + * Represents different properties and information about the serving of a specific food. + */ + export interface Schema$FoodServing { + /** + * Optional. Amount of food consumed, fractional values are supported. + */ + amount?: number | null; + /** + * Required. Food measurement unit + */ + foodMeasurementUnit?: string | null; + /** + * Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + */ + foodMeasurementUnitDisplayName?: string | null; + /** + * Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + */ + foodMeasurementUnitDisplayNamePlural?: string | null; + /** + * Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + */ + multiplier?: number | null; + } + /** + * Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly. + */ + export interface Schema$GoogleDevicesandservicesHealthV4betaDataType { + /** + * Identifier. The resource name of the data type. Format: `users/{user\}/dataTypes/{data_type\}` See DataPoint.name for examples and possible values. + */ + name?: string | null; + } + /** + * Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly. + */ + export interface Schema$GoogleDevicesandservicesHealthV4betaUser { + /** + * Identifier. The resource name of the user. The `{user\}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user\}` + */ + name?: string | null; + } + /** + * Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint. + */ + export interface Schema$GoogleDevicesandservicesHealthV4betaWebhookNotificationCloudLog { + /** + * Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body. + */ + httpResponse?: Schema$HttpResponse; + } + /** + * Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly. + */ + export interface Schema$GoogleDevicesandservicesHealthV4DataType { + /** + * Identifier. The resource name of the data type. Format: `users/{user\}/dataTypes/{data_type\}` See DataPoint.name for examples and possible values. + */ + name?: string | null; + } + /** + * Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly. + */ + export interface Schema$GoogleDevicesandservicesHealthV4User { + /** + * Identifier. The resource name of the user. The `{user\}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user\}` + */ + name?: string | null; + } + /** + * Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint. + */ + export interface Schema$GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog { + /** + * Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body. + */ + httpResponse?: Schema$HttpResponse; + } + /** + * A single heart beat measurement. + */ + export interface Schema$HeartBeat { + /** + * Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval). + */ + beatsPerMinute?: number | null; + /** + * Output only. The civil time in the timezone the subject is in at the time of the observation. + */ + civilTime?: Schema$CivilDateTime; + /** + * Required. The time of the heart beat measurement. + */ + physicalTime?: string | null; + /** + * Required. The UTC offset of the user's timezone when the heart beat measurement occurred. + */ + utcOffset?: string | null; + } + /** + * A heart rate measurement. + */ + export interface Schema$HeartRate { + /** + * Required. The heart rate value in beats per minute. + */ + beatsPerMinute?: string | null; + /** + * Optional. Metadata about the heart rate sample. + */ + metadata?: Schema$HeartRateMetadata; + /** + * Required. Observation time + */ + sampleTime?: Schema$ObservationSampleTime; + } + /** + * Heart rate metadata. + */ + export interface Schema$HeartRateMetadata { + /** + * Optional. Indicates the user’s level of activity when the heart rate sample was measured + */ + motionContext?: string | null; + /** + * Optional. Indicates the location of the sensor that measured the heart rate. + */ + sensorLocation?: string | null; + } + /** + * Represents the result of the rollup of the heart rate data type. + */ + export interface Schema$HeartRateRollupValue { + /** + * The average heart rate value in the interval. + */ + beatsPerMinuteAvg?: number | null; + /** + * The maximum heart rate value in the interval. + */ + beatsPerMinuteMax?: number | null; + /** + * The minimum heart rate value in the interval. + */ + beatsPerMinuteMin?: number | null; + } + /** + * Captures user's heart rate variability (HRV) as measured by the root mean square of successive differences (RMSSD) between normal heartbeats or by standard deviation of the inter-beat intervals (SDNN). + */ + export interface Schema$HeartRateVariability { + /** + * Optional. Metadata used in 1P surfaces. + */ + metadata?: Schema$HeartRateVariabilityMetadata; + /** + * Optional. The root mean square of successive differences between normal heartbeats. This is a measure of heart rate variability used by Google Health. + */ + rootMeanSquareOfSuccessiveDifferencesMilliseconds?: number | null; + /** + * Required. The time of the heart rate variability measurement. + */ + sampleTime?: Schema$ObservationSampleTime; + /** + * Optional. The standard deviation of the heart rate variability measurement. + */ + standardDeviationMilliseconds?: number | null; + } + /** + * Metadata for HeartRateVariability. + */ + export interface Schema$HeartRateVariabilityMetadata { + /** + * Optional. The power in interbeat interval fluctuations within the high frequency band (0.15 Hz - 0.4 Hz). + */ + highFrequencyPower?: number | null; + /** + * Optional. The power in interbeat interval fluctuations within the low frequency band (0.04 Hz - 0.15 Hz). + */ + lowFrequencyPower?: number | null; + } + /** + * Represents the result of the rollup of the user's daily heart rate variability personal range. + */ + export interface Schema$HeartRateVariabilityPersonalRangeRollupValue { + /** + * The upper bound of the user's average heart rate variability personal range. + */ + averageHeartRateVariabilityMillisecondsMax?: number | null; + /** + * The lower bound of the user's average heart rate variability personal range. + */ + averageHeartRateVariabilityMillisecondsMin?: number | null; + } + /** + * The heart rate zone. + */ + export interface Schema$HeartRateZone { + /** + * Required. The heart rate zone type. + */ + heartRateZoneType?: string | null; + /** + * Required. Maximum heart rate for this zone in beats per minute. + */ + maxBeatsPerMinute?: string | null; + /** + * Required. Minimum heart rate for this zone in beats per minute. + */ + minBeatsPerMinute?: string | null; + } + /** + * Body height measurement. + */ + export interface Schema$Height { + /** + * Required. Height of the user in millimeters. + */ + heightMillimeters?: string | null; + /** + * Required. The time at which the height was recorded. + */ + sampleTime?: Schema$ObservationSampleTime; + } + /** + * 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. + */ + export interface Schema$HttpBody { + /** + * The HTTP Content-Type header value specifying the content type of the body. + */ + contentType?: string | null; + /** + * The HTTP request/response body as raw binary. + */ + data?: string | null; + /** + * Application specific response metadata. Must be set in the first response for streaming APIs. + */ + extensions?: Array<{[key: string]: any}> | null; + } + /** + * Represents an HTTP header. + */ + export interface Schema$HttpHeader { + /** + * The HTTP header key. It is case insensitive. + */ + key?: string | null; + /** + * The HTTP header value. + */ + value?: string | null; + } + /** + * Represents an HTTP response. + */ + export interface Schema$HttpResponse { + /** + * The HTTP response body. If the body is not expected, it should be empty. + */ + body?: string | null; + /** + * The HTTP response headers. The ordering of the headers is significant. Multiple headers with the same key may present for the response. + */ + headers?: Schema$HttpHeader[]; + /** + * The HTTP reason phrase, such as "OK" or "Not Found". + */ + reason?: string | null; + /** + * The HTTP status code, such as 200 or 404. + */ + status?: number | null; + } + /** + * Holds information about a user logged hydration. + */ + export interface Schema$HydrationLog { + /** + * Required. Amount of liquid (ex. water) consumed. + */ + amountConsumed?: Schema$VolumeQuantity; + /** + * Required. Observed interval. + */ + interval?: Schema$SessionTimeInterval; + } + /** + * Represents the result of the rollup of the hydration log data type. + */ + export interface Schema$HydrationLogRollupValue { + /** + * Rollup for amount consumed. + */ + amountConsumed?: Schema$VolumeQuantityRollup; + } + /** + * Represents details about the Google user's identity. + */ + export interface Schema$Identity { + /** + * Output only. The Google User Identifier in the Google Health APIs. It matches the `{user\}` resource ID segment in the resource name paths, e.g. `users/{user\}/dataTypes/steps`. Valid values are strings of 1-63 characters, and valid characters are lowercase and uppercase letters, numbers, and hyphens. + */ + healthUserId?: string | null; + /** + * Output only. The legacy Fitbit User identifier. This is the Fitbit ID used in the legacy Fitbit APIs (v1-v3). It can be referenced by clients migrating from the legacy Fitbit APIs to map their existing identifiers to the new Google user ID. It **must not** be used for any other purpose. It is not of any use for new clients using only the Google Health APIs. Valid values are strings of 1-63 characters, and valid characters are lowercase and uppercase letters, numbers, and hyphens. + */ + legacyUserId?: string | null; + /** + * Identifier. The resource name of this Identity resource. Format: `users/me/identity` + */ + name?: string | null; + } + /** + * 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. + */ + export interface Schema$Interval { + /** + * Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. + */ + endTime?: string | null; + /** + * Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. + */ + startTime?: string | null; + } + /** + * Irregular Rhythm Notifications (IRN) Profile details. The Irregular Rhythm Notifications (IRN) feature checks for signs of atrial fibrillation (AFib). The IrnProfile details include information about the user's onboarding status, enrollment status, and the last update time of analyzable data for this feature. + */ + export interface Schema$IrnProfile { + /** + * Required. Whether or not the user is currently enrolled in having their data processed for IRN alerts. + */ + enrollmentStatus?: boolean | null; + /** + * Identifier. The resource name of this IrnProfile resource. Format: `users/{user\}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + */ + name?: string | null; + /** + * Required. Whether or not the user has onboarded onto the IRN feature. + */ + onboardingStatus?: boolean | null; + /** + * Output only. The timestamp of the last piece of analyzable data synced by the user. + */ + updateTime?: string | null; + } + /** + * Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review. + */ + export interface Schema$IrregularRhythmNotification { + /** + * Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm. + */ + alertWindows?: Schema$AlertWindow[]; + /** + * Required. Observed interval. + */ + interval?: Schema$SessionTimeInterval; + /** + * Output only. The meta information for the compatible device used to conduct the measurement. Irregular Rhythm Notification measurements typically populate `algorithm_version`, `service_version`, and `device_model`. + */ + medicalDeviceInfo?: Schema$MedicalDeviceInfo; + } + /** + * Response containing raw data points matching the query + */ + export interface Schema$ListDataPointsResponse { + /** + * Data points matching the query + */ + dataPoints?: Schema$DataPoint[]; + /** + * Next page token, empty if the response is complete + */ + nextPageToken?: string | null; + } + /** + * Response message for ListPairedDevices. + */ + export interface Schema$ListPairedDevicesResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The paired devices of the user. + */ + pairedDevices?: Schema$PairedDevice[]; + } + /** + * Response message for ListSubscribers. + */ + export interface Schema$ListSubscribersResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Subscribers from the specified project. + */ + subscribers?: Schema$Subscriber[]; + /** + * The total number of subscribers matching the request. + */ + totalSize?: number | null; + } + /** + * Response message for ListSubscriptions. + */ + export interface Schema$ListSubscriptionsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The subscriptions from the specified subscriber. + */ + subscriptions?: Schema$Subscription[]; + } + /** + * Represents the POST body contained in a GetShlManifestRequest This message is nested to represent that See https://build.fhir.org/ig/HL7/smart-health-cards-and-links/links-specification.html#smart-health-link-manifest-request + */ + export interface Schema$ManifestParams { + /** + * Optional. Integer upper bound on the length of embedded payloads + */ + embeddedLengthMax?: number | null; + /** + * Optional. + */ + passcode?: string | null; + /** + * Required. A string describing the recipient (e.g.,the name of an organization or person) suitable for display to the Receiving User + */ + recipient?: string | null; + } + /** + * Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). + */ + export interface Schema$MedicalDeviceInfo { + /** + * Output only. The algorithm version used by the feature. + */ + algorithmVersion?: string | null; + /** + * Output only. The model name or device type of the compatible device used to collect the data. + */ + deviceModel?: string | null; + /** + * Output only. The version of the feature/app running on the device. + */ + featureVersion?: string | null; + /** + * Output only. The firmware version running on the compatible device used to collect the data. + */ + firmwareVersion?: string | null; + /** + * Output only. The service version used by the feature. + */ + serviceVersion?: string | null; + } + /** + * Menstrual period record. + */ + export interface Schema$MenstrualPeriod { + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + /** + * Optional. Standard free-form notes captured at manual logging. + */ + notes?: string | null; + } + /** + * Summary metrics for an exercise. + */ + export interface Schema$MetricsSummary { + /** + * Optional. Total active zone minutes for the exercise. + */ + activeZoneMinutes?: string | null; + /** + * Optional. Average heart rate during the exercise. + */ + averageHeartRateBeatsPerMinute?: string | null; + /** + * Optional. Average pace in seconds per meter. + */ + averagePaceSecondsPerMeter?: number | null; + /** + * Optional. Average speed in millimeters per second. + */ + averageSpeedMillimetersPerSecond?: number | null; + /** + * Optional. Total calories burned by the user during the exercise. + */ + caloriesKcal?: number | null; + /** + * Optional. Total distance covered by the user during the exercise. + */ + distanceMillimeters?: number | null; + /** + * Optional. Total elevation gain during the exercise. + */ + elevationGainMillimeters?: number | null; + /** + * Optional. Time spent in each heart rate zone. + */ + heartRateZoneDurations?: Schema$TimeInHeartRateZones; + /** + * Optional. Mobility workouts specific metrics. Only present in the advanced running exercises. + */ + mobilityMetrics?: Schema$MobilityMetrics; + /** + * Optional. Run VO2 max value for the exercise. Only present in the running exercises at the top level as in the summary of the whole exercise. + */ + runVo2Max?: number | null; + /** + * Optional. Total steps taken during the exercise. + */ + steps?: string | null; + /** + * Optional. Number of full pool lengths completed during the exercise. Only present in the swimming exercises at the top level as in the summary of the whole exercise. + */ + totalSwimLengths?: number | null; + } + /** + * Mobility workouts specific metrics + */ + export interface Schema$MobilityMetrics { + /** + * Optional. Cadence is a measure of the frequency of your foot strikes. Steps / min in real time during workout. + */ + avgCadenceStepsPerMinute?: number | null; + /** + * Optional. The ground contact time for a particular stride is the amount of time for which the foot was in contact with the ground on that stride + */ + avgGroundContactTimeDuration?: string | null; + /** + * Optional. Stride length is a measure of the distance covered by a single stride + */ + avgStrideLengthMillimeters?: string | null; + /** + * Optional. Distance off the ground your center of mass moves with each stride while running + */ + avgVerticalOscillationMillimeters?: string | null; + /** + * Optional. Vertical oscillation/stride length between [5.0, 11.0]. + */ + avgVerticalRatio?: number | null; + } + /** + * Moods record. + */ + export interface Schema$Moods { + /** + * Required. The moods logged. + */ + moods?: string[] | null; + /** + * Required. The time at which moods were measured. + */ + sampleTime?: Schema$ObservationSampleTime; + /** + * Optional. The valences. + */ + valences?: string[] | null; + } + /** + * Represents the quantity of a nutrient. + */ + export interface Schema$NutrientQuantity { + /** + * Required. The nutrient type. + */ + nutrient?: string | null; + /** + * Required. The quantity of the nutrient, measured in grams. + */ + quantity?: Schema$WeightQuantity; + } + /** + * Nutrient quantity rollup. + */ + export interface Schema$NutrientQuantityRollup { + /** + * Required. Aggregated nutrient. + */ + nutrient?: string | null; + /** + * Required. Aggregated nutrient weight. + */ + quantity?: Schema$WeightQuantityRollup; + } + /** + * Holds information about food logged by a user. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not editable. + */ + export interface Schema$NutritionLog { + /** + * Optional. The total energy of the food, measured in kilocalories (`kcal`). + */ + energy?: Schema$EnergyQuantity; + /** + * Optional. The energy from fat, measured in kilocalories (`kcal`). + */ + energyFromFat?: Schema$EnergyQuantity; + /** + * Optional. The resource name of the Food item. Required when creating a nutrition log from an identified food. For anonymous food logs, use the `food_display_name` field instead. + */ + food?: string | null; + /** + * The display name of the food. For identified food logs, this is populated automatically from the referenced food. + */ + foodDisplayName?: string | null; + /** + * Required. The time window when the food was logged. + */ + interval?: Schema$SessionTimeInterval; + /** + * Optional. The meal category. One of `BREAKFAST`, `LUNCH`, `DINNER`, or `SNACK`. + */ + mealType?: string | null; + /** + * Optional. An array of individual nutrient values for the nutrition log. + */ + nutrients?: Schema$NutrientQuantity[]; + /** + * Optional. The serving information for the logged food. + */ + serving?: Schema$Serving; + /** + * Optional. The total carbohydrate content, measured in grams. + */ + totalCarbohydrate?: Schema$WeightQuantity; + /** + * Optional. The total fat content, measured in grams. + */ + totalFat?: Schema$WeightQuantity; + } + /** + * Represents the result of the rollup of the nutrition log data type. + */ + export interface Schema$NutritionLogRollupValue { + /** + * Energy rollup. + */ + energy?: Schema$EnergyQuantityRollup; + /** + * Value Energy from fat rollup. + */ + energyFromFat?: Schema$EnergyQuantityRollup; + /** + * List of the nutrient roll-ups by the nutrient type. + */ + nutrients?: Schema$NutrientQuantityRollup[]; + /** + * Total carbohydrate rollup. + */ + totalCarbohydrate?: Schema$WeightQuantityRollup; + /** + * Total fat rollup. + */ + totalFat?: Schema$WeightQuantityRollup; + } + /** + * Represents a sample time of an observed data point. + */ + export interface Schema$ObservationSampleTime { + /** + * Output only. The civil time in the timezone the subject is in at the time of the observation. + */ + civilTime?: Schema$CivilDateTime; + /** + * Required. The time of the observation. + */ + physicalTime?: string | null; + /** + * Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + */ + utcOffset?: string | null; + } + /** + * Represents a time interval of an observed data point. + */ + export interface Schema$ObservationTimeInterval { + /** + * Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + */ + civilEndTime?: Schema$CivilDateTime; + /** + * Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + */ + civilStartTime?: Schema$CivilDateTime; + /** + * Required. Observed interval end time. + */ + endTime?: string | null; + /** + * Required. The offset of the user's local time at the end of the observation relative to the Coordinated Universal Time (UTC). + */ + endUtcOffset?: string | null; + /** + * Required. Observed interval start time. + */ + startTime?: string | null; + /** + * Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). + */ + startUtcOffset?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * 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. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * 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. + */ + metadata?: {[key: string]: any} | null; + /** + * 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\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * A time interval to represent an out-of-bed segment. + */ + export interface Schema$OutOfBedSegment { + /** + * Required. Segment end time. + */ + endTime?: string | null; + /** + * Required. The offset of the user's local time at the end of the segment relative to the Coordinated Universal Time (UTC). + */ + endUtcOffset?: string | null; + /** + * Required. Segment tart time. + */ + startTime?: string | null; + /** + * Required. The offset of the user's local time at the start of the segment relative to the Coordinated Universal Time (UTC). + */ + startUtcOffset?: string | null; + } + /** + * Ovulation test record. + */ + export interface Schema$OvulationTest { + /** + * Required. The result of the ovulation test. + */ + result?: string | null; + /** + * Required. The time at which ovulation test was measured. + */ + sampleTime?: Schema$ObservationSampleTime; + } + /** + * Captures the user's instantaneous oxygen saturation percentage (SpO2). + */ + export interface Schema$OxygenSaturation { + /** + * Required. The oxygen saturation percentage. Valid values are from 0 to 100. + */ + percentage?: number | null; + /** + * Required. The time at which oxygen saturation was measured. + */ + sampleTime?: Schema$ObservationSampleTime; + } + /** + * User's Paired 1P Device The PairedDevice details include information about the device type, battery status, battery level, last sync time, device version, mac address, and features. + */ + export interface Schema$PairedDevice { + /** + * Output only. The battery level of the device. + */ + batteryLevel?: number | null; + /** + * Output only. The battery status of the device. Supported: High | Medium | Low | Empty + */ + batteryStatus?: string | null; + /** + * Output only. The device type. Supported: TRACKER | SCALE + */ + deviceType?: string | null; + /** + * Output only. The product name of the device + */ + deviceVersion?: string | null; + /** + * Output only. Lists of unique features supported by the device. Comprehensive list of supported features: **Fitness Tracking** - `ACTIVE_MINUTES`: Legacy active minutes. - `AUTOSTRIDE`: Automatic stride length calculation. - `BIKE_ONBOARDING`: Cycling UI support. - `CALORIES`: Daily burned calories. - `DISTANCE`: Daily distance tracking. - `ELEVATION`: Floors climbed. - `INACTIVITY_ALERTS`: Reminders to move. - `SEDENTARY_TIME`: Tracks inactive time. - `STEPS`: Daily steps. - `SWIM`: Swim tracking (laps/strokes). - `AUTORUN`: Automatic run detection. - `ACTIVE_ZONE_MINUTES`: Active Zone Minutes (AZM). **Heart Rate & Health** - `HEART_RATE`: Continuous heart rate (PPG). - `BAT_SIGNAL`: High/Low Heart Rate Alerts. **Advanced Sensors** - `SPO2`: Blood oxygen saturation. - `NIGHTTIME_OXYGEN_SATURATION`: Sleep SpO2. - `ESTIMATED_OXYGEN_VARIATION`: Estimated Oxygen Variation. - `EDA`: Electrodermal Activity (stress). - `SKIN_TEMPERATURE`: Skin temperature variation. - `INTERNAL_DEVICE_TEMPERATURE`: Internal device temperature. **Sleep & Wellness** - `SLEEP`: Basic sleep tracking. - `SMART_SLEEP`: Advanced sleep tracking (stages/score). - `BEDTIME_REMINDER`: Bedtime reminders. - `SOUNDSCAPE`: Snore and noise detection. **Advanced Workouts** - `WB`: Custom Workout Builder. - `AUTOCUES`: Auto Cues / Auto Lap. - `DWR_RUN`: Daily Run Recommendations. - `ADVANCED_RUNNING`: Advanced Running Dynamics (e.g., GCT, VO). **GPS & Location** - `GPS`: Built-in GPS. - `CONNECTED_GPS`: Connected GPS (uses phone). - `LOCATION_HINT`: Location helper. **Payments & NFC** - `PAYMENTS`: NFC payments (Fitbit Pay/Google Wallet). - `FELICA`: FeliCa support (Japan payments/transit). **Activity Detection** - `GROK`: SmartTrack automatic activity detection. - `RETRO_AR`: Retroactive Activity Recognition prompts. **Smart Features & UI** - `ALARMS`: Silent alarms. - `BLE_MUSIC_CONTROL`: BLE music control. - `MUSIC`: Direct music storage/control. - `YOUTUBE_MUSIC_SUPPORTED`: YouTube Music support. - `GALLERY`: App Gallery. - `TUTORIAL_SUPPORTED`: On-screen tutorials. - `SMILEY_EMOTE`: Legacy Zip face. - `MOBILE_TO_DEVICE_DEEPLINK`: Mobile to device settings deep link. - `HIDE_GALLERY`: Option to hide Gallery. - `HIDE_GOAL_SELECTION`: Option to hide goal selection. - `DIGITAL_WARRANTY_SUPPORTED`: Digital warranty display. - `DIRECT_DEVICE_SETTINGS_SUPPORTED`: Direct device settings management. **Gym HR Broadcasting** - `ASPEN_SUPPORTED`: Broadcast HR to gym equipment. - `ASPEN_REMOTE_UI_SUPPORTED`: Remote UI for HR sharing. **Privacy & Security** - `FINITE_IMPROBABILITY`: BLE Resolvable Private Address (RPA) privacy. - `DOMAIN_KEY_SYNC`: Domain key synchronization. **BLE Protocol** - `BONDING`: Secure BLE bonding. - `ADVERTISES_SERIAL`: Advertises serial number. - `STATUS_CHARACTERISTIC`: BLE Status Characteristic. - `TRACKER_CHANNEL_CHARACTERISTIC`: BLE Tracker Channel Characteristic. - `PING_CHARACTERISTIC`: BLE Ping Characteristic. **Cellular & Wi-Fi** - `MOBILE_DATA`: LTE cellular support. - `SINGLE_AP_WIFI`: Single AP Wi-Fi. - `MULTI_AP_WIFI`: Multi AP Wi-Fi. - `WIFI_FWUP`: Firmware updates over Wi-Fi. **Data Sync & Transfer** - `APP_SYNC`: Background app sync. - `LIVE_DATA`: Real-time data streaming. - `EVENT_BASED_SYNC_SUPPORTED`: Event-based sync. - `TIME_SERVICE`: Time synchronization service. - `REMOTE_FILE_PROVIDER`: Remote file transfer. - `DIRECT_COMMS_ALARMS`: Direct communication for alarms. - `DIRECT_COMMS_EXERCISE`: Direct communication for exercise. - `DIRECT_COMMS_BATTERY_ALERTS`: Direct communication for battery alerts. **Google Integrations** - `PARROT_TREE_SUPPORTED`: Find My Device support. + */ + features?: string[] | null; + /** + * Output only. The time of last sync with the Fitbit mobile application. + */ + lastSyncTime?: string | null; + /** + * Output only. Mac ID number of the device. + */ + macAddress?: string | null; + /** + * Identifier. The resource name of this Device resource. Format: `users/{user\}/pairedDevices/{paired_device\}` Example: `users/1234567890/pairedDevices/123` or `users/me/pairedDevices/123` + */ + name?: string | null; + } + /** + * Profile details. + */ + export interface Schema$Profile { + /** + * Optional. The age in years based on the user's birth date. Updates to this field are currently not supported. + */ + age?: number | null; + /** + * Output only. The automatically calculated running stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` + */ + autoRunningStrideLengthMm?: number | null; + /** + * Output only. The automatically calculated walking stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` + */ + autoWalkingStrideLengthMm?: number | null; + /** + * Output only. The date the user created their account. Updates to this field are currently not supported. + */ + membershipStartDate?: Schema$Date; + /** + * Identifier. The resource name of this Profile resource. Format: `users/{user\}/profile` Example: `users/1234567890/profile` or `users/me/profile` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + */ + name?: string | null; + /** + * Optional. The user's user configured running stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` + */ + userConfiguredRunningStrideLengthMm?: number | null; + /** + * Optional. The user's user configured walking stride length, in millimeters. The user must consent to the following access scope to access this field: - `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` + */ + userConfiguredWalkingStrideLengthMm?: number | null; + } + /** + * Response containing the list of reconciled DataPoints. + */ + export interface Schema$ReconcileDataPointsResponse { + /** + * Data points matching the query + */ + dataPoints?: Schema$ReconciledDataPoint[]; + /** + * Next page token, empty if the response is complete + */ + nextPageToken?: string | null; + } + /** + * A reconciled computed or recorded metric. + */ + export interface Schema$ReconciledDataPoint { + /** + * Data for points in the `active-energy-burned` interval data type collection. + */ + activeEnergyBurned?: Schema$ActiveEnergyBurned; + /** + * Data for points in the `active-minutes` interval data type collection. + */ + activeMinutes?: Schema$ActiveMinutes; + /** + * Data for points in the `active-zone-minutes` interval data type collection, measured in minutes. + */ + activeZoneMinutes?: Schema$ActiveZoneMinutes; + /** + * Data for points in the `activity-level` daily data type collection. + */ + activityLevel?: Schema$ActivityLevel; + /** + * Data for points in the `altitude` interval data type collection. + */ + altitude?: Schema$Altitude; + /** + * Data for points in the `basal-energy-burned` interval data type collection. + */ + basalEnergyBurned?: Schema$BasalEnergyBurned; + /** + * Data for points in the `blood-glucose` sample data type collection. + */ + bloodGlucose?: Schema$BloodGlucose; + /** + * Data for points in the `body-fat` sample data type collection. + */ + bodyFat?: Schema$BodyFat; + /** + * Data for points in the `core-body-temperature` sample data type collection. + */ + coreBodyTemperature?: Schema$CoreBodyTemperature; + /** + * Data for points in the `daily-heart-rate-variability` daily data type collection. + */ + dailyHeartRateVariability?: Schema$DailyHeartRateVariability; + /** + * Data for points in the `daily-heart-rate-zones` daily data type collection. + */ + dailyHeartRateZones?: Schema$DailyHeartRateZones; + /** + * Data for points in the `daily-oxygen-saturation` daily data type collection. + */ + dailyOxygenSaturation?: Schema$DailyOxygenSaturation; + /** + * Data for points in the `daily-respiratory-rate` daily data type collection. + */ + dailyRespiratoryRate?: Schema$DailyRespiratoryRate; + /** + * Data for points in the `daily-resting-heart-rate` daily data type collection. + */ + dailyRestingHeartRate?: Schema$DailyRestingHeartRate; + /** + * Data for points in the `daily-sleep-temperature-derivations` daily data type collection. + */ + dailySleepTemperatureDerivations?: Schema$DailySleepTemperatureDerivations; + /** + * Data for points in the `daily-vo2-max` daily data type collection. + */ + dailyVo2Max?: Schema$DailyVO2Max; + /** + * Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user\}/dataTypes/{data_type\}/dataPoints/{data_point\}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user\}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type\}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point\}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + */ + dataPointName?: string | null; + /** + * Data for points in the `distance` interval data type collection. + */ + distance?: Schema$Distance; + /** + * Data for points in the `exercise` session data type collection. + */ + exercise?: Schema$Exercise; + /** + * Data for points in the `floors` interval data type collection. + */ + floors?: Schema$Floors; + /** + * Data for points in the `heart-rate` sample data type collection. + */ + heartRate?: Schema$HeartRate; + /** + * Data for points in the `heart-rate-variability` sample data type collection. + */ + heartRateVariability?: Schema$HeartRateVariability; + /** + * Data for points in the `height` sample data type collection. + */ + height?: Schema$Height; + /** + * Data for points in the `hydration-log` session data type collection. + */ + hydrationLog?: Schema$HydrationLog; + /** + * Data for points in the `nutrition-log` session data type collection. + */ + nutritionLog?: Schema$NutritionLog; + /** + * Data for points in the `oxygen-saturation` sample data type collection. + */ + oxygenSaturation?: Schema$OxygenSaturation; + /** + * Data for points in the `respiratory-rate-sleep-summary` sample data type collection. + */ + respiratoryRateSleepSummary?: Schema$RespiratoryRateSleepSummary; + /** + * Data for points in the `run-vo2-max` sample data type collection. + */ + runVo2Max?: Schema$RunVO2Max; + /** + * Data for points in the `sedentary-period` interval data type collection. + */ + sedentaryPeriod?: Schema$SedentaryPeriod; + /** + * Data for points in the `sleep` session data type collection. + */ + sleep?: Schema$Sleep; + /** + * Data for points in the `steps` interval data type collection. + */ + steps?: Schema$Steps; + /** + * Data for points in the `swim-lengths-data` interval data type collection. + */ + swimLengthsData?: Schema$SwimLengthsData; + /** + * Data for points in the `time-in-heart-rate-zone` interval data type collection. + */ + timeInHeartRateZone?: Schema$TimeInHeartRateZone; + /** + * Data for points in the `vo2-max` sample data type collection. + */ + vo2Max?: Schema$VO2Max; + /** + * Data for points in the `weight` sample data type collection. + */ + weight?: Schema$Weight; + } + /** + * Records respiratory rate details during sleep. Can have multiple per day if the user sleeps multiple times. + */ + export interface Schema$RespiratoryRateSleepSummary { + /** + * Optional. Respiratory rate statistics for deep sleep. + */ + deepSleepStats?: Schema$RespiratoryRateSleepSummaryStatistics; + /** + * Required. Full respiratory rate statistics. + */ + fullSleepStats?: Schema$RespiratoryRateSleepSummaryStatistics; + /** + * Optional. Respiratory rate statistics for light sleep. + */ + lightSleepStats?: Schema$RespiratoryRateSleepSummaryStatistics; + /** + * Optional. Respiratory rate statistics for REM sleep. + */ + remSleepStats?: Schema$RespiratoryRateSleepSummaryStatistics; + /** + * Required. The time at which respiratory rate was measured. + */ + sampleTime?: Schema$ObservationSampleTime; + } + /** + * Respiratory rate statistics for a given sleep stage. + */ + export interface Schema$RespiratoryRateSleepSummaryStatistics { + /** + * Required. Average breaths per minute. + */ + breathsPerMinute?: number | null; + /** + * Optional. How trustworthy the data is for the computation. + */ + signalToNoise?: number | null; + /** + * Optional. Standard deviation of the respiratory rate during sleep. + */ + standardDeviation?: number | null; + } + /** + * Represents the rollup value for the daily resting heart rate data type. + */ + export interface Schema$RestingHeartRatePersonalRangeRollupValue { + /** + * The upper bound of the user's daily resting heart rate personal range. + */ + beatsPerMinuteMax?: number | null; + /** + * The lower bound of the user's daily resting heart rate personal range. + */ + beatsPerMinuteMin?: number | null; + } + /** + * Value of a rollup for a single physical time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn. + */ + export interface Schema$RollupDataPoint { + /** + * Returned by default when rolling up data points from the `active-energy-burned` data type. + */ + activeEnergyBurned?: Schema$ActiveEnergyBurnedRollupValue; + /** + * Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier. + */ + activeMinutes?: Schema$ActiveMinutesRollupValue; + /** + * Returned by default when rolling up data points from the `active-zone-minutes` data type, or when requested explicitly using the `active-zone-minutes` rollup type identifier. + */ + activeZoneMinutes?: Schema$ActiveZoneMinutesRollupValue; + /** + * Returned by default when rolling up data points from the `activity-level` data type, or when requested explicitly using the `activity-level` rollup type identifier. + */ + activityLevel?: Schema$ActivityLevelRollupValue; + /** + * Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier. + */ + altitude?: Schema$AltitudeRollupValue; + /** + * Returned by default when rolling up data points from the `blood-glucose` data type. + */ + bloodGlucose?: Schema$BloodGlucoseRollupValue; + /** + * Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier. + */ + bodyFat?: Schema$BodyFatRollupValue; + /** + * Returned by default when rolling up data points from the `calories-in-heart-rate-zone` data type, or when requested explicitly using the `calories-in-heart-rate-zone` rollup type identifier. + */ + caloriesInHeartRateZone?: Schema$CaloriesInHeartRateZoneRollupValue; + /** + * Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier. + */ + coreBodyTemperature?: Schema$CoreBodyTemperatureRollupValue; + /** + * Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier. + */ + distance?: Schema$DistanceRollupValue; + /** + * End time of the window this value aggregates over + */ + endTime?: string | null; + /** + * Returned by default when rolling up data points from the `floors` data type, or when requested explicitly using the `floors` rollup type identifier. + */ + floors?: Schema$FloorsRollupValue; + /** + * Returned by default when rolling up data points from the `heart-rate` data type, or when requested explicitly using the `heart-rate` rollup type identifier. + */ + heartRate?: Schema$HeartRateRollupValue; + /** + * Returned by default when rolling up data points from the `hydration-log` data type, or when requested explicitly using the `hydration-log` rollup type identifier. + */ + hydrationLog?: Schema$HydrationLogRollupValue; + /** + * Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier. + */ + nutritionLog?: Schema$NutritionLogRollupValue; + /** + * Returned by default when rolling up data points from the `run-vo2-max` data type, or when requested explicitly using the `run-vo2-max` rollup type identifier. + */ + runVo2Max?: Schema$RunVO2MaxRollupValue; + /** + * Returned by default when rolling up data points from the `sedentary-period` data type, or when requested explicitly using the `sedentary-period` rollup type identifier. + */ + sedentaryPeriod?: Schema$SedentaryPeriodRollupValue; + /** + * Start time of the window this value aggregates over + */ + startTime?: string | null; + /** + * Returned by default when rolling up data points from the `steps` data type, or when requested explicitly using the `steps` rollup type identifier. + */ + steps?: Schema$StepsRollupValue; + /** + * Returned by default when rolling up data points from the `swim-lengths-data` data type, or when requested explicitly using the `swim-lengths-data` rollup type identifier. + */ + swimLengthsData?: Schema$SwimLengthsDataRollupValue; + /** + * Returned by default when rolling up data points from the `time-in-heart-rate-zone` data type, or when requested explicitly using the `time-in-heart-rate-zone` rollup type identifier. + */ + timeInHeartRateZone?: Schema$TimeInHeartRateZoneRollupValue; + /** + * Returned by default when rolling up data points from the `total-calories` data type, or when requested explicitly using the `total-calories` rollup type identifier. + */ + totalCalories?: Schema$TotalCaloriesRollupValue; + /** + * Returned by default when rolling up data points from the `weight` data type, or when requested explicitly using the `weight` rollup type identifier. + */ + weight?: Schema$WeightRollupValue; + } + /** + * Request to roll up data points by physical time intervals. + */ + export interface Schema$RollUpDataPointsRequest { + /** + * Optional. The data source family name to roll up. If empty, data points from all available data sources will be rolled up. Format: `users/me/dataSourceFamilies/{data_source_family\}` The supported values are: - `users/me/dataSourceFamilies/all-sources` - Default value. Includes data from all available data sources. - `users/me/dataSourceFamilies/google-wearables` - Includes data from Google and Fitbit tracker devices (such as Fitbit trackers and Pixel Watch). Excludes manually logged data. - `users/me/dataSourceFamilies/google-sources` - Includes first-party Google data, such as data from tracker devices, manually logged data, and Health Connect. + */ + dataSourceFamily?: string | null; + /** + * Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. + */ + pageSize?: number | null; + /** + * Optional. The next_page_token from a previous request, if any. All other request fields need to be the same as in the initial request when the page token is specified. + */ + pageToken?: string | null; + /** + * Required. Closed-open range of data points that will be rolled up. The maximum range for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes` and `total-calories` is 14 days. The maximum range for all other data types is 90 days. + */ + range?: Schema$Interval; + /** + * Required. The size of the time window to group data points into before applying the aggregation functions. Must be at least 1 second. If the requested range is not an exact multiple of `window_size`, the final bucket chronologically will be truncated at the upper endpoint of the range and will cover a duration shorter than `window_size`. + */ + windowSize?: string | null; + } + /** + * Response containing the list of rolled up data points. + */ + export interface Schema$RollUpDataPointsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Values for each aggregation time window. + */ + rollupDataPoints?: Schema$RollupDataPoint[]; + } + /** + * VO2 max value calculated based on the user's running activity. Value stored in ml/kg/min. + */ + export interface Schema$RunVO2Max { + /** + * Required. Run VO2 max value in ml/kg/min. + */ + runVo2Max?: number | null; + /** + * Required. The time at which the metric was measured. + */ + sampleTime?: Schema$ObservationSampleTime; + } + /** + * Represents the result of the rollup of the user's daily heart rate variability personal range. + */ + export interface Schema$RunVO2MaxRollupValue { + /** + * Average value of run VO2 max in the interval. + */ + rateAvg?: number | null; + /** + * Maximum value of run VO2 max in the interval. + */ + rateMax?: number | null; + /** + * Minimum value of run VO2 max in the interval.. + */ + rateMin?: number | null; + } + /** + * SedentaryPeriod SedentaryPeriod data represents the periods of time that the user was sedentary (i.e. not moving while wearing the device). + */ + export interface Schema$SedentaryPeriod { + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + } + /** + * Represents the result of the rollup of the user's sedentary periods. + */ + export interface Schema$SedentaryPeriodRollupValue { + /** + * The total time user spent sedentary during the interval. + */ + durationSum?: string | null; + } + /** + * Represents different properties and information about the serving of a specific food. + */ + export interface Schema$Serving { + /** + * Optional. The number of servings. + */ + amount?: number | null; + /** + * Required. Food measurement unit + */ + foodMeasurementUnit?: string | null; + /** + * Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + */ + foodMeasurementUnitDisplayName?: string | null; + } + /** + * Represents a time interval of session data point, which bundles multiple observed metrics together. + */ + export interface Schema$SessionTimeInterval { + /** + * Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + */ + civilEndTime?: Schema$CivilDateTime; + /** + * Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + */ + civilStartTime?: Schema$CivilDateTime; + /** + * Required. The end time of the observed session. + */ + endTime?: string | null; + /** + * Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + */ + endUtcOffset?: string | null; + /** + * Required. The start time of the observed session. + */ + startTime?: string | null; + /** + * Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + */ + startUtcOffset?: string | null; + } + /** + * Settings details. + */ + export interface Schema$Settings { + /** + * Optional. True if the user's stride length is determined automatically. Updates to this field are currently not supported. + */ + autoStrideEnabled?: boolean | null; + /** + * Optional. The measurement unit defined in the user's account settings. + */ + distanceUnit?: string | null; + /** + * Output only. The food language code derived from the user's food database. Possible values: `'en-US'`, `'en-GB'`, `'de-DE'`, `'es-ES'`, `'fr-FR'`, `'zh-CN'`, `'zh-TW'`, `'ja-JP'`, `'en-AU'`, `'en-CA'`, `'it-IT'`, `'ko-KR'`, `'es-MX'`, `'en-IN'`, `'en-SG'`, `'en-PH'`, `'en-IE'`, `'fr-CA'`. Updates to this field are currently not supported. + */ + foodLanguageCode?: string | null; + /** + * Optional. The measurement unit defined in the user's account settings. + */ + glucoseUnit?: string | null; + /** + * Optional. The measurement unit defined in the user's account settings. + */ + heightUnit?: string | null; + /** + * Optional. The locale defined in the user's account settings. Updates to this field are currently not supported. + */ + languageLocale?: string | null; + /** + * Identifier. The resource name of this Settings resource. Format: `users/{user\}/settings` Example: `users/1234567890/settings` or `users/me/settings` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + */ + name?: string | null; + /** + * Optional. The stride length type defined in the user's account settings for running. Updates to this field are currently not supported. + */ + strideLengthRunningType?: string | null; + /** + * Optional. The stride length type defined in the user's account settings for walking. Updates to this field are currently not supported. + */ + strideLengthWalkingType?: string | null; + /** + * Optional. The measurement unit defined in the user's account settings. + */ + swimUnit?: string | null; + /** + * Optional. The measurement unit defined in the user's account settings. + */ + temperatureUnit?: string | null; + /** + * Optional. The timezone defined in the user's account settings. This follows the IANA [Time Zone Database](https://www.iana.org/time-zones). Updates to this field are currently not supported. + */ + timeZone?: string | null; + /** + * Optional. The user's timezone offset relative to UTC. Updates to this field are currently not supported. + */ + utcOffset?: string | null; + /** + * Optional. The measurement unit defined in the user's account settings. + */ + waterUnit?: string | null; + /** + * Optional. The measurement unit defined in the user's account settings. + */ + weightUnit?: string | null; + } + /** + * A sleep session possibly including stages. + */ + export interface Schema$Sleep { + /** + * Output only. Creation time of this sleep observation. + */ + createTime?: string | null; + /** + * Required. Observed sleep interval. + */ + interval?: Schema$SessionTimeInterval; + /** + * Optional. Sleep metadata: `processed`, `main_sleep`, `manually_edited`, and `stages_status`. + */ + metadata?: Schema$SleepMetadata; + /** + * Optional. “Out of bed” segments that can overlap with sleep stages. + */ + outOfBedSegments?: Schema$OutOfBedSegment[]; + /** + * Output only. List of short awake segments (under a set threshold) that are part of the sleep session. These can overlap with sleep stages. + */ + shortAwakenings?: Schema$SleepStage[]; + /** + * Optional. List of non-overlapping contiguous sleep stage segments that cover the sleep period. + */ + stages?: Schema$SleepStage[]; + /** + * Output only. Sleep summary: metrics and stages summary. + */ + summary?: Schema$SleepSummary; + /** + * Optional. SleepType: classic or stages. + */ + type?: string | null; + /** + * Output only. Last update time of this sleep observation. + */ + updateTime?: string | null; + } + /** + * Additional information about how the sleep was processed. + */ + export interface Schema$SleepMetadata { + /** + * Optional. Sleep identifier relevant in the context of the data source. + */ + externalId?: string | null; + /** + * Output only. `main_sleep`: the longest sleep session with stages within one day. If no sleep session has stages, then the longest sleep is the `main_sleep`. If there are multiple days of sleep in the response, there is one `main_sleep` per day. + */ + mainSleep?: boolean | null; + /** + * Output only. Some sleeps autodetected by algorithms can be manually edited by users. + */ + manuallyEdited?: boolean | null; + /** + * Output only. Naps are sleeps without stages and relatively short durations. + */ + nap?: boolean | null; + /** + * Output only. Sleep and sleep stages algorithms finished processing. A `true` value indicates whether all data processing for the session is complete. A `false` value means sleep period is detected but sleep stages is still processing. + */ + processed?: boolean | null; + /** + * Output only. Sleep stages algorithm processing status. + */ + stagesStatus?: string | null; + } + /** + * Sleep stage segment. + */ + export interface Schema$SleepStage { + /** + * Output only. Creation time of this sleep stages segment. + */ + createTime?: string | null; + /** + * Required. Sleep stage end time. + */ + endTime?: string | null; + /** + * Required. The offset of the user's local time at the end of the sleep stage relative to the Coordinated Universal Time (UTC). + */ + endUtcOffset?: string | null; + /** + * Required. Sleep stage start time. + */ + startTime?: string | null; + /** + * Required. The offset of the user's local time at the start of the sleep stage relative to the Coordinated Universal Time (UTC). + */ + startUtcOffset?: string | null; + /** + * Required. Sleep stage type: AWAKE, DEEP, REM, LIGHT etc. + */ + type?: string | null; + /** + * Output only. Last update time of this sleep stages segment. + */ + updateTime?: string | null; + } + /** + * Sleep summary: metrics and stages summary. + */ + export interface Schema$SleepSummary { + /** + * Output only. Minutes after wake up calculated by restlessness algorithm. + */ + minutesAfterWakeUp?: string | null; + /** + * Output only. Total number of minutes asleep. For classic sleep it is the sum of ASLEEP stages (excluding AWAKE and RESTLESS). For "stages" sleep it is the sum of LIGHT, REM and DEEP stages (excluding AWAKE). + */ + minutesAsleep?: string | null; + /** + * Output only. Total number of minutes awake. It is a sum of all AWAKE stages. + */ + minutesAwake?: string | null; + /** + * Output only. Delta between wake time and bedtime. It is the sum of all stages. + */ + minutesInSleepPeriod?: string | null; + /** + * Output only. Minutes to fall asleep calculated by restlessness algorithm. + */ + minutesToFallAsleep?: string | null; + /** + * Output only. List of summaries (total duration and segment count) per each sleep stage type. + */ + stagesSummary?: Schema$StageSummary[]; + } + /** + * Represents splits or laps recorded within an exercise. Lap events partition a workout into segments based on criteria like distance, time, or calories. + */ + export interface Schema$SplitSummary { + /** + * Output only. Lap time excluding the pauses. + */ + activeDuration?: string | null; + /** + * Required. Lap end time + */ + endTime?: string | null; + /** + * Required. Lap end time offset from UTC + */ + endUtcOffset?: string | null; + /** + * Required. Summary metrics for this split. + */ + metricsSummary?: Schema$MetricsSummary; + /** + * Required. Method used to split the exercise laps. Users may manually mark the lap as complete even if the tracking is automatic. + */ + splitType?: string | null; + /** + * Required. Lap start time + */ + startTime?: string | null; + /** + * Required. Lap start time offset from UTC + */ + startUtcOffset?: string | null; + } + /** + * Total duration and segment count for a stage. + */ + export interface Schema$StageSummary { + /** + * Output only. Number of sleep stages segments. + */ + count?: string | null; + /** + * Output only. Total duration in minutes of a sleep stage. + */ + minutes?: string | null; + /** + * Output only. Sleep stage type: AWAKE, DEEP, REM, LIGHT etc. + */ + type?: string | null; + } + /** + * 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). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * 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. + */ + message?: string | null; + } + /** + * Step count over the time interval. + */ + export interface Schema$Steps { + /** + * Required. Number of steps in the recorded interval. + */ + count?: string | null; + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + } + /** + * Represents the result of the rollup of the steps data type. + */ + export interface Schema$StepsRollupValue { + /** + * Total number of steps in the interval. + */ + countSum?: string | null; + } + /** + * -- Resource Messages -- A subscriber receives notifications from Google Health API. + */ + export interface Schema$Subscriber { + /** + * Output only. The time at which the subscriber was created. + */ + createTime?: string | null; + /** + * Required. Authorization mechanism for a subscriber endpoint. This is required to ensure the endpoint can be verified. + */ + endpointAuthorization?: Schema$EndpointAuthorization; + /** + * Required. The full HTTPS URI where update notifications will be sent. The URI must be a valid URL and use HTTPS as the scheme. This endpoint will be verified during CreateSubscriber and UpdateSubscriber calls. See RPC documentation for verification details. + */ + endpointUri?: string | null; + /** + * Identifier. The resource name of the Subscriber. Format: projects/{project\}/subscribers/{subscriber\} The {project\} ID is a Google Cloud Project ID or Project Number. The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise (e.g., a UUID). Example (User-settable subscriber ID): projects/my-project/subscribers/my-sub-123 Example (System-generated subscriber ID): projects/my-project/subscribers/a1b2c3d4-e5f6-7890-1234-567890abcdef + */ + name?: string | null; + /** + * Output only. The state of the subscriber. + */ + state?: string | null; + /** + * Optional. Configuration for the subscriber. + */ + subscriberConfigs?: Schema$SubscriberConfig[]; + /** + * Output only. The time at which the subscriber was last updated. + */ + updateTime?: string | null; + } + /** + * Configuration for a subscriber. A notification is sent to a subscription ONLY if the subscriber has a config for the data type. + */ + export interface Schema$SubscriberConfig { + /** + * Required. See [Google Health API data types](https://developers.google.com/health/data-types) for the list of supported data types. Values should be in kebab-case. + */ + dataTypes?: string[] | null; + /** + * Required. Policy for subscription creation. + */ + subscriptionCreatePolicy?: string | null; + } + /** + * A subscription to a data collection for a specific user, to be delivered to a subscriber. + */ + export interface Schema$Subscription { + /** + * Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format "users/{health_user_id\}/dataTypes/{data_type\}" where `{data_type\}` is one of "altitude", "distance", "floors", "sleep", "steps", "weight". + */ + dataTypes?: string[] | null; + /** + * Identifier. The resource name of the Subscription. Format: `projects/{project\}/subscribers/{subscriber\}/subscriptions/{subscription\}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project\} ID is mandatory (6-30 characters, matching /a-z{6,30\}/) The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription\} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated otherwise. + */ + name?: string | null; + /** + * Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user\}` where `{user\}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`). + */ + user?: string | null; + } + /** + * Swim lengths data over the time interval. + */ + export interface Schema$SwimLengthsData { + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + /** + * Required. Number of strokes in the lap. + */ + strokeCount?: string | null; + /** + * Required. Swim stroke type. + */ + swimStrokeType?: string | null; + } + /** + * Represents the result of the rollup of the swim lengths data type. + */ + export interface Schema$SwimLengthsDataRollupValue { + /** + * Total number of swim strokes in the interval. + */ + strokeCountSum?: string | null; + } + /** + * Symptoms logged by the user. + */ + export interface Schema$Symptoms { + /** + * Required. Time when the symptoms were logged. + */ + sampleTime?: Schema$ObservationSampleTime; + /** + * Required. List of symptoms experienced. + */ + symptoms?: string[] | null; + } + /** + * Time in heart rate zone record. It's an interval spent in specific heart rate zone. + */ + export interface Schema$TimeInHeartRateZone { + /** + * Required. Heart rate zone type. + */ + heartRateZoneType?: string | null; + /** + * Required. Observed interval. + */ + interval?: Schema$ObservationTimeInterval; + } + /** + * Represents the result of the rollup of the time in heart rate zone data type. + */ + export interface Schema$TimeInHeartRateZoneRollupValue { + /** + * List of time spent in each heart rate zone. + */ + timeInHeartRateZones?: Schema$TimeInHeartRateZoneValue[]; + } + /** + * Time spent in each heart rate zone. + */ + export interface Schema$TimeInHeartRateZones { + /** + * Optional. Time spent in light heart rate zone. + */ + lightTime?: string | null; + /** + * Optional. Time spent in moderate heart rate zone. + */ + moderateTime?: string | null; + /** + * Optional. Time spent in peak heart rate zone. + */ + peakTime?: string | null; + /** + * Optional. Time spent in vigorous heart rate zone. + */ + vigorousTime?: string | null; + } + /** + * Represents the total time spent in a specific heart rate zone. + */ + export interface Schema$TimeInHeartRateZoneValue { + /** + * The total time spent in the specified heart rate zone. + */ + duration?: string | null; + /** + * The heart rate zone. + */ + heartRateZone?: string | null; + } + /** + * 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`. + */ + export interface Schema$TimeOfDay { + /** + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + */ + hours?: number | null; + /** + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + */ + minutes?: number | null; + /** + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + */ + nanos?: number | null; + /** + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + */ + seconds?: number | null; + } + /** + * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). + */ + export interface Schema$TimeZone { + /** + * IANA Time Zone Database time zone. For example "America/New_York". + */ + id?: string | null; + /** + * Optional. IANA Time Zone Database version number. For example "2019a". + */ + version?: string | null; + } + /** + * Represents the result of the rollup of the user's total calories. Note: Queries for the `total-calories` data type must include a time interval filter (such as `total_calories.interval.start_time` or `total_calories.interval.civil_start_time`). The maximum range is 14 days. Example filter query: `total_calories.interval.start_time \>= "2026-04-20T00:00:00Z" AND total_calories.interval.start_time < "2026-04-21T00:00:00Z"` + */ + export interface Schema$TotalCaloriesRollupValue { + /** + * Sum of the total calories in kilocalories. + */ + kcalSum?: number | null; + } + /** + * VO2 max measurement. + */ + export interface Schema$VO2Max { + /** + * Optional. The method used to measure the VO2 max value. + */ + measurementMethod?: string | null; + /** + * Required. The time at which VO2 max was measured. + */ + sampleTime?: Schema$ObservationSampleTime; + /** + * Required. VO2 max value measured as in ml consumed oxygen / kg of body weight / min. + */ + vo2Max?: number | null; + } + /** + * Represents the volume quantity. + */ + export interface Schema$VolumeQuantity { + /** + * Required. Value representing the volume in milliliters. + */ + milliliters?: number | null; + /** + * Optional. Value representing the user provided unit, used only for user-facing input and display purposes. In the API format, all volume quantities are converted to milliliters. + */ + userProvidedUnit?: string | null; + } + /** + * Rollup for volume quantity. + */ + export interface Schema$VolumeQuantityRollup { + /** + * Required. The sum of volume in milliliters. + */ + millilitersSum?: number | null; + /** + * Optional. The user provided unit on the last element. + */ + userProvidedUnitLast?: string | null; + } + /** + * Body weight measurement. + */ + export interface Schema$Weight { + /** + * Optional. Standard free-form notes captured at manual logging. + */ + notes?: string | null; + /** + * Required. The time at which the weight was measured + */ + sampleTime?: Schema$ObservationSampleTime; + /** + * Required. Weight of a user in grams. + */ + weightGrams?: number | null; + } + /** + * Represents the weight quantity. + */ + export interface Schema$WeightQuantity { + /** + * Required. The weight value in grams. + */ + grams?: number | null; + /** + * Optional. Value representing the user provided unit. + */ + userProvidedUnit?: string | null; + } + /** + * Rollup for the weight. + */ + export interface Schema$WeightQuantityRollup { + /** + * Required. The sum of the weight in grams. + */ + gramsSum?: number | null; + /** + * Optional. The user provided unit on the last element. + */ + userProvidedUnitLast?: string | null; + } + /** + * Represents the result of the rollup of the weight data type. + */ + export interface Schema$WeightRollupValue { + /** + * Average weight in grams. + */ + weightGramsAvg?: number | null; + } + + export class Resource$Projects { + context: APIRequestContext; + subscribers: Resource$Projects$Subscribers; + constructor(context: APIRequestContext) { + this.context = context; + this.subscribers = new Resource$Projects$Subscribers(this.context); + } + } + + export class Resource$Projects$Subscribers { + context: APIRequestContext; + subscriptions: Resource$Projects$Subscribers$Subscriptions; + constructor(context: APIRequestContext) { + this.context = context; + this.subscriptions = new Resource$Projects$Subscribers$Subscriptions( + this.context + ); + } + + /** + * Registers a new subscriber endpoint to receive notifications. A subscriber represents an application or service that wishes to receive data change notifications for users who have granted consent. **Endpoint Verification:** For a subscriber to be successfully created, the provided `endpoint_uri` must be a valid HTTPS endpoint and must pass an automated verification check. The backend will send two HTTP POST requests to the `endpoint_uri`: 1. **Verification with Authorization:** * **Headers:** Includes `Content-Type: application/json` and `Authorization` (with the exact value from `CreateSubscriberPayload.endpoint_authorization.secret`). * **Body:** `{"type": "verification"\}` * **Expected Response:** HTTP `201 Created`. 2. **Verification without Authorization:** * **Headers:** Includes `Content-Type: application/json`. The `Authorization` header is OMITTED. * **Body:** `{"type": "verification"\}` * **Expected Response:** HTTP `401 Unauthorized` or `403 Forbidden`. Both tests must pass for the subscriber creation to succeed. If verification fails, the operation will not be completed and an error will be returned. This process ensures the endpoint is reachable and correctly validates the `Authorization` header. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.projects.subscribers.create({ + * // Required. The parent resource where this subscriber will be created. Format: projects/{project_number\} Example: projects/1234567890 + * parent: 'projects/my-project', + * // Optional. The ID to use for the subscriber, which will become the final component of the subscriber's resource name. This value should be 4-36 characters, and valid characters are /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/. + * subscriberId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "endpointAuthorization": {}, + * // "endpointUri": "my_endpointUri", + * // "subscriberConfigs": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Subscribers$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Subscribers$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Subscribers$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Subscribers$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Subscribers$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Subscribers$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Subscribers$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Subscribers$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/subscribers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a subscriber registration. This will stop all notifications to the subscriber's endpoint. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.projects.subscribers.delete({ + * // Optional. If set to true, any child resources (e.g., subscriptions) will also be deleted. If false (default) and child resources exist, the request will fail. + * force: 'placeholder-value', + * // Required. The name of the subscriber to delete. Format: projects/{project\}/subscribers/{subscriber\} Example: projects/my-project/subscribers/my-subscriber-123 The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated if not provided during creation. + * name: 'projects/my-project/subscribers/my-subscriber', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Subscribers$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Subscribers$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Subscribers$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Subscribers$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Subscribers$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Subscribers$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Subscribers$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Subscribers$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all subscribers registered within the owned Google Cloud Project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.projects.subscribers.list({ + * // Optional. The maximum number of subscribers to return. The service may return fewer than this value. If unspecified, at most 50 subscribers will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListSubscribers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscribers` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of subscribers. Format: projects/{project\} + * parent: 'projects/my-project', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "subscribers": [], + * // "totalSize": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Subscribers$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Subscribers$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Subscribers$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Subscribers$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Subscribers$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Subscribers$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Subscribers$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Subscribers$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/subscribers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the configuration of an existing subscriber, such as the endpoint URI or the data types it's interested in. **Endpoint Verification:** If the `endpoint_uri` or `endpoint_authorization` field is included in the `update_mask`, the backend will re-verify the endpoint. The verification process is the same as described in `CreateSubscriber`: 1. **Verification with Authorization:** POST to the new or existing `endpoint_uri` with the new or existing `Authorization` secret. Expects HTTP `201 Created`. 2. **Verification without Authorization:** POST to the `endpoint_uri` without the `Authorization` header. Expects HTTP `401 Unauthorized` or `403 Forbidden`. Both tests must pass using the potentially updated values for the subscriber update to succeed. If verification fails, the update will not be applied, and an error will be returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.projects.subscribers.patch({ + * // Identifier. The resource name of the Subscriber. Format: projects/{project\}/subscribers/{subscriber\} The {project\} ID is a Google Cloud Project ID or Project Number. The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise (e.g., a UUID). Example (User-settable subscriber ID): projects/my-project/subscribers/my-sub-123 Example (System-generated subscriber ID): projects/my-project/subscribers/a1b2c3d4-e5f6-7890-1234-567890abcdef + * name: 'projects/my-project/subscribers/my-subscriber', + * // Optional. A field mask that specifies which fields of the Subscriber message are to be updated. This allows for partial updates. Supported fields: - endpoint_uri - subscriber_configs - endpoint_authorization + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "endpointAuthorization": {}, + * // "endpointUri": "my_endpointUri", + * // "name": "my_name", + * // "state": "my_state", + * // "subscriberConfigs": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Subscribers$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Subscribers$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Subscribers$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Subscribers$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Subscribers$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Subscribers$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Subscribers$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Subscribers$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Subscribers$Create extends StandardParameters { + /** + * Required. The parent resource where this subscriber will be created. Format: projects/{project_number\} Example: projects/1234567890 + */ + parent?: string; + /** + * Optional. The ID to use for the subscriber, which will become the final component of the subscriber's resource name. This value should be 4-36 characters, and valid characters are /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/. + */ + subscriberId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CreateSubscriberPayload; + } + export interface Params$Resource$Projects$Subscribers$Delete extends StandardParameters { + /** + * Optional. If set to true, any child resources (e.g., subscriptions) will also be deleted. If false (default) and child resources exist, the request will fail. + */ + force?: boolean; + /** + * Required. The name of the subscriber to delete. Format: projects/{project\}/subscribers/{subscriber\} Example: projects/my-project/subscribers/my-subscriber-123 The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated if not provided during creation. + */ + name?: string; + } + export interface Params$Resource$Projects$Subscribers$List extends StandardParameters { + /** + * Optional. The maximum number of subscribers to return. The service may return fewer than this value. If unspecified, at most 50 subscribers will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListSubscribers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscribers` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of subscribers. Format: projects/{project\} + */ + parent?: string; + } + export interface Params$Resource$Projects$Subscribers$Patch extends StandardParameters { + /** + * Identifier. The resource name of the Subscriber. Format: projects/{project\}/subscribers/{subscriber\} The {project\} ID is a Google Cloud Project ID or Project Number. The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise (e.g., a UUID). Example (User-settable subscriber ID): projects/my-project/subscribers/my-sub-123 Example (System-generated subscriber ID): projects/my-project/subscribers/a1b2c3d4-e5f6-7890-1234-567890abcdef + */ + name?: string; + /** + * Optional. A field mask that specifies which fields of the Subscriber message are to be updated. This allows for partial updates. Supported fields: - endpoint_uri - subscriber_configs - endpoint_authorization + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Subscriber; + } + + export class Resource$Projects$Subscribers$Subscriptions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a subscription for a specific user to a specific subscriber. This method requires the subscriber to have a `SubscriptionCreatePolicy` set to `MANUAL` for the given data types. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.projects.subscribers.subscriptions.create({ + * // Required. The parent subscriber. Format: projects/{project\}/subscribers/{subscriber\} The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. + * parent: 'projects/my-project/subscribers/my-subscriber', + * // Optional. The {subscription_id\} is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated otherwise. If provided, the ID must be unique within the parent subscriber. + * subscriptionId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataTypes": [], + * // "user": "my_user" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataTypes": [], + * // "name": "my_name", + * // "user": "my_user" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Subscribers$Subscriptions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Subscribers$Subscriptions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Subscribers$Subscriptions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Subscribers$Subscriptions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Subscribers$Subscriptions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Subscribers$Subscriptions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Subscribers$Subscriptions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Subscribers$Subscriptions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/subscriptions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a specific user subscription, stopping notifications for this user to this subscriber. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.projects.subscribers.subscriptions.delete({ + * // Required. The resource name of the subscription to delete. Format: `projects/{project\}/subscribers/{subscriber\}/subscriptions/{subscription\}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated if not provided during creation. + * name: 'projects/my-project/subscribers/my-subscriber/subscriptions/my-subscription', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Subscribers$Subscriptions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Subscribers$Subscriptions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Subscribers$Subscriptions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Subscribers$Subscriptions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Subscribers$Subscriptions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Subscribers$Subscriptions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Subscribers$Subscriptions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Subscribers$Subscriptions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all active subscriptions for a given subscriber. This can be filtered, for example, by user or data type. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.projects.subscribers.subscriptions.list({ + * // Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = "users/user1" Example: user = "users/user1" OR user = "users/user2" Example: user = "users/user1" AND (data_type = "sleep" OR data_type = "weight") + * filter: 'placeholder-value', + * // Optional. The maximum number of subscriptions to return. The service may return fewer than this value. If unspecified, at most 50 subscriptions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListSubscriptions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscriptions` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent subscriber. Format: projects/{project\}/subscribers/{subscriber\} The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. + * parent: 'projects/my-project/subscribers/my-subscriber', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "subscriptions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Subscribers$Subscriptions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Subscribers$Subscriptions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Subscribers$Subscriptions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Subscribers$Subscriptions$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Subscribers$Subscriptions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Subscribers$Subscriptions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Subscribers$Subscriptions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Subscribers$Subscriptions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/subscriptions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the data types for an existing user subscription. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.projects.subscribers.subscriptions.patch({ + * // Identifier. The resource name of the Subscription. Format: `projects/{project\}/subscribers/{subscriber\}/subscriptions/{subscription\}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project\} ID is mandatory (6-30 characters, matching /a-z{6,30\}/) The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription\} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated otherwise. + * name: 'projects/my-project/subscribers/my-subscriber/subscriptions/my-subscription', + * // Optional. The list of fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataTypes": [], + * // "name": "my_name", + * // "user": "my_user" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataTypes": [], + * // "name": "my_name", + * // "user": "my_user" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Subscribers$Subscriptions$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Subscribers$Subscriptions$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Subscribers$Subscriptions$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Subscribers$Subscriptions$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Subscribers$Subscriptions$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Subscribers$Subscriptions$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Subscribers$Subscriptions$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Subscribers$Subscriptions$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Subscribers$Subscriptions$Create extends StandardParameters { + /** + * Required. The parent subscriber. Format: projects/{project\}/subscribers/{subscriber\} The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. + */ + parent?: string; + /** + * Optional. The {subscription_id\} is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated otherwise. If provided, the ID must be unique within the parent subscriber. + */ + subscriptionId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CreateSubscriptionPayload; + } + export interface Params$Resource$Projects$Subscribers$Subscriptions$Delete extends StandardParameters { + /** + * Required. The resource name of the subscription to delete. Format: `projects/{project\}/subscribers/{subscriber\}/subscriptions/{subscription\}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated if not provided during creation. + */ + name?: string; + } + export interface Params$Resource$Projects$Subscribers$Subscriptions$List extends StandardParameters { + /** + * Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = "users/user1" Example: user = "users/user1" OR user = "users/user2" Example: user = "users/user1" AND (data_type = "sleep" OR data_type = "weight") + */ + filter?: string; + /** + * Optional. The maximum number of subscriptions to return. The service may return fewer than this value. If unspecified, at most 50 subscriptions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListSubscriptions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscriptions` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent subscriber. Format: projects/{project\}/subscribers/{subscriber\} The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. + */ + parent?: string; + } + export interface Params$Resource$Projects$Subscribers$Subscriptions$Patch extends StandardParameters { + /** + * Identifier. The resource name of the Subscription. Format: `projects/{project\}/subscribers/{subscriber\}/subscriptions/{subscription\}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project\} ID is mandatory (6-30 characters, matching /a-z{6,30\}/) The {subscriber\} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription\} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34\}[a-z0-9])/) or system-generated otherwise. + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Subscription; + } + + export class Resource$Shl { + context: APIRequestContext; + m: Resource$Shl$M; + r: Resource$Shl$R; + constructor(context: APIRequestContext) { + this.context = context; + this.m = new Resource$Shl$M(this.context); + this.r = new Resource$Shl$R(this.context); + } + } + + export class Resource$Shl$M { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Forward a manifest request for a given SHL + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.shl.m.getShlManifest({ + * // Required. External ID mapping to a ShlSharedLinkCapabilityToken object See https://docs.google.com/document/d/1Pch20pxJHRbsaMxp0EYgs3ZU0Gu7QTUznk8LhvbQvfY/edit?tab=t.0#heading=h.17wg41voij6q + * externalShlId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "embeddedLengthMax": 0, + * // "passcode": "my_passcode", + * // "recipient": "my_recipient" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "contentType": "my_contentType", + * // "data": "my_data", + * // "extensions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getShlManifest( + params: Params$Resource$Shl$M$Getshlmanifest, + options: StreamMethodOptions + ): Promise>; + getShlManifest( + params?: Params$Resource$Shl$M$Getshlmanifest, + options?: MethodOptions + ): Promise>; + getShlManifest( + params: Params$Resource$Shl$M$Getshlmanifest, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getShlManifest( + params: Params$Resource$Shl$M$Getshlmanifest, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getShlManifest( + params: Params$Resource$Shl$M$Getshlmanifest, + callback: BodyResponseCallback + ): void; + getShlManifest(callback: BodyResponseCallback): void; + getShlManifest( + paramsOrCallback?: + | Params$Resource$Shl$M$Getshlmanifest + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Shl$M$Getshlmanifest; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Shl$M$Getshlmanifest; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/shl/m/{externalShlId}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['externalShlId'], + pathParams: ['externalShlId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Shl$M$Getshlmanifest extends StandardParameters { + /** + * Required. External ID mapping to a ShlSharedLinkCapabilityToken object See https://docs.google.com/document/d/1Pch20pxJHRbsaMxp0EYgs3ZU0Gu7QTUznk8LhvbQvfY/edit?tab=t.0#heading=h.17wg41voij6q + */ + externalShlId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ManifestParams; + } + + export class Resource$Shl$R { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Forward a resource request for a given SHL + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.shl.r.get({ + * // Required. External ID mapping to a ShlSharedLinkCapabilityToken object See https://docs.google.com/document/d/1Pch20pxJHRbsaMxp0EYgs3ZU0Gu7QTUznk8LhvbQvfY/edit?tab=t.0#heading=h.17wg41voij6q + * externalShlId: 'placeholder-value', + * // Required. Encoded, encrypted message containing resource access details + * resourceToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "contentType": "my_contentType", + * // "data": "my_data", + * // "extensions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Shl$R$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Shl$R$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Shl$R$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Shl$R$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Shl$R$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Shl$R$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Shl$R$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Shl$R$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v4beta/shl/r/{externalShlId}/{resourceToken}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['externalShlId', 'resourceToken'], + pathParams: ['externalShlId', 'resourceToken'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Shl$R$Get extends StandardParameters { + /** + * Required. External ID mapping to a ShlSharedLinkCapabilityToken object See https://docs.google.com/document/d/1Pch20pxJHRbsaMxp0EYgs3ZU0Gu7QTUznk8LhvbQvfY/edit?tab=t.0#heading=h.17wg41voij6q + */ + externalShlId?: string; + /** + * Required. Encoded, encrypted message containing resource access details + */ + resourceToken?: string; + } + + export class Resource$Users { + context: APIRequestContext; + dataTypes: Resource$Users$Datatypes; + pairedDevices: Resource$Users$Paireddevices; + constructor(context: APIRequestContext) { + this.context = context; + this.dataTypes = new Resource$Users$Datatypes(this.context); + this.pairedDevices = new Resource$Users$Paireddevices(this.context); + } + + /** + * Gets the user's identity. It includes the legacy Fitbit user ID and the Google user ID and it can be used by migrating clients to map identifiers between the two systems. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.ecg.readonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', + * 'https://www.googleapis.com/auth/googlehealth.irn.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.profile.readonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', + * 'https://www.googleapis.com/auth/googlehealth.settings.readonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.getIdentity({ + * // Required. The resource name of the Identity. Format: `users/me/identity` + * name: 'users/my-user/identity', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "healthUserId": "my_healthUserId", + * // "legacyUserId": "my_legacyUserId", + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIdentity( + params: Params$Resource$Users$Getidentity, + options: StreamMethodOptions + ): Promise>; + getIdentity( + params?: Params$Resource$Users$Getidentity, + options?: MethodOptions + ): Promise>; + getIdentity( + params: Params$Resource$Users$Getidentity, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIdentity( + params: Params$Resource$Users$Getidentity, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIdentity( + params: Params$Resource$Users$Getidentity, + callback: BodyResponseCallback + ): void; + getIdentity(callback: BodyResponseCallback): void; + getIdentity( + paramsOrCallback?: + | Params$Resource$Users$Getidentity + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Getidentity; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Getidentity; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns user's IRN Profile details. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/googlehealth.irn.readonly'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.getIrnProfile({ + * // Required. The resource name of the IRN Profile. Format: `users/{user\}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + * name: 'users/my-user/irnProfile', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "enrollmentStatus": false, + * // "name": "my_name", + * // "onboardingStatus": false, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIrnProfile( + params: Params$Resource$Users$Getirnprofile, + options: StreamMethodOptions + ): Promise>; + getIrnProfile( + params?: Params$Resource$Users$Getirnprofile, + options?: MethodOptions + ): Promise>; + getIrnProfile( + params: Params$Resource$Users$Getirnprofile, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIrnProfile( + params: Params$Resource$Users$Getirnprofile, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIrnProfile( + params: Params$Resource$Users$Getirnprofile, + callback: BodyResponseCallback + ): void; + getIrnProfile(callback: BodyResponseCallback): void; + getIrnProfile( + paramsOrCallback?: + | Params$Resource$Users$Getirnprofile + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Getirnprofile; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Getirnprofile; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns user Profile details. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/googlehealth.profile.readonly'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.getProfile({ + * // Required. The name of the Profile. Format: `users/me/profile`. + * name: 'users/my-user/profile', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "age": 0, + * // "autoRunningStrideLengthMm": 0, + * // "autoWalkingStrideLengthMm": 0, + * // "membershipStartDate": {}, + * // "name": "my_name", + * // "userConfiguredRunningStrideLengthMm": 0, + * // "userConfiguredWalkingStrideLengthMm": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getProfile( + params: Params$Resource$Users$Getprofile, + options: StreamMethodOptions + ): Promise>; + getProfile( + params?: Params$Resource$Users$Getprofile, + options?: MethodOptions + ): Promise>; + getProfile( + params: Params$Resource$Users$Getprofile, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getProfile( + params: Params$Resource$Users$Getprofile, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getProfile( + params: Params$Resource$Users$Getprofile, + callback: BodyResponseCallback + ): void; + getProfile(callback: BodyResponseCallback): void; + getProfile( + paramsOrCallback?: + | Params$Resource$Users$Getprofile + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Users$Getprofile; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Getprofile; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns user settings details. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/googlehealth.settings.readonly'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.getSettings({ + * // Required. The name of the Settings. Format: `users/me/settings`. + * name: 'users/my-user/settings', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "autoStrideEnabled": false, + * // "distanceUnit": "my_distanceUnit", + * // "foodLanguageCode": "my_foodLanguageCode", + * // "glucoseUnit": "my_glucoseUnit", + * // "heightUnit": "my_heightUnit", + * // "languageLocale": "my_languageLocale", + * // "name": "my_name", + * // "strideLengthRunningType": "my_strideLengthRunningType", + * // "strideLengthWalkingType": "my_strideLengthWalkingType", + * // "swimUnit": "my_swimUnit", + * // "temperatureUnit": "my_temperatureUnit", + * // "timeZone": "my_timeZone", + * // "utcOffset": "my_utcOffset", + * // "waterUnit": "my_waterUnit", + * // "weightUnit": "my_weightUnit" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getSettings( + params: Params$Resource$Users$Getsettings, + options: StreamMethodOptions + ): Promise>; + getSettings( + params?: Params$Resource$Users$Getsettings, + options?: MethodOptions + ): Promise>; + getSettings( + params: Params$Resource$Users$Getsettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSettings( + params: Params$Resource$Users$Getsettings, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSettings( + params: Params$Resource$Users$Getsettings, + callback: BodyResponseCallback + ): void; + getSettings(callback: BodyResponseCallback): void; + getSettings( + paramsOrCallback?: + | Params$Resource$Users$Getsettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Getsettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Getsettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the user's profile details. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/googlehealth.profile.writeonly'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.updateProfile({ + * // Identifier. The resource name of this Profile resource. Format: `users/{user\}/profile` Example: `users/1234567890/profile` or `users/me/profile` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + * name: 'users/my-user/profile', + * // Optional. The list of fields to be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "age": 0, + * // "autoRunningStrideLengthMm": 0, + * // "autoWalkingStrideLengthMm": 0, + * // "membershipStartDate": {}, + * // "name": "my_name", + * // "userConfiguredRunningStrideLengthMm": 0, + * // "userConfiguredWalkingStrideLengthMm": 0 + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "age": 0, + * // "autoRunningStrideLengthMm": 0, + * // "autoWalkingStrideLengthMm": 0, + * // "membershipStartDate": {}, + * // "name": "my_name", + * // "userConfiguredRunningStrideLengthMm": 0, + * // "userConfiguredWalkingStrideLengthMm": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateProfile( + params: Params$Resource$Users$Updateprofile, + options: StreamMethodOptions + ): Promise>; + updateProfile( + params?: Params$Resource$Users$Updateprofile, + options?: MethodOptions + ): Promise>; + updateProfile( + params: Params$Resource$Users$Updateprofile, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateProfile( + params: Params$Resource$Users$Updateprofile, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateProfile( + params: Params$Resource$Users$Updateprofile, + callback: BodyResponseCallback + ): void; + updateProfile(callback: BodyResponseCallback): void; + updateProfile( + paramsOrCallback?: + | Params$Resource$Users$Updateprofile + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Updateprofile; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Updateprofile; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the user's settings details. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/googlehealth.settings.writeonly'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.updateSettings({ + * // Identifier. The resource name of this Settings resource. Format: `users/{user\}/settings` Example: `users/1234567890/settings` or `users/me/settings` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + * name: 'users/my-user/settings', + * // Optional. The list of fields to be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "autoStrideEnabled": false, + * // "distanceUnit": "my_distanceUnit", + * // "foodLanguageCode": "my_foodLanguageCode", + * // "glucoseUnit": "my_glucoseUnit", + * // "heightUnit": "my_heightUnit", + * // "languageLocale": "my_languageLocale", + * // "name": "my_name", + * // "strideLengthRunningType": "my_strideLengthRunningType", + * // "strideLengthWalkingType": "my_strideLengthWalkingType", + * // "swimUnit": "my_swimUnit", + * // "temperatureUnit": "my_temperatureUnit", + * // "timeZone": "my_timeZone", + * // "utcOffset": "my_utcOffset", + * // "waterUnit": "my_waterUnit", + * // "weightUnit": "my_weightUnit" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "autoStrideEnabled": false, + * // "distanceUnit": "my_distanceUnit", + * // "foodLanguageCode": "my_foodLanguageCode", + * // "glucoseUnit": "my_glucoseUnit", + * // "heightUnit": "my_heightUnit", + * // "languageLocale": "my_languageLocale", + * // "name": "my_name", + * // "strideLengthRunningType": "my_strideLengthRunningType", + * // "strideLengthWalkingType": "my_strideLengthWalkingType", + * // "swimUnit": "my_swimUnit", + * // "temperatureUnit": "my_temperatureUnit", + * // "timeZone": "my_timeZone", + * // "utcOffset": "my_utcOffset", + * // "waterUnit": "my_waterUnit", + * // "weightUnit": "my_weightUnit" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateSettings( + params: Params$Resource$Users$Updatesettings, + options: StreamMethodOptions + ): Promise>; + updateSettings( + params?: Params$Resource$Users$Updatesettings, + options?: MethodOptions + ): Promise>; + updateSettings( + params: Params$Resource$Users$Updatesettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateSettings( + params: Params$Resource$Users$Updatesettings, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateSettings( + params: Params$Resource$Users$Updatesettings, + callback: BodyResponseCallback + ): void; + updateSettings(callback: BodyResponseCallback): void; + updateSettings( + paramsOrCallback?: + | Params$Resource$Users$Updatesettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Updatesettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Updatesettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Users$Getidentity extends StandardParameters { + /** + * Required. The resource name of the Identity. Format: `users/me/identity` + */ + name?: string; + } + export interface Params$Resource$Users$Getirnprofile extends StandardParameters { + /** + * Required. The resource name of the IRN Profile. Format: `users/{user\}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + */ + name?: string; + } + export interface Params$Resource$Users$Getprofile extends StandardParameters { + /** + * Required. The name of the Profile. Format: `users/me/profile`. + */ + name?: string; + } + export interface Params$Resource$Users$Getsettings extends StandardParameters { + /** + * Required. The name of the Settings. Format: `users/me/settings`. + */ + name?: string; + } + export interface Params$Resource$Users$Updateprofile extends StandardParameters { + /** + * Identifier. The resource name of this Profile resource. Format: `users/{user\}/profile` Example: `users/1234567890/profile` or `users/me/profile` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + */ + name?: string; + /** + * Optional. The list of fields to be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Profile; + } + export interface Params$Resource$Users$Updatesettings extends StandardParameters { + /** + * Identifier. The resource name of this Settings resource. Format: `users/{user\}/settings` Example: `users/1234567890/settings` or `users/me/settings` The {user\} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. + */ + name?: string; + /** + * Optional. The list of fields to be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Settings; + } + + export class Resource$Users$Datatypes { + context: APIRequestContext; + dataPoints: Resource$Users$Datatypes$Datapoints; + constructor(context: APIRequestContext) { + this.context = context; + this.dataPoints = new Resource$Users$Datatypes$Datapoints(this.context); + } + } + + export class Resource$Users$Datatypes$Datapoints { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Delete a batch of identifyable data points. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.batchDelete({ + * // Optional. Parent (data type) for the Data Point collection Format: `users/me/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/-` For a list of the supported data types see the DataPoint data union field. Deleting data points across multiple data type collections is supported following https://aip.dev/159. If this is set, the parent of all of the data points specified in `names` must match this field. + * parent: 'users/my-user/dataTypes/my-dataType', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "names": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + batchDelete( + params: Params$Resource$Users$Datatypes$Datapoints$Batchdelete, + options: StreamMethodOptions + ): Promise>; + batchDelete( + params?: Params$Resource$Users$Datatypes$Datapoints$Batchdelete, + options?: MethodOptions + ): Promise>; + batchDelete( + params: Params$Resource$Users$Datatypes$Datapoints$Batchdelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Users$Datatypes$Datapoints$Batchdelete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Users$Datatypes$Datapoints$Batchdelete, + callback: BodyResponseCallback + ): void; + batchDelete(callback: BodyResponseCallback): void; + batchDelete( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$Batchdelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$Batchdelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Datatypes$Datapoints$Batchdelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/dataPoints:batchDelete').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a single identifiable data point. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.create({ + * // Required. The parent resource name where the data point will be created. Format: `users/{user\}/dataTypes/{data_type\}` + * parent: 'users/my-user/dataTypes/my-dataType', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "activeEnergyBurned": {}, + * // "activeMinutes": {}, + * // "activeZoneMinutes": {}, + * // "activityLevel": {}, + * // "altitude": {}, + * // "basalEnergyBurned": {}, + * // "bloodGlucose": {}, + * // "bodyFat": {}, + * // "coreBodyTemperature": {}, + * // "dailyHeartRateVariability": {}, + * // "dailyHeartRateZones": {}, + * // "dailyOxygenSaturation": {}, + * // "dailyRespiratoryRate": {}, + * // "dailyRestingHeartRate": {}, + * // "dailySleepTemperatureDerivations": {}, + * // "dailyVo2Max": {}, + * // "dataSource": {}, + * // "distance": {}, + * // "electrocardiogram": {}, + * // "exercise": {}, + * // "floors": {}, + * // "food": {}, + * // "foodMeasurementUnit": {}, + * // "heartRate": {}, + * // "heartRateVariability": {}, + * // "height": {}, + * // "hydrationLog": {}, + * // "irregularRhythmNotification": {}, + * // "menstrualPeriod": {}, + * // "moods": {}, + * // "name": "my_name", + * // "nutritionLog": {}, + * // "ovulationTest": {}, + * // "oxygenSaturation": {}, + * // "respiratoryRateSleepSummary": {}, + * // "runVo2Max": {}, + * // "sedentaryPeriod": {}, + * // "sleep": {}, + * // "steps": {}, + * // "swimLengthsData": {}, + * // "symptoms": {}, + * // "timeInHeartRateZone": {}, + * // "vo2Max": {}, + * // "weight": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Users$Datatypes$Datapoints$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Users$Datatypes$Datapoints$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Users$Datatypes$Datapoints$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Users$Datatypes$Datapoints$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Users$Datatypes$Datapoints$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Datatypes$Datapoints$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/dataPoints').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Roll up data points over civil time intervals for supported data types. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.dailyRollUp({ + * // Required. Parent data type of the Data Point collection. Format: `users/{user\}/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/distance` For a list of the supported data types see the DailyRollupDataPoint value union field. + * parent: 'users/my-user/dataTypes/my-dataType', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataSourceFamily": "my_dataSourceFamily", + * // "pageSize": 0, + * // "pageToken": "my_pageToken", + * // "range": {}, + * // "windowSizeDays": 0 + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "rollupDataPoints": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + dailyRollUp( + params: Params$Resource$Users$Datatypes$Datapoints$Dailyrollup, + options: StreamMethodOptions + ): Promise>; + dailyRollUp( + params?: Params$Resource$Users$Datatypes$Datapoints$Dailyrollup, + options?: MethodOptions + ): Promise>; + dailyRollUp( + params: Params$Resource$Users$Datatypes$Datapoints$Dailyrollup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + dailyRollUp( + params: Params$Resource$Users$Datatypes$Datapoints$Dailyrollup, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + dailyRollUp( + params: Params$Resource$Users$Datatypes$Datapoints$Dailyrollup, + callback: BodyResponseCallback + ): void; + dailyRollUp( + callback: BodyResponseCallback + ): void; + dailyRollUp( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$Dailyrollup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$Dailyrollup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Datatypes$Datapoints$Dailyrollup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/dataPoints:dailyRollUp').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Exports exercise data in TCX format. **IMPORTANT:** HTTP clients must append `?alt=media` to the request URL to download the raw TCX file. Example: `https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints/EXERCISE_ID:exportExerciseTcx?alt=media` Without `alt=media`, the server returns a JSON response (`ExportExerciseTcxResponse`) which is intended primarily for gRPC clients. **Note:** While the Authorization section below states that any one of the listed scopes is accepted, this specific method requires the user to provide both one of the `activity_and_fitness` scopes (`normal` or `readonly`) AND one of the `location` scopes (`normal` or `readonly`) in their access token to succeed. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.exportExerciseTcx({ + * // Required. The resource name of the exercise data point to export. Format: `users/{user\}/dataTypes/exercise/dataPoints/{data_point\}` Example: `users/me/dataTypes/exercise/dataPoints/2026443605080188808` The `{user\}` is the alias `"me"` currently. Future versions may support user IDs. The `{data_point\}` ID maps to the exercise ID, which is a long integer. + * name: 'users/my-user/dataTypes/my-dataType/dataPoints/my-dataPoint', + * // Optional. Indicates whether to include the TCX data points when the GPS data is not available. If not specified, defaults to `false` and partial data will not be included. + * partialData: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "tcxData": "my_tcxData" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportExerciseTcx( + params: Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx, + options: StreamMethodOptions + ): Promise>; + exportExerciseTcx( + params?: Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx, + options?: MethodOptions + ): Promise>; + exportExerciseTcx( + params: Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportExerciseTcx( + params: Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportExerciseTcx( + params: Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx, + callback: BodyResponseCallback + ): void; + exportExerciseTcx( + callback: BodyResponseCallback + ): void; + exportExerciseTcx( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}:exportExerciseTcx').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Get a single identifyable data point. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.get({ + * // Required. The name of the data point to retrieve. Format: `users/{user\}/dataTypes/{data_type\}/dataPoints/{data_point\}` See DataPoint.name for examples and possible values. + * name: 'users/my-user/dataTypes/my-dataType/dataPoints/my-dataPoint', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "activeEnergyBurned": {}, + * // "activeMinutes": {}, + * // "activeZoneMinutes": {}, + * // "activityLevel": {}, + * // "altitude": {}, + * // "basalEnergyBurned": {}, + * // "bloodGlucose": {}, + * // "bodyFat": {}, + * // "coreBodyTemperature": {}, + * // "dailyHeartRateVariability": {}, + * // "dailyHeartRateZones": {}, + * // "dailyOxygenSaturation": {}, + * // "dailyRespiratoryRate": {}, + * // "dailyRestingHeartRate": {}, + * // "dailySleepTemperatureDerivations": {}, + * // "dailyVo2Max": {}, + * // "dataSource": {}, + * // "distance": {}, + * // "electrocardiogram": {}, + * // "exercise": {}, + * // "floors": {}, + * // "food": {}, + * // "foodMeasurementUnit": {}, + * // "heartRate": {}, + * // "heartRateVariability": {}, + * // "height": {}, + * // "hydrationLog": {}, + * // "irregularRhythmNotification": {}, + * // "menstrualPeriod": {}, + * // "moods": {}, + * // "name": "my_name", + * // "nutritionLog": {}, + * // "ovulationTest": {}, + * // "oxygenSaturation": {}, + * // "respiratoryRateSleepSummary": {}, + * // "runVo2Max": {}, + * // "sedentaryPeriod": {}, + * // "sleep": {}, + * // "steps": {}, + * // "swimLengthsData": {}, + * // "symptoms": {}, + * // "timeInHeartRateZone": {}, + * // "vo2Max": {}, + * // "weight": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Users$Datatypes$Datapoints$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Users$Datatypes$Datapoints$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Users$Datatypes$Datapoints$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Users$Datatypes$Datapoints$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Users$Datatypes$Datapoints$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Datatypes$Datapoints$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Query user health and fitness data points. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.list({ + * // Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type\}.interval.start_time` - Supported comparison operators: `\>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time \>= "2023-11-24T00:00:00Z" AND steps.interval.start_time < "2023-11-25T00:00:00Z"` - `distance.interval.start_time \>= "2024-08-14T12:34:56Z"` - Interval civil start time: - Pattern: `{interval_data_type\}.interval.civil_start_time` - Supported comparison operators: `\>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time \>= "2023-11-24" AND steps.interval.civil_start_time < "2023-11-25"` - `distance.interval.civil_start_time \>= "2024-08-14T12:34:56"` - Sample observation physical time: - Pattern: `{sample_data_type\}.sample_time.physical_time` - Supported comparison operators: `\>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time \>= "2023-11-24T00:00:00Z" AND weight.sample_time.physical_time < "2023-11-25T00:00:00Z"` - `weight.sample_time.physical_time \>= "2024-08-14T12:34:56Z"` - Sample observation civil time: - Pattern: `{sample_data_type\}.sample_time.civil_time` - Supported comparison operators: `\>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time \>= "2023-11-24" AND weight.sample_time.civil_time < "2023-11-25"` - `weight.sample_time.civil_time \>= "2024-08-14T12:34:56"` - Daily summary date: - Pattern: `{daily_summary_data_type\}.date` - Supported comparison operators: `\>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < "2024-08-15"` - Session civil start time (**Excluding Sleep and ECG**): - Pattern: `{session_data_type\}.interval.civil_start_time` - Supported comparison operators: `\>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time \>= "2023-11-24" AND exercise.interval.civil_start_time < "2023-11-25"` - `exercise.interval.civil_start_time \>= "2024-08-14T12:34:56"` - Session start time (**ECG specific**): - Pattern: `electrocardiogram.interval.start_time` - Supported comparison operators: `\>=` - Timestamp literal expected in RFC-3339 format - Example: - `electrocardiogram.interval.start_time \>= "2024-08-14T12:34:56Z"` - Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., `electrocardiogram.interval.end_time`) is not supported. - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `\>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time \>= "2023-11-24T00:00:00Z" AND sleep.interval.end_time < "2023-11-25T00:00:00Z"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `\>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time \>= "2023-11-24" AND sleep.interval.civil_end_time < "2023-11-25"` Data points in the response will be ordered by the interval start time in descending order. + * filter: 'placeholder-value', + * // Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For `exercise` and `sleep` the default page size is 25. The maximum page size for `exercise` and `sleep` is 25. + * pageSize: 'placeholder-value', + * // Optional. The `next_page_token` from a previous request, if any. + * pageToken: 'placeholder-value', + * // Required. Parent data type of the Data Point collection. Format: `users/me/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/weight` For a list of the supported data types see the DataPoint data union field. + * parent: 'users/my-user/dataTypes/my-dataType', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataPoints": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Users$Datatypes$Datapoints$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Users$Datatypes$Datapoints$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Users$Datatypes$Datapoints$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Users$Datatypes$Datapoints$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Users$Datatypes$Datapoints$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Datatypes$Datapoints$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/dataPoints').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates a single identifiable data point. If a data point with the specified `name` is not found, the request will fail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.patch({ + * // Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user\}/dataTypes/{data_type\}/dataPoints/{data_point\}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user\}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type\}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point\}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + * name: 'users/my-user/dataTypes/my-dataType/dataPoints/my-dataPoint', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "activeEnergyBurned": {}, + * // "activeMinutes": {}, + * // "activeZoneMinutes": {}, + * // "activityLevel": {}, + * // "altitude": {}, + * // "basalEnergyBurned": {}, + * // "bloodGlucose": {}, + * // "bodyFat": {}, + * // "coreBodyTemperature": {}, + * // "dailyHeartRateVariability": {}, + * // "dailyHeartRateZones": {}, + * // "dailyOxygenSaturation": {}, + * // "dailyRespiratoryRate": {}, + * // "dailyRestingHeartRate": {}, + * // "dailySleepTemperatureDerivations": {}, + * // "dailyVo2Max": {}, + * // "dataSource": {}, + * // "distance": {}, + * // "electrocardiogram": {}, + * // "exercise": {}, + * // "floors": {}, + * // "food": {}, + * // "foodMeasurementUnit": {}, + * // "heartRate": {}, + * // "heartRateVariability": {}, + * // "height": {}, + * // "hydrationLog": {}, + * // "irregularRhythmNotification": {}, + * // "menstrualPeriod": {}, + * // "moods": {}, + * // "name": "my_name", + * // "nutritionLog": {}, + * // "ovulationTest": {}, + * // "oxygenSaturation": {}, + * // "respiratoryRateSleepSummary": {}, + * // "runVo2Max": {}, + * // "sedentaryPeriod": {}, + * // "sleep": {}, + * // "steps": {}, + * // "swimLengthsData": {}, + * // "symptoms": {}, + * // "timeInHeartRateZone": {}, + * // "vo2Max": {}, + * // "weight": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Users$Datatypes$Datapoints$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Users$Datatypes$Datapoints$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Users$Datatypes$Datapoints$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Users$Datatypes$Datapoints$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Users$Datatypes$Datapoints$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Datatypes$Datapoints$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Reconcile data points from multiple data sources into a single data stream. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.reconcile({ + * // Optional. The data source family name to reconcile. If empty, data points from all data sources will be reconciled. Format: `users/me/dataSourceFamilies/{data_source_family\}` - `users/me/dataSourceFamilies/all-sources` - Default value. Includes data from all available data sources. - `users/me/dataSourceFamilies/google-wearables` - Includes data from Google and Fitbit tracker devices (such as Fitbit trackers and Pixel Watch). Excludes manually logged data. - `users/me/dataSourceFamilies/google-sources` - Includes first-party Google data, such as data from tracker devices, manually logged data, and Health Connect. + * dataSourceFamily: 'placeholder-value', + * // Optional. Filter expression based on https://aip.dev/160. A time range, either physical or civil, can be specified. See the ListDataPointsRequest.filter for the supported fields and syntax. + * filter: 'placeholder-value', + * // Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For `exercise` and `sleep` the default page size is 25. The maximum page size for `exercise` and `sleep` is 25. + * pageSize: 'placeholder-value', + * // Optional. The `next_page_token` from a previous request, if any. + * pageToken: 'placeholder-value', + * // Required. Parent data type of the Data Point collection. Format: `users/me/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/heart-rate` For a list of the supported data types see the DataPoint data union field. + * parent: 'users/my-user/dataTypes/my-dataType', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataPoints": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + reconcile( + params: Params$Resource$Users$Datatypes$Datapoints$Reconcile, + options: StreamMethodOptions + ): Promise>; + reconcile( + params?: Params$Resource$Users$Datatypes$Datapoints$Reconcile, + options?: MethodOptions + ): Promise>; + reconcile( + params: Params$Resource$Users$Datatypes$Datapoints$Reconcile, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + reconcile( + params: Params$Resource$Users$Datatypes$Datapoints$Reconcile, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + reconcile( + params: Params$Resource$Users$Datatypes$Datapoints$Reconcile, + callback: BodyResponseCallback + ): void; + reconcile( + callback: BodyResponseCallback + ): void; + reconcile( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$Reconcile + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$Reconcile; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Datatypes$Datapoints$Reconcile; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/dataPoints:reconcile').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Roll up data points over physical time intervals for supported data types. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', + * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.location.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly', + * 'https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.nutrition.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.readonly', + * 'https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', + * 'https://www.googleapis.com/auth/googlehealth.sleep.writeonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.dataTypes.dataPoints.rollUp({ + * // Required. Parent data type of the Data Point collection. Format: `users/{user\}/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/distance` For a list of the supported data types see the RollupDataPoint value union field. + * parent: 'users/my-user/dataTypes/my-dataType', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataSourceFamily": "my_dataSourceFamily", + * // "pageSize": 0, + * // "pageToken": "my_pageToken", + * // "range": {}, + * // "windowSize": "my_windowSize" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "rollupDataPoints": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + rollUp( + params: Params$Resource$Users$Datatypes$Datapoints$Rollup, + options: StreamMethodOptions + ): Promise>; + rollUp( + params?: Params$Resource$Users$Datatypes$Datapoints$Rollup, + options?: MethodOptions + ): Promise>; + rollUp( + params: Params$Resource$Users$Datatypes$Datapoints$Rollup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + rollUp( + params: Params$Resource$Users$Datatypes$Datapoints$Rollup, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + rollUp( + params: Params$Resource$Users$Datatypes$Datapoints$Rollup, + callback: BodyResponseCallback + ): void; + rollUp( + callback: BodyResponseCallback + ): void; + rollUp( + paramsOrCallback?: + | Params$Resource$Users$Datatypes$Datapoints$Rollup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Datatypes$Datapoints$Rollup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Datatypes$Datapoints$Rollup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/dataPoints:rollUp').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Users$Datatypes$Datapoints$Batchdelete extends StandardParameters { + /** + * Optional. Parent (data type) for the Data Point collection Format: `users/me/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/-` For a list of the supported data types see the DataPoint data union field. Deleting data points across multiple data type collections is supported following https://aip.dev/159. If this is set, the parent of all of the data points specified in `names` must match this field. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteDataPointsRequest; + } + export interface Params$Resource$Users$Datatypes$Datapoints$Create extends StandardParameters { + /** + * Required. The parent resource name where the data point will be created. Format: `users/{user\}/dataTypes/{data_type\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DataPoint; + } + export interface Params$Resource$Users$Datatypes$Datapoints$Dailyrollup extends StandardParameters { + /** + * Required. Parent data type of the Data Point collection. Format: `users/{user\}/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/distance` For a list of the supported data types see the DailyRollupDataPoint value union field. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DailyRollUpDataPointsRequest; + } + export interface Params$Resource$Users$Datatypes$Datapoints$Exportexercisetcx extends StandardParameters { + /** + * Required. The resource name of the exercise data point to export. Format: `users/{user\}/dataTypes/exercise/dataPoints/{data_point\}` Example: `users/me/dataTypes/exercise/dataPoints/2026443605080188808` The `{user\}` is the alias `"me"` currently. Future versions may support user IDs. The `{data_point\}` ID maps to the exercise ID, which is a long integer. + */ + name?: string; + /** + * Optional. Indicates whether to include the TCX data points when the GPS data is not available. If not specified, defaults to `false` and partial data will not be included. + */ + partialData?: boolean; + } + export interface Params$Resource$Users$Datatypes$Datapoints$Get extends StandardParameters { + /** + * Required. The name of the data point to retrieve. Format: `users/{user\}/dataTypes/{data_type\}/dataPoints/{data_point\}` See DataPoint.name for examples and possible values. + */ + name?: string; + } + export interface Params$Resource$Users$Datatypes$Datapoints$List extends StandardParameters { + /** + * Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type\}.interval.start_time` - Supported comparison operators: `\>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time \>= "2023-11-24T00:00:00Z" AND steps.interval.start_time < "2023-11-25T00:00:00Z"` - `distance.interval.start_time \>= "2024-08-14T12:34:56Z"` - Interval civil start time: - Pattern: `{interval_data_type\}.interval.civil_start_time` - Supported comparison operators: `\>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time \>= "2023-11-24" AND steps.interval.civil_start_time < "2023-11-25"` - `distance.interval.civil_start_time \>= "2024-08-14T12:34:56"` - Sample observation physical time: - Pattern: `{sample_data_type\}.sample_time.physical_time` - Supported comparison operators: `\>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time \>= "2023-11-24T00:00:00Z" AND weight.sample_time.physical_time < "2023-11-25T00:00:00Z"` - `weight.sample_time.physical_time \>= "2024-08-14T12:34:56Z"` - Sample observation civil time: - Pattern: `{sample_data_type\}.sample_time.civil_time` - Supported comparison operators: `\>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time \>= "2023-11-24" AND weight.sample_time.civil_time < "2023-11-25"` - `weight.sample_time.civil_time \>= "2024-08-14T12:34:56"` - Daily summary date: - Pattern: `{daily_summary_data_type\}.date` - Supported comparison operators: `\>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < "2024-08-15"` - Session civil start time (**Excluding Sleep and ECG**): - Pattern: `{session_data_type\}.interval.civil_start_time` - Supported comparison operators: `\>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time \>= "2023-11-24" AND exercise.interval.civil_start_time < "2023-11-25"` - `exercise.interval.civil_start_time \>= "2024-08-14T12:34:56"` - Session start time (**ECG specific**): - Pattern: `electrocardiogram.interval.start_time` - Supported comparison operators: `\>=` - Timestamp literal expected in RFC-3339 format - Example: - `electrocardiogram.interval.start_time \>= "2024-08-14T12:34:56Z"` - Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., `electrocardiogram.interval.end_time`) is not supported. - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `\>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time \>= "2023-11-24T00:00:00Z" AND sleep.interval.end_time < "2023-11-25T00:00:00Z"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `\>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time \>= "2023-11-24" AND sleep.interval.civil_end_time < "2023-11-25"` Data points in the response will be ordered by the interval start time in descending order. + */ + filter?: string; + /** + * Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For `exercise` and `sleep` the default page size is 25. The maximum page size for `exercise` and `sleep` is 25. + */ + pageSize?: number; + /** + * Optional. The `next_page_token` from a previous request, if any. + */ + pageToken?: string; + /** + * Required. Parent data type of the Data Point collection. Format: `users/me/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/weight` For a list of the supported data types see the DataPoint data union field. + */ + parent?: string; + } + export interface Params$Resource$Users$Datatypes$Datapoints$Patch extends StandardParameters { + /** + * Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user\}/dataTypes/{data_type\}/dataPoints/{data_point\}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user\}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type\}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point\}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DataPoint; + } + export interface Params$Resource$Users$Datatypes$Datapoints$Reconcile extends StandardParameters { + /** + * Optional. The data source family name to reconcile. If empty, data points from all data sources will be reconciled. Format: `users/me/dataSourceFamilies/{data_source_family\}` - `users/me/dataSourceFamilies/all-sources` - Default value. Includes data from all available data sources. - `users/me/dataSourceFamilies/google-wearables` - Includes data from Google and Fitbit tracker devices (such as Fitbit trackers and Pixel Watch). Excludes manually logged data. - `users/me/dataSourceFamilies/google-sources` - Includes first-party Google data, such as data from tracker devices, manually logged data, and Health Connect. + */ + dataSourceFamily?: string; + /** + * Optional. Filter expression based on https://aip.dev/160. A time range, either physical or civil, can be specified. See the ListDataPointsRequest.filter for the supported fields and syntax. + */ + filter?: string; + /** + * Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For `exercise` and `sleep` the default page size is 25. The maximum page size for `exercise` and `sleep` is 25. + */ + pageSize?: number; + /** + * Optional. The `next_page_token` from a previous request, if any. + */ + pageToken?: string; + /** + * Required. Parent data type of the Data Point collection. Format: `users/me/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/heart-rate` For a list of the supported data types see the DataPoint data union field. + */ + parent?: string; + } + export interface Params$Resource$Users$Datatypes$Datapoints$Rollup extends StandardParameters { + /** + * Required. Parent data type of the Data Point collection. Format: `users/{user\}/dataTypes/{data_type\}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/distance` For a list of the supported data types see the RollupDataPoint value union field. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RollUpDataPointsRequest; + } + + export class Resource$Users$Paireddevices { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns user's Device. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/googlehealth.settings.readonly'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.pairedDevices.get({ + * // Required. The name of the device to retrieve. Format: users/{user\}/devices/{device\} + * name: 'users/my-user/pairedDevices/my-pairedDevice', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "batteryLevel": 0, + * // "batteryStatus": "my_batteryStatus", + * // "deviceType": "my_deviceType", + * // "deviceVersion": "my_deviceVersion", + * // "features": [], + * // "lastSyncTime": "my_lastSyncTime", + * // "macAddress": "my_macAddress", + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Users$Paireddevices$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Users$Paireddevices$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Users$Paireddevices$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Users$Paireddevices$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Users$Paireddevices$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Users$Paireddevices$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Paireddevices$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Paireddevices$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the user's list of paired 1P trackers and smartwatches. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/health.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const health = google.health('v4beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/googlehealth.settings.readonly'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await health.users.pairedDevices.list({ + * // Optional. The maximum number of devices to return. The service may return fewer than this value. If unspecified, at most 5 devices will be returned. The maximum value is 100. values above 100 will be coerced to 100. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListPairedDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPairedDevices` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of devices. Format: users/{user\} + * parent: 'users/my-user', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "pairedDevices": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Users$Paireddevices$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Users$Paireddevices$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Users$Paireddevices$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Users$Paireddevices$List, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Users$Paireddevices$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Users$Paireddevices$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Users$Paireddevices$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Users$Paireddevices$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://health.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v4beta/{+parent}/pairedDevices').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Users$Paireddevices$Get extends StandardParameters { + /** + * Required. The name of the device to retrieve. Format: users/{user\}/devices/{device\} + */ + name?: string; + } + export interface Params$Resource$Users$Paireddevices$List extends StandardParameters { + /** + * Optional. The maximum number of devices to return. The service may return fewer than this value. If unspecified, at most 5 devices will be returned. The maximum value is 100. values above 100 will be coerced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListPairedDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPairedDevices` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of devices. Format: users/{user\} + */ + parent?: string; + } +} diff --git a/src/apis/healthcare/package.json b/src/apis/healthcare/package.json index 8a5124853fb..1b687e189b8 100644 --- a/src/apis/healthcare/package.json +++ b/src/apis/healthcare/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/homegraph/package.json b/src/apis/homegraph/package.json index b3e5443ddfd..da2d0ee5bcd 100644 --- a/src/apis/homegraph/package.json +++ b/src/apis/homegraph/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/hypercomputecluster/package.json b/src/apis/hypercomputecluster/package.json index f30b0a74e3d..7d7b8ed963e 100644 --- a/src/apis/hypercomputecluster/package.json +++ b/src/apis/hypercomputecluster/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/hypercomputecluster/v1.ts b/src/apis/hypercomputecluster/v1.ts index e3ea5e14aef..39bba0a689a 100644 --- a/src/apis/hypercomputecluster/v1.ts +++ b/src/apis/hypercomputecluster/v1.ts @@ -194,6 +194,10 @@ export namespace hypercomputecluster_v1 { * Optional. Storage resources available to the cluster. Keys specify the ID of the storage resource by which it can be referenced elsewhere, and must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters). */ storageResources?: {[key: string]: Schema$StorageResource} | null; + /** + * Output only. The globally unique identifier for this Cluster. + */ + uid?: string | null; /** * Output only. Time that the cluster was most recently updated. */ @@ -1529,6 +1533,7 @@ export namespace hypercomputecluster_v1 { * // "orchestrator": {}, * // "reconciling": false, * // "storageResources": {}, + * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } * }, @@ -1827,6 +1832,7 @@ export namespace hypercomputecluster_v1 { * // "orchestrator": {}, * // "reconciling": false, * // "storageResources": {}, + * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } * } @@ -2123,6 +2129,7 @@ export namespace hypercomputecluster_v1 { * // "orchestrator": {}, * // "reconciling": false, * // "storageResources": {}, + * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } * }, diff --git a/src/apis/iam/README.md b/src/apis/iam/README.md index aad745567b0..300641d6b19 100644 --- a/src/apis/iam/README.md +++ b/src/apis/iam/README.md @@ -4,6 +4,15 @@ > Manages identity and access control for Google Cloud resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls. Enabling this API also enables the IAM Service Account Credentials API (iamcredentials.googleapis.com). However, disabling this API doesn't disable the IAM Service Account Credentials API. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/iam](https://www.npmjs.com/package/@google-cloud/iam) instead. +The [@google-cloud/iam](https://www.npmjs.com/package/@google-cloud/iam) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/iam/package.json b/src/apis/iam/package.json index 3436ba49d48..29080ebc7c6 100644 --- a/src/apis/iam/package.json +++ b/src/apis/iam/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/iam/v1.ts b/src/apis/iam/v1.ts index 1657ded89f0..8feaad009ea 100644 --- a/src/apis/iam/v1.ts +++ b/src/apis/iam/v1.ts @@ -6373,6 +6373,156 @@ export namespace iam_v1 { } } + /** + * Gets IAM policies on a WorkforcePool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/iam.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const iam = google.iam('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await iam.locations.workforcePools.providers.scimTenants.getIamPolicy({ + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'locations/my-location/workforcePools/my-workforcePool/providers/my-provider/scimTenants/my-scimTenant', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "options": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gemini Enterprise only. Lists all non-deleted WorkforcePoolProviderScimTenants in a WorkforcePoolProvider. If `show_deleted` is set to `true`, then deleted SCIM tenants are also listed. * @example @@ -6694,6 +6844,310 @@ export namespace iam_v1 { } } + /** + * Sets IAM policies on a WorkforcePool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/iam.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const iam = google.iam('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await iam.locations.workforcePools.providers.scimTenants.setIamPolicy({ + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'locations/my-location/workforcePools/my-workforcePool/providers/my-provider/scimTenants/my-scimTenant', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {}, + * // "updateMask": "my_updateMask" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the caller's permissions on the WorkforcePool. If the pool doesn't exist, this call returns an empty set of permissions. It doesn't return a `NOT_FOUND` error. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/iam.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const iam = google.iam('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await iam.locations.workforcePools.providers.scimTenants.testIamPermissions( + * { + * // REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'locations/my-location/workforcePools/my-workforcePool/providers/my-provider/scimTenants/my-scimTenant', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions, + options: + MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://iam.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gemini Enterprise only. Undeletes a WorkforcePoolProviderScimTenant, that was deleted fewer than 30 days ago. * @example @@ -6885,6 +7339,17 @@ export namespace iam_v1 { */ name?: string; } + export interface Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Getiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GetIamPolicyRequest; + } export interface Params$Resource$Locations$Workforcepools$Providers$Scimtenants$List extends StandardParameters { /** * Optional. Gemini Enterprise only. The maximum number of SCIM tenants to return. If unspecified, at most 50 SCIM tenants will be returned. The maximum value is 100; values above 100 are truncated to 100. @@ -6918,6 +7383,28 @@ export namespace iam_v1 { */ requestBody?: Schema$WorkforcePoolProviderScimTenant; } + export interface Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + export interface Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Testiampermissions extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } export interface Params$Resource$Locations$Workforcepools$Providers$Scimtenants$Undelete extends StandardParameters { /** * Required. Gemini Enterprise only. The name of the SCIM tenant to undelete. Format: `locations/{location\}/workforcePools/{workforce_pool\}/providers/{provider\}/scimTenants/{scim_tenant\}` diff --git a/src/apis/iamcredentials/package.json b/src/apis/iamcredentials/package.json index c3aba96115b..588e46936ca 100644 --- a/src/apis/iamcredentials/package.json +++ b/src/apis/iamcredentials/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/iap/package.json b/src/apis/iap/package.json index a9d67bf213e..ffeaa1c2a49 100644 --- a/src/apis/iap/package.json +++ b/src/apis/iap/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/ideahub/package.json b/src/apis/ideahub/package.json index 71047e575e3..369ccd81543 100644 --- a/src/apis/ideahub/package.json +++ b/src/apis/ideahub/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/identitytoolkit/package.json b/src/apis/identitytoolkit/package.json index 44a7e13b2ad..7df38ae3197 100644 --- a/src/apis/identitytoolkit/package.json +++ b/src/apis/identitytoolkit/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/ids/package.json b/src/apis/ids/package.json index 8bd3988860b..98a1fd1f78c 100644 --- a/src/apis/ids/package.json +++ b/src/apis/ids/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/index.ts b/src/apis/index.ts index d8096148182..7270bbcedfa 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -57,6 +57,10 @@ import { VERSIONS as advisorynotificationsVersions, advisorynotifications, } from './advisorynotifications'; +import { + VERSIONS as agenciesandbrandsVersions, + agenciesandbrands, +} from './agenciesandbrands'; import { VERSIONS as agentidentityVersions, agentidentity, @@ -132,6 +136,7 @@ import { VERSIONS as assuredworkloadsVersions, assuredworkloads, } from './assuredworkloads'; +import {VERSIONS as auditmanagerVersions, auditmanager} from './auditmanager'; import { VERSIONS as authorizedbuyersmarketplaceVersions, authorizedbuyersmarketplace, @@ -289,6 +294,10 @@ import { contentwarehouse, } from './contentwarehouse'; import {VERSIONS as cssVersions, css} from './css'; +import { + VERSIONS as curationpartnersVersions, + curationpartners, +} from './curationpartners'; import {VERSIONS as customsearchVersions, customsearch} from './customsearch'; import { VERSIONS as databasecenterVersions, @@ -841,6 +850,7 @@ export const APIS: APIList = { adsensehost: adsensehostVersions, adsenseplatform: adsenseplatformVersions, advisorynotifications: advisorynotificationsVersions, + agenciesandbrands: agenciesandbrandsVersions, agentidentity: agentidentityVersions, agentidentitycredentials: agentidentitycredentialsVersions, agentregistry: agentregistryVersions, @@ -871,6 +881,7 @@ export const APIS: APIList = { areainsights: areainsightsVersions, artifactregistry: artifactregistryVersions, assuredworkloads: assuredworkloadsVersions, + auditmanager: auditmanagerVersions, authorizedbuyersmarketplace: authorizedbuyersmarketplaceVersions, backupdr: backupdrVersions, baremetalsolution: baremetalsolutionVersions, @@ -935,6 +946,7 @@ export const APIS: APIList = { content: contentVersions, contentwarehouse: contentwarehouseVersions, css: cssVersions, + curationpartners: curationpartnersVersions, customsearch: customsearchVersions, databasecenter: databasecenterVersions, datacatalog: datacatalogVersions, @@ -1177,6 +1189,7 @@ export class GeneratedAPIs { adsensehost = adsensehost; adsenseplatform = adsenseplatform; advisorynotifications = advisorynotifications; + agenciesandbrands = agenciesandbrands; agentidentity = agentidentity; agentidentitycredentials = agentidentitycredentials; agentregistry = agentregistry; @@ -1207,6 +1220,7 @@ export class GeneratedAPIs { areainsights = areainsights; artifactregistry = artifactregistry; assuredworkloads = assuredworkloads; + auditmanager = auditmanager; authorizedbuyersmarketplace = authorizedbuyersmarketplace; backupdr = backupdr; baremetalsolution = baremetalsolution; @@ -1271,6 +1285,7 @@ export class GeneratedAPIs { content = content; contentwarehouse = contentwarehouse; css = css; + curationpartners = curationpartners; customsearch = customsearch; databasecenter = databasecenter; datacatalog = datacatalog; diff --git a/src/apis/indexing/package.json b/src/apis/indexing/package.json index 84506b91ede..16b02c9c834 100644 --- a/src/apis/indexing/package.json +++ b/src/apis/indexing/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/integrations/package.json b/src/apis/integrations/package.json index 25b4cfb4655..3e13db8c45a 100644 --- a/src/apis/integrations/package.json +++ b/src/apis/integrations/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/jobs/package.json b/src/apis/jobs/package.json index b07904268ba..2c439cbd4e9 100644 --- a/src/apis/jobs/package.json +++ b/src/apis/jobs/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/keep/package.json b/src/apis/keep/package.json index f4c852f74ca..7e94b3481e7 100644 --- a/src/apis/keep/package.json +++ b/src/apis/keep/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/kgsearch/package.json b/src/apis/kgsearch/package.json index 3a6027a6b4a..1d867dc9a52 100644 --- a/src/apis/kgsearch/package.json +++ b/src/apis/kgsearch/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/kmsinventory/README.md b/src/apis/kmsinventory/README.md index c0a023c2c0c..efd0babe751 100644 --- a/src/apis/kmsinventory/README.md +++ b/src/apis/kmsinventory/README.md @@ -4,6 +4,15 @@ > +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/kms-inventory](https://www.npmjs.com/package/@google-cloud/kms-inventory) instead. +The [@google-cloud/kms-inventory](https://www.npmjs.com/package/@google-cloud/kms-inventory) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/kmsinventory/package.json b/src/apis/kmsinventory/package.json index 0f1fdee0cdc..5f675590090 100644 --- a/src/apis/kmsinventory/package.json +++ b/src/apis/kmsinventory/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/language/package.json b/src/apis/language/package.json index b2faecc69fa..f237314122d 100644 --- a/src/apis/language/package.json +++ b/src/apis/language/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/libraryagent/package.json b/src/apis/libraryagent/package.json index 84c1c5bff53..371f9424ff5 100644 --- a/src/apis/libraryagent/package.json +++ b/src/apis/libraryagent/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/licensing/package.json b/src/apis/licensing/package.json index 92f0ec66965..7e436c94bc6 100644 --- a/src/apis/licensing/package.json +++ b/src/apis/licensing/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/localservices/package.json b/src/apis/localservices/package.json index 6939d0bbf33..a7bb173a34a 100644 --- a/src/apis/localservices/package.json +++ b/src/apis/localservices/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/logging/README.md b/src/apis/logging/README.md index f70052cd3f2..0ccd1466cd5 100644 --- a/src/apis/logging/README.md +++ b/src/apis/logging/README.md @@ -8,8 +8,8 @@ **Note**: Google provides multiple libraries for this service. This library is in maintenance mode, and will continue to be made available for users who have existing applications. If you're building a new application, or modernizing a -legacy application, please use [@google-cloud/logging-winston](https://www.npmjs.com/package/@google-cloud/logging-winston) instead. -The [@google-cloud/logging-winston](https://www.npmjs.com/package/@google-cloud/logging-winston) library is faster, easier to use, and better maintained. +legacy application, please use [@google-cloud/logging-api](https://www.npmjs.com/package/@google-cloud/logging-api) instead. +The [@google-cloud/logging-api](https://www.npmjs.com/package/@google-cloud/logging-api) library is faster, easier to use, and better maintained. To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). diff --git a/src/apis/logging/package.json b/src/apis/logging/package.json index cd49cfab65b..5b1a8d6cbc0 100644 --- a/src/apis/logging/package.json +++ b/src/apis/logging/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/looker/package.json b/src/apis/looker/package.json index ced3fa657fc..d8a3e889777 100644 --- a/src/apis/looker/package.json +++ b/src/apis/looker/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/managedidentities/package.json b/src/apis/managedidentities/package.json index bf6327d4477..af98b94b2fd 100644 --- a/src/apis/managedidentities/package.json +++ b/src/apis/managedidentities/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/managedkafka/package.json b/src/apis/managedkafka/package.json index 6bfbadbb2d9..d1c34c5e3d5 100644 --- a/src/apis/managedkafka/package.json +++ b/src/apis/managedkafka/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/managedkafka/v1.ts b/src/apis/managedkafka/v1.ts index bbe9b4594a9..4d6030a5cfc 100644 --- a/src/apis/managedkafka/v1.ts +++ b/src/apis/managedkafka/v1.ts @@ -132,6 +132,10 @@ export namespace managedkafka_v1 { * Required. Virtual Private Cloud (VPC) networks that must be granted direct access to the Kafka cluster. Minimum of 1 network is required. Maximum 10 networks can be specified. */ networkConfigs?: Schema$NetworkConfig[]; + /** + * Optional. The configuration for public connectivity to the Kafka cluster. + */ + publicClusterConfig?: Schema$PublicClusterConfig; } /** * Represents the set of ACLs for a given Kafka Resource Pattern, which consists of resource_type, resource_name and pattern_type. @@ -196,6 +200,15 @@ export namespace managedkafka_v1 { */ aclCreated?: boolean | null; } + /** + * Capacity configuration at a per-broker level within the Kafka cluster. The config will be appled to each broker in the cluster. + */ + export interface Schema$BrokerCapacityConfig { + /** + * Optional. The disk to provision for each broker in Gibibytes. Minimum: 100 GiB. + */ + diskSizeGib?: string | null; + } /** * Details of a broker in the Kafka cluster. */ @@ -277,6 +290,14 @@ export namespace managedkafka_v1 { * An Apache Kafka cluster deployed in a location. */ export interface Schema$Cluster { + /** + * Output only. The bootstrap address of the Kafka cluster. The returned address format is: `bootstrap-...managedkafka.s.cloud.goog` or `bootstrap...managedkafka..cloud.goog` (legacy format). ## Examples: `bootstrap-nol2mecj8p94jhx2ge2rg54579a.c0aad26f.europe-west1.managedkafka.s.cloud.goog` - `bootstrap.my-cluster.us-central1.managedkafka.my-project.cloud.goog` The port number is omitted so clients can connect to their target listener (for example, `:9092` for TLS or `:9094` for mTLS). + */ + bootstrapAddress?: string | null; + /** + * Optional. Capacity configuration at a per-broker level within the Kafka cluster. The config will be appled to each broker in the cluster. + */ + brokerCapacityConfig?: Schema$BrokerCapacityConfig; /** * Output only. Only populated when FULL view is requested. Details of each broker in the cluster. */ @@ -289,12 +310,16 @@ export namespace managedkafka_v1 { * Output only. The time when the cluster was created. */ createTime?: string | null; + /** + * Output only. Only populated when FULL view is requested. The effective capacity configuration of the cluster. + */ + effectiveCapacityConfig?: Schema$EffectiveCapacityConfig; /** * Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform. */ gcpConfig?: Schema$GcpConfig; /** - * Output only. Only populated when FULL view is requested. The Kafka version of the cluster. + * Optional. The Apache Kafka version of the cluster (for example, `3.7.x`, `4.3.x`). If not specified during cluster creation, defaults to `3.7.x`. */ kafkaVersion?: string | null; /** @@ -305,6 +330,10 @@ export namespace managedkafka_v1 { * Identifier. The name of the cluster. Structured like: projects/{project_number\}/locations/{location\}/clusters/{cluster_id\} */ name?: string | null; + /** + * Output only. Details of the public cluster feature for the Kafka cluster. + */ + publicClusterDetails?: Schema$PublicClusterDetails; /** * Optional. Rebalance configuration for the Kafka cluster. */ @@ -542,6 +571,19 @@ export namespace managedkafka_v1 { */ id?: number | null; } + /** + * Describes the effective capacity configuration of a Kafka cluster, both cluster-wide and per-broker. + */ + export interface Schema$EffectiveCapacityConfig { + /** + * Output only. The number of brokers in the cluster. + */ + brokerCount?: string | null; + /** + * Output only. The disk assigned to each broker in Gibibytes. + */ + brokerDiskSizeGib?: string | null; + } /** * 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); \} */ @@ -826,6 +868,28 @@ export namespace managedkafka_v1 { * Response for PauseConnector. */ export interface Schema$PauseConnectorResponse {} + /** + * The configuration for a public Kafka cluster + */ + export interface Schema$PublicClusterConfig { + /** + * Required. The list of IPv4 ranges in CIDR notation that are allowed to connect to the public Kafka broker endpoints. The Kafka cluster should only be exposed to trusted external ranges. A maximum of 500 IP ranges can be specified and no single range can be larger than a `/16`. This field is required if PublicClusterConfig is specified. + */ + allowedSourceIpRanges?: string[] | null; + } + /** + * Details of the public cluster feature for the Kafka cluster. + */ + export interface Schema$PublicClusterDetails { + /** + * Output only. DNS discovery records that resolve to all of the external IP addresses associated with the public cluster. Used for configuring DNS-based egress firewall rules to a public cluster. discovery_dns_record can be added to this list if the cluster is scaled up. Must configure DNS based firewalls to resolve ALL DNS records in this list as large clusters have IP addresses sharded across records. Each record contains a maximum of 30 IP addresses. + */ + discoveryDnsRecords?: string[] | null; + /** + * Output only. All of the external IP addresses associated with the public cluster used for configuring egress firewall rules to a public cluster. external_ip_address can be added to this list if the cluster is scaled up. + */ + externalIpAddresses?: string[] | null; + } /** * Defines rebalancing behavior of a Kafka cluster. */ @@ -1496,13 +1560,17 @@ export namespace managedkafka_v1 { * requestBody: { * // request body parameters * // { + * // "bootstrapAddress": "my_bootstrapAddress", + * // "brokerCapacityConfig": {}, * // "brokerDetails": [], * // "capacityConfig": {}, * // "createTime": "my_createTime", + * // "effectiveCapacityConfig": {}, * // "gcpConfig": {}, * // "kafkaVersion": "my_kafkaVersion", * // "labels": {}, * // "name": "my_name", + * // "publicClusterDetails": {}, * // "rebalanceConfig": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, @@ -1798,13 +1866,17 @@ export namespace managedkafka_v1 { * * // Example response * // { + * // "bootstrapAddress": "my_bootstrapAddress", + * // "brokerCapacityConfig": {}, * // "brokerDetails": [], * // "capacityConfig": {}, * // "createTime": "my_createTime", + * // "effectiveCapacityConfig": {}, * // "gcpConfig": {}, * // "kafkaVersion": "my_kafkaVersion", * // "labels": {}, * // "name": "my_name", + * // "publicClusterDetails": {}, * // "rebalanceConfig": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, @@ -2096,13 +2168,17 @@ export namespace managedkafka_v1 { * requestBody: { * // request body parameters * // { + * // "bootstrapAddress": "my_bootstrapAddress", + * // "brokerCapacityConfig": {}, * // "brokerDetails": [], * // "capacityConfig": {}, * // "createTime": "my_createTime", + * // "effectiveCapacityConfig": {}, * // "gcpConfig": {}, * // "kafkaVersion": "my_kafkaVersion", * // "labels": {}, * // "name": "my_name", + * // "publicClusterDetails": {}, * // "rebalanceConfig": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, diff --git a/src/apis/manufacturers/package.json b/src/apis/manufacturers/package.json index 388cbbbe1ba..4e68991da18 100644 --- a/src/apis/manufacturers/package.json +++ b/src/apis/manufacturers/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/marketingplatformadmin/package.json b/src/apis/marketingplatformadmin/package.json index 8045e99e18f..28fd0fe606c 100644 --- a/src/apis/marketingplatformadmin/package.json +++ b/src/apis/marketingplatformadmin/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/meet/package.json b/src/apis/meet/package.json index c7c096c65b7..636ea938e0f 100644 --- a/src/apis/meet/package.json +++ b/src/apis/meet/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/memcache/package.json b/src/apis/memcache/package.json index 13d44ec5c6e..48540864d6c 100644 --- a/src/apis/memcache/package.json +++ b/src/apis/memcache/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/merchantapi/package.json b/src/apis/merchantapi/package.json index d9957e1ad10..0b9954e5005 100644 --- a/src/apis/merchantapi/package.json +++ b/src/apis/merchantapi/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/merchantapi/products_v1.ts b/src/apis/merchantapi/products_v1.ts index afee561f18a..0a8ef17599c 100644 --- a/src/apis/merchantapi/products_v1.ts +++ b/src/apis/merchantapi/products_v1.ts @@ -679,7 +679,7 @@ export namespace merchantapi_products_v1 { */ carrierShipping?: Schema$CarrierShipping[]; /** - * Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information. + * Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. For more information, see [Certification](https://support.google.com/merchants/answer/13528839). */ certifications?: Schema$ProductCertification[]; /** @@ -1215,6 +1215,14 @@ export namespace merchantapi_products_v1 { * The certification code. Maximum length is 2000 characters. */ certificationCode?: string | null; + /** + * Optional. URL to the certification document (eg. `https://www.example.com/document`), for example, the product data sheet or fiche required by UK's DESNZ or EU's EPREL. Maximum length is 2000 characters. For more information, see [Certification](https://support.google.com/merchants/answer/13528839). + */ + certificationDocumentLink?: string | null; + /** + * Optional. URL to the certification label (eg. `https://www.example.com/label`), for example, the energy efficiency label required by UK's DESNZ or EU's EPREL. Maximum length is 2000 characters. For more information, see [Certification](https://support.google.com/merchants/answer/13528839). + */ + certificationLabelLink?: string | null; /** * The name of the certification. */ diff --git a/src/apis/merchantapi/products_v1beta.ts b/src/apis/merchantapi/products_v1beta.ts index 822d90cc112..c042075e6dc 100644 --- a/src/apis/merchantapi/products_v1beta.ts +++ b/src/apis/merchantapi/products_v1beta.ts @@ -173,7 +173,7 @@ export namespace merchantapi_products_v1beta { */ canonicalLink?: string | null; /** - * Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information. + * Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. For more information, see [Certification](https://support.google.com/merchants/answer/13528839). */ certifications?: Schema$Certification[]; /** @@ -538,6 +538,14 @@ export namespace merchantapi_products_v1beta { * The certification code. Maximum length is 2000 characters. */ certificationCode?: string | null; + /** + * Optional. URL to the certification document (eg. `https://www.example.com/document`), for example, the product data sheet or fiche required by UK's DESNZ or EU's EPREL. Maximum length is 2000 characters. For more information, see [Certification](https://support.google.com/merchants/answer/13528839). + */ + certificationDocumentLink?: string | null; + /** + * Optional. URL to the certification label (eg. `https://www.example.com/label`), for example, the energy efficiency label required by UK's DESNZ or EU's EPREL. Maximum length is 2000 characters. For more information, see [Certification](https://support.google.com/merchants/answer/13528839). + */ + certificationLabelLink?: string | null; /** * The name of the certification, for example "EPREL". Maximum length is 2000 characters. */ diff --git a/src/apis/metastore/package.json b/src/apis/metastore/package.json index c1713df57cc..710fc5253c0 100644 --- a/src/apis/metastore/package.json +++ b/src/apis/metastore/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/metastore/v1.ts b/src/apis/metastore/v1.ts index 9e86b8c8061..d9a3a4b6631 100644 --- a/src/apis/metastore/v1.ts +++ b/src/apis/metastore/v1.ts @@ -231,6 +231,23 @@ export namespace metastore_v1 { */ name?: string | null; } + /** + * Backfill status for the migration execution. + */ + export interface Schema$BackfillStatus { + /** + * Output only. Summary of the migration results. This is populated after the backfill or dry run is finished. + */ + migrationSummary?: Schema$MigrationSummary; + /** + * Output only. The Cloud Storage path where the backfill or dry run report is written. Format: "gs://path-to-report". + */ + reportPath?: string | null; + /** + * Output only. The current state of the backfill (or dry run). + */ + state?: string | null; + } /** * The details of a backup resource. */ @@ -264,6 +281,39 @@ export namespace metastore_v1 { */ state?: string | null; } + /** + * Defines the configuration required to migrate metadata from a Dataproc Metastore service to BigLake Metastore. + */ + export interface Schema$BigLakeMetastoreMigrationConfig { + /** + * Output only. + */ + backfillStatus?: Schema$BackfillStatus; + /** + * Optional. The policy to handle conflicts when migrating resources, defaults to SKIP if not specified. + */ + conflictPolicy?: string | null; + /** + * Optional. If true, performs discovery of requested resources and analysis against the target catalog to come up with a plan for each resource (e.g. Create, Update, Skip, etc.). No metadata is actually migrated. + */ + dryRun?: boolean | null; + /** + * Optional. At least one of hive_config or iceberg_config must be provided, otherwise, a validation error will be thrown. If only one is provided, the service only migrates tables of that specific type. If both are provided, both Hive and Iceberg tables will be migrated.Configuration for migrating Hive tables to a BigLake Hive catalog. + */ + hiveConfig?: Schema$HiveConfig; + /** + * Optional. Configuration for migrating Iceberg tables to a BigLake Iceberg REST catalog. + */ + icebergConfig?: Schema$IcebergConfig; + /** + * Required. Defines the behavior of the migration execution. + */ + mode?: string | null; + /** + * Optional. The Cloud Storage path where the backfill / dry run report should be written. If not provided, the report will be generated in the service's artifacts bucket. Format: "gs://path/to/folder" + */ + reportPath?: string | null; + } /** * Associates members, or principals, with a role. */ @@ -290,87 +340,38 @@ export namespace metastore_v1 { */ export interface Schema$CancelOperationRequest {} /** - * Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. + * Aggregated report at the catalog level. */ - export interface Schema$CdcConfig { - /** - * Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like "gs://". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used. - */ - bucket?: string | null; - /** - * Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request. - */ - password?: string | null; - /** - * Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} - */ - reverseProxySubnet?: string | null; + export interface Schema$CatalogReport { /** - * Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration. + * The name of the catalog (format: projects/x/catalogs/x). */ - rootPath?: string | null; + catalog?: string | null; /** - * Required. A /29 CIDR IP range for peering with datastream. + * The type of catalog. */ - subnetIpRange?: string | null; + catalogType?: string | null; /** - * Required. The username that the Datastream service should use for the MySQL connection. + * A map of database names to their respective reports. */ - username?: string | null; - /** - * Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id\}/locations/global/networks/{network_id\}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity - */ - vpcNetwork?: string | null; + databaseReports?: {[key: string]: Schema$DatabaseReport} | null; } /** - * Configuration information to establish customer database connection before the cutover phase of migration + * Summary of results for a specific destination catalog. */ - export interface Schema$CloudSQLConnectionConfig { - /** - * Required. The hive database name. - */ - hiveDatabaseName?: string | null; - /** - * Required. Cloud SQL database connection name (project_id:region:instance_name) - */ - instanceConnectionName?: string | null; + export interface Schema$CatalogSummary { /** - * Required. The private IP address of the Cloud SQL instance. + * Output only. The catalog resource name (format: projects/x/catalogs/x). */ - ipAddress?: string | null; + catalog?: string | null; /** - * Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} + * Output only. The type of the catalog. */ - natSubnet?: string | null; - /** - * Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request. - */ - password?: string | null; - /** - * Required. The network port of the database. - */ - port?: number | null; + catalogType?: string | null; /** - * Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} + * Output only. Summary of results for each database in the catalog. */ - proxySubnet?: string | null; - /** - * Required. The username that Dataproc Metastore service will use to connect to the database. - */ - username?: string | null; - } - /** - * Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. - */ - export interface Schema$CloudSQLMigrationConfig { - /** - * Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration. - */ - cdcConfig?: Schema$CdcConfig; - /** - * Required. Configuration information to establish customer database connection before the cutover phase of migration - */ - cloudSqlConnectionConfig?: Schema$CloudSQLConnectionConfig; + databaseSummaries?: Schema$DatabaseSummary[]; } /** * Request message for DataprocMetastore.CompleteMigration. @@ -431,6 +432,48 @@ export namespace metastore_v1 { */ type?: string | null; } + /** + * Aggregated report at the database level. + */ + export interface Schema$DatabaseReport { + /** + * The name of the database. + */ + database?: string | null; + /** + * The discovered intent for the database (what we found and what we planned). + */ + executionPlan?: Schema$ExecutionPlan; + /** + * The actual outcome of the database migration. + */ + executionResult?: Schema$ExecutionResult; + /** + * A map of table names to their respective reports. + */ + tableReports?: {[key: string]: Schema$TableReport} | null; + } + /** + * Summary of results for a specific database in a catalog. + */ + export interface Schema$DatabaseSummary { + /** + * Output only. The name of the database. + */ + database?: string | null; + /** + * Output only. The migration plan action for the database. + */ + planAction?: string | null; + /** + * Output only. The migration result status for the database. This is only set if the migration is not a dry run. + */ + resultStatus?: string | null; + /** + * Output only. Aggregated summary of results for all tables in the database. + */ + tableSummary?: Schema$TableSummary; + } /** * Specifies how metastore metadata should be integrated with the Data Catalog service. */ @@ -462,6 +505,40 @@ export namespace metastore_v1 { */ details?: {[key: string]: string} | null; } + /** + * Represents the migration plan for a specific resource (e.g. Database, Table). + */ + export interface Schema$ExecutionPlan { + /** + * The action that will be taken for a resource during migration. + */ + action?: string | null; + /** + * A map of field names to their respective value diff. + */ + diffs?: {[key: string]: Schema$ValueDiff} | null; + /** + * A human-readable string explaining why the action was chosen. + */ + reason?: string | null; + } + /** + * Represents the actual migration result for a specific resource (e.g. Database, Table). + */ + export interface Schema$ExecutionResult { + /** + * Description of the error if the state is FAILED. + */ + errorMessage?: string | null; + /** + * Remediation steps for the error if the state is FAILED. + */ + remediation?: string | null; + /** + * Output only. The state of the migration for a resource. + */ + state?: string | null; + } /** * Request message for DataprocMetastore.ExportMetadata. */ @@ -549,6 +626,19 @@ export namespace metastore_v1 { */ version?: string | null; } + /** + * Configuration for migrating Hive metadata. + */ + export interface Schema$HiveConfig { + /** + * Required. The target catalog for migrated databases and tables. Format: "projects/{project_id_or_number\}/catalogs/{catalog_id\}" + */ + catalog?: string | null; + /** + * Required. The list of databases to migrate to the Hive catalog. Use "*" to migrate all databases. Note: If Iceberg tables exist in these databases, they will only be migrated if iceberg_config is also specified. + */ + databases?: string[] | null; + } /** * Specifies configuration information specific to running Hive metastore software as the metastore service. */ @@ -587,6 +677,19 @@ export namespace metastore_v1 { */ version?: string | null; } + /** + * Configuration for migrating Iceberg metadata. + */ + export interface Schema$IcebergConfig { + /** + * Required. The target catalog for migrated Iceberg metadata. Format: "projects/{project_id_or_number\}/catalogs/{catalog_id\}" + */ + catalog?: string | null; + /** + * Required. The list of namespaces to migrate to the Iceberg REST catalog. Use "*" to migrate all namespaces. Note: If Hive tables exist in these namespaces, they will only be migrated if hive_config is also specified. + */ + namespaces?: string[] | null; + } /** * Configuration information for a Kerberos principal. */ @@ -897,9 +1000,9 @@ export namespace metastore_v1 { */ export interface Schema$MigrationExecution { /** - * Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. + * Configuration information specific to migrating from Dataproc Metastore to BigLake Metastore. */ - cloudSqlMigrationConfig?: Schema$CloudSQLMigrationConfig; + biglakeMetastoreMigrationConfig?: Schema$BigLakeMetastoreMigrationConfig; /** * Output only. The time when the migration execution was started. */ @@ -925,6 +1028,40 @@ export namespace metastore_v1 { */ stateMessage?: string | null; } + /** + * Report containing the results of a migration run. This report is generated at the specified path in the BigLakeMetastoreMigrationConfig after the backfill is complete, or when a dry run is executed. + */ + export interface Schema$MigrationReport { + /** + * Output only. Detailed results for each catalog involved in the migration. + */ + catalogReports?: Schema$CatalogReport[]; + /** + * Output only. High-level summary of the migration results. + */ + summary?: Schema$MigrationSummary; + } + /** + * Summary of the migration results. + */ + export interface Schema$MigrationSummary { + /** + * Output only. Summary of results for each catalog involved in the migration. + */ + catalogSummaries?: Schema$CatalogSummary[]; + /** + * Output only. The UTC time when this report was finalized. + */ + createTime?: string | null; + /** + * Output only. Whether the migration was a dry run. + */ + dryRun?: boolean | null; + /** + * Output only. The Dataproc Metastore service name (format: projects/x/locations/x/services/x) on which the migration was executed. + */ + service?: string | null; + } /** * Request message for DataprocMetastore.MoveTableToDatabase. */ @@ -1030,6 +1167,23 @@ export namespace metastore_v1 { */ verb?: string | null; } + /** + * Partition migration report for a Hive table. + */ + export interface Schema$PartitionReport { + /** + * The number of partitions that failed to migrate at the target. + */ + partitionFailedCount?: string | null; + /** + * The number of partitions successfully migrated at the target. + */ + partitionSuccessCount?: string | null; + /** + * Output only. The state of the partition migration. + */ + state?: string | null; + } /** * 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/). */ @@ -1304,6 +1458,10 @@ export namespace metastore_v1 { * Required. The configuration details for the migration. */ migrationExecution?: Schema$MigrationExecution; + /** + * Optional. The ID to use for the migration execution, which will become the final component of the migration execution's resource name. If not specified, a UUID will be generated.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and valid characters are a-z0-9-. + */ + migrationExecutionId?: string | null; /** * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. */ @@ -1351,6 +1509,56 @@ export namespace metastore_v1 { */ space?: string | null; } + /** + * Aggregated report at the table level. + */ + export interface Schema$TableReport { + /** + * The discovered intent for the table (what we found and what we planned). + */ + executionPlan?: Schema$ExecutionPlan; + /** + * The actual outcome of the table migration. + */ + executionResult?: Schema$ExecutionResult; + /** + * The total number of partitions identified at the source during discovery. This is only relevant for Hive Partitioned tables. + */ + partitionDiscoveredCount?: string | null; + /** + * Report containing the results of partition migration for this table. This is only relevant for Hive Partitioned tables. + */ + partitionReport?: Schema$PartitionReport; + /** + * The name of the table. + */ + table?: string | null; + } + /** + * Aggregated summary of results for all tables in a database. + */ + export interface Schema$TableSummary { + /** + * Output only. Partition migration summary across all Hive tables in the database.The total number of partitions discovered at the source. + */ + partitionDiscoveredCount?: string | null; + /** + * Output only. The total number of partitions that failed to migrate at the target. + */ + partitionFailedCount?: string | null; + /** + * Output only. The total number of partitions successfully migrated at the target. + */ + partitionSuccessCount?: string | null; + /** + * Output only. Number of tables with a specific migration plan action. The key is the action name (e.g. CREATE, UPDATE, SKIP, etc.). + */ + planCounts?: {[key: string]: string} | null; + /** + * Output only. Number of tables with a specific migration result status. The key is the status name (e.g. SUCCEEDED, FAILED, SKIPPED, etc.). This is only set if the migration is not a dry run. + */ + resultCounts?: {[key: string]: string} | null; + } /** * Telemetry Configuration for the Dataproc Metastore service. */ @@ -1378,6 +1586,19 @@ export namespace metastore_v1 { */ permissions?: string[] | null; } + /** + * A field-level metadata mismatch for a resource between the source and target. + */ + export interface Schema$ValueDiff { + /** + * The value of the field at the source. + */ + sourceValue?: string | null; + /** + * The value of the field at the target. + */ + targetValue?: string | null; + } export class Resource$Projects { context: APIRequestContext; @@ -5978,6 +6199,7 @@ export namespace metastore_v1 { * // request body parameters * // { * // "migrationExecution": {}, + * // "migrationExecutionId": "my_migrationExecutionId", * // "requestId": "my_requestId" * // } * }, @@ -8934,7 +9156,7 @@ export namespace metastore_v1 { * * // Example response * // { - * // "cloudSqlMigrationConfig": {}, + * // "biglakeMetastoreMigrationConfig": {}, * // "createTime": "my_createTime", * // "endTime": "my_endTime", * // "name": "my_name", diff --git a/src/apis/metastore/v1alpha.ts b/src/apis/metastore/v1alpha.ts index 2536f881c36..e635e1646e6 100644 --- a/src/apis/metastore/v1alpha.ts +++ b/src/apis/metastore/v1alpha.ts @@ -382,89 +382,6 @@ export namespace metastore_v1alpha { */ databaseSummaries?: Schema$DatabaseSummary[]; } - /** - * Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. - */ - export interface Schema$CdcConfig { - /** - * Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like "gs://". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used. - */ - bucket?: string | null; - /** - * Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request. - */ - password?: string | null; - /** - * Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} - */ - reverseProxySubnet?: string | null; - /** - * Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration. - */ - rootPath?: string | null; - /** - * Required. A /29 CIDR IP range for peering with datastream. - */ - subnetIpRange?: string | null; - /** - * Required. The username that the Datastream service should use for the MySQL connection. - */ - username?: string | null; - /** - * Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id\}/locations/global/networks/{network_id\}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity - */ - vpcNetwork?: string | null; - } - /** - * Configuration information to establish customer database connection before the cutover phase of migration - */ - export interface Schema$CloudSQLConnectionConfig { - /** - * Required. The hive database name. - */ - hiveDatabaseName?: string | null; - /** - * Required. Cloud SQL database connection name (project_id:region:instance_name) - */ - instanceConnectionName?: string | null; - /** - * Required. The private IP address of the Cloud SQL instance. - */ - ipAddress?: string | null; - /** - * Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} - */ - natSubnet?: string | null; - /** - * Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request. - */ - password?: string | null; - /** - * Required. The network port of the database. - */ - port?: number | null; - /** - * Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} - */ - proxySubnet?: string | null; - /** - * Required. The username that Dataproc Metastore service will use to connect to the database. - */ - username?: string | null; - } - /** - * Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. - */ - export interface Schema$CloudSQLMigrationConfig { - /** - * Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration. - */ - cdcConfig?: Schema$CdcConfig; - /** - * Required. Configuration information to establish customer database connection before the cutover phase of migration - */ - cloudSqlConnectionConfig?: Schema$CloudSQLConnectionConfig; - } /** * Request message for DataprocMetastore.CompleteMigration. */ @@ -1143,10 +1060,6 @@ export namespace metastore_v1alpha { * Configuration information specific to migrating from Dataproc Metastore to BigLake Metastore. */ biglakeMetastoreMigrationConfig?: Schema$BigLakeMetastoreMigrationConfig; - /** - * Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. - */ - cloudSqlMigrationConfig?: Schema$CloudSQLMigrationConfig; /** * Output only. The time when the migration execution was started. */ @@ -1654,6 +1567,10 @@ export namespace metastore_v1alpha { * Required. The configuration details for the migration. */ migrationExecution?: Schema$MigrationExecution; + /** + * Optional. The ID to use for the migration execution, which will become the final component of the migration execution's resource name. If not specified, a UUID will be generated.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and valid characters are a-z0-9-. + */ + migrationExecutionId?: string | null; /** * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. */ @@ -6547,6 +6464,7 @@ export namespace metastore_v1alpha { * // request body parameters * // { * // "migrationExecution": {}, + * // "migrationExecutionId": "my_migrationExecutionId", * // "requestId": "my_requestId" * // } * }, @@ -10003,7 +9921,6 @@ export namespace metastore_v1alpha { * // Example response * // { * // "biglakeMetastoreMigrationConfig": {}, - * // "cloudSqlMigrationConfig": {}, * // "createTime": "my_createTime", * // "endTime": "my_endTime", * // "name": "my_name", diff --git a/src/apis/metastore/v1beta.ts b/src/apis/metastore/v1beta.ts index 819b9db2bd9..a2ef9a962ac 100644 --- a/src/apis/metastore/v1beta.ts +++ b/src/apis/metastore/v1beta.ts @@ -382,89 +382,6 @@ export namespace metastore_v1beta { */ databaseSummaries?: Schema$DatabaseSummary[]; } - /** - * Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. - */ - export interface Schema$CdcConfig { - /** - * Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like "gs://". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used. - */ - bucket?: string | null; - /** - * Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request. - */ - password?: string | null; - /** - * Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} - */ - reverseProxySubnet?: string | null; - /** - * Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration. - */ - rootPath?: string | null; - /** - * Required. A /29 CIDR IP range for peering with datastream. - */ - subnetIpRange?: string | null; - /** - * Required. The username that the Datastream service should use for the MySQL connection. - */ - username?: string | null; - /** - * Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id\}/locations/global/networks/{network_id\}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity - */ - vpcNetwork?: string | null; - } - /** - * Configuration information to establish customer database connection before the cutover phase of migration - */ - export interface Schema$CloudSQLConnectionConfig { - /** - * Required. The hive database name. - */ - hiveDatabaseName?: string | null; - /** - * Required. Cloud SQL database connection name (project_id:region:instance_name) - */ - instanceConnectionName?: string | null; - /** - * Required. The private IP address of the Cloud SQL instance. - */ - ipAddress?: string | null; - /** - * Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} - */ - natSubnet?: string | null; - /** - * Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request. - */ - password?: string | null; - /** - * Required. The network port of the database. - */ - port?: number | null; - /** - * Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} - */ - proxySubnet?: string | null; - /** - * Required. The username that Dataproc Metastore service will use to connect to the database. - */ - username?: string | null; - } - /** - * Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. - */ - export interface Schema$CloudSQLMigrationConfig { - /** - * Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration. - */ - cdcConfig?: Schema$CdcConfig; - /** - * Required. Configuration information to establish customer database connection before the cutover phase of migration - */ - cloudSqlConnectionConfig?: Schema$CloudSQLConnectionConfig; - } /** * Request message for DataprocMetastore.CompleteMigration. */ @@ -1143,10 +1060,6 @@ export namespace metastore_v1beta { * Configuration information specific to migrating from Dataproc Metastore to BigLake Metastore. */ biglakeMetastoreMigrationConfig?: Schema$BigLakeMetastoreMigrationConfig; - /** - * Deprecated: Migrations to Dataproc Metastore are no longer supported. Use BigLake Metastore migration instead. Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. - */ - cloudSqlMigrationConfig?: Schema$CloudSQLMigrationConfig; /** * Output only. The time when the migration execution was started. */ @@ -1654,6 +1567,10 @@ export namespace metastore_v1beta { * Required. The configuration details for the migration. */ migrationExecution?: Schema$MigrationExecution; + /** + * Optional. The ID to use for the migration execution, which will become the final component of the migration execution's resource name. If not specified, a UUID will be generated.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and valid characters are a-z0-9-. + */ + migrationExecutionId?: string | null; /** * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. */ @@ -6547,6 +6464,7 @@ export namespace metastore_v1beta { * // request body parameters * // { * // "migrationExecution": {}, + * // "migrationExecutionId": "my_migrationExecutionId", * // "requestId": "my_requestId" * // } * }, @@ -10003,7 +9921,6 @@ export namespace metastore_v1beta { * // Example response * // { * // "biglakeMetastoreMigrationConfig": {}, - * // "cloudSqlMigrationConfig": {}, * // "createTime": "my_createTime", * // "endTime": "my_endTime", * // "name": "my_name", diff --git a/src/apis/migrationcenter/package.json b/src/apis/migrationcenter/package.json index 4c76e7c2273..e65081e426c 100644 --- a/src/apis/migrationcenter/package.json +++ b/src/apis/migrationcenter/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/ml/package.json b/src/apis/ml/package.json index 9f2f2b39ca0..2cac06a9a0f 100644 --- a/src/apis/ml/package.json +++ b/src/apis/ml/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/monitoring/README.md b/src/apis/monitoring/README.md index 779b695afbd..f894c83b7c0 100644 --- a/src/apis/monitoring/README.md +++ b/src/apis/monitoring/README.md @@ -8,8 +8,8 @@ **Note**: Google provides multiple libraries for this service. This library is in maintenance mode, and will continue to be made available for users who have existing applications. If you're building a new application, or modernizing a -legacy application, please use [@google-cloud/monitoring-dashboards](https://www.npmjs.com/package/@google-cloud/monitoring-dashboards) instead. -The [@google-cloud/monitoring-dashboards](https://www.npmjs.com/package/@google-cloud/monitoring-dashboards) library is faster, easier to use, and better maintained. +legacy application, please use [@google-cloud/monitoring](https://www.npmjs.com/package/@google-cloud/monitoring) instead. +The [@google-cloud/monitoring](https://www.npmjs.com/package/@google-cloud/monitoring) library is faster, easier to use, and better maintained. To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). diff --git a/src/apis/monitoring/package.json b/src/apis/monitoring/package.json index b6a0b72b456..52bdcdbc5af 100644 --- a/src/apis/monitoring/package.json +++ b/src/apis/monitoring/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/mybusinessaccountmanagement/package.json b/src/apis/mybusinessaccountmanagement/package.json index 825127cb190..c9dc0f429b4 100644 --- a/src/apis/mybusinessaccountmanagement/package.json +++ b/src/apis/mybusinessaccountmanagement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/mybusinessbusinesscalls/package.json b/src/apis/mybusinessbusinesscalls/package.json index e757d335369..353ffb0f326 100644 --- a/src/apis/mybusinessbusinesscalls/package.json +++ b/src/apis/mybusinessbusinesscalls/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/mybusinessbusinessinformation/package.json b/src/apis/mybusinessbusinessinformation/package.json index e4771b49eb2..a83689a1939 100644 --- a/src/apis/mybusinessbusinessinformation/package.json +++ b/src/apis/mybusinessbusinessinformation/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/mybusinessbusinessinformation/v1.ts b/src/apis/mybusinessbusinessinformation/v1.ts index 006607b2041..f7ade589fd8 100644 --- a/src/apis/mybusinessbusinessinformation/v1.ts +++ b/src/apis/mybusinessbusinessinformation/v1.ts @@ -900,11 +900,11 @@ export namespace mybusinessbusinessinformation_v1 { */ export interface Schema$SpecialHourPeriod { /** - * 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. + * 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. */ closed?: boolean | null; /** - * Optional. Valid values are `00:00-24:00`, where `24:00` represents midnight at the end of the specified day field. It must be specified if `closed` is `false`. Note: In Proto3 JSON mapping, default zero values (`00:00`) are omitted, producing `{\}` for `close_time`. + * 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. */ closeTime?: Schema$TimeOfDay; /** @@ -912,7 +912,7 @@ export namespace mybusinessbusinessinformation_v1 { */ endDate?: Schema$Date; /** - * Optional. Valid values are `00:00-24:00`, where `24:00` represents midnight at the end of the specified day field. It must be specified if `closed` is `false`. Note: In Proto3 JSON mapping, default zero values (`00:00`) are omitted, producing `{\}` for `open_time`. + * 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. */ openTime?: Schema$TimeOfDay; /** @@ -972,7 +972,7 @@ export namespace mybusinessbusinessinformation_v1 { */ closeDay?: string | null; /** - * Required. Valid values are `00:00-24:00`, where `24:00` represents midnight at the end of the specified day field. Note: In Proto3 JSON mapping, default zero values (`00:00`) are omitted, producing `{\}` for `close_time`. + * Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Note: In Proto3 JSON mapping, default zero values (00:00) are omitted, producing `{\}` for close_time. */ closeTime?: Schema$TimeOfDay; /** @@ -980,7 +980,7 @@ export namespace mybusinessbusinessinformation_v1 { */ openDay?: string | null; /** - * Required. Valid values are `00:00-24:00`, where `24:00` represents midnight at the end of the specified day field. Note: In Proto3 JSON mapping, default zero values (`00:00`) are omitted, producing `{\}` for `open_time`. + * Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Note: In Proto3 JSON mapping, default zero values (00:00) are omitted, producing `{\}` for open_time. */ openTime?: Schema$TimeOfDay; } diff --git a/src/apis/mybusinesslodging/package.json b/src/apis/mybusinesslodging/package.json index a830cac122a..2775379ef71 100644 --- a/src/apis/mybusinesslodging/package.json +++ b/src/apis/mybusinesslodging/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/mybusinessnotifications/package.json b/src/apis/mybusinessnotifications/package.json index 53478122ba9..d2d69746feb 100644 --- a/src/apis/mybusinessnotifications/package.json +++ b/src/apis/mybusinessnotifications/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/mybusinessplaceactions/package.json b/src/apis/mybusinessplaceactions/package.json index e957eb53087..f02bb256c17 100644 --- a/src/apis/mybusinessplaceactions/package.json +++ b/src/apis/mybusinessplaceactions/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/mybusinessqanda/package.json b/src/apis/mybusinessqanda/package.json index c6002beaca8..50f2ae6a5ee 100644 --- a/src/apis/mybusinessqanda/package.json +++ b/src/apis/mybusinessqanda/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/mybusinessverifications/package.json b/src/apis/mybusinessverifications/package.json index ad1113f0de8..38b2b283337 100644 --- a/src/apis/mybusinessverifications/package.json +++ b/src/apis/mybusinessverifications/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/netapp/package.json b/src/apis/netapp/package.json index bfb9d5e3da7..6909f174ff5 100644 --- a/src/apis/netapp/package.json +++ b/src/apis/netapp/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/networkconnectivity/package.json b/src/apis/networkconnectivity/package.json index 2c275d38065..8cce52eb581 100644 --- a/src/apis/networkconnectivity/package.json +++ b/src/apis/networkconnectivity/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/networkmanagement/package.json b/src/apis/networkmanagement/package.json index a1d1cb52ba3..67769be6566 100644 --- a/src/apis/networkmanagement/package.json +++ b/src/apis/networkmanagement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/networksecurity/package.json b/src/apis/networksecurity/package.json index 1e2b4f75ae7..bd5ed375bca 100644 --- a/src/apis/networksecurity/package.json +++ b/src/apis/networksecurity/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/networksecurity/v1.ts b/src/apis/networksecurity/v1.ts index 610f5681ff7..84904b115b4 100644 --- a/src/apis/networksecurity/v1.ts +++ b/src/apis/networksecurity/v1.ts @@ -235,7 +235,7 @@ export namespace networksecurity_v1 { */ export interface Schema$AuthzPolicy { /** - * Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request. + * Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`, `DENY_BY_DEFAULT`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When the action is `DENY_BY_DEFAULT`, no `http_rules` or `network_rules` can be specified. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If any of the `ALLOW` policies match the request, the request is allowed. 4. If a `DENY_BY_DEFAULT` policy is applied to the resource, the request is denied (unless it was explicitly allowed by a `CUSTOM` or `ALLOW` policy). 5. Else, the request is allowed by default if no other policies are configured. */ action?: string | null; /** @@ -481,7 +481,7 @@ export namespace networksecurity_v1 { */ export interface Schema$AuthzPolicyAuthzRuleToRequestOperationMCPMethod { /** - * Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + * Required. The MCP method to match against. Allowed values include: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. */ name?: string | null; /** @@ -520,7 +520,7 @@ export namespace networksecurity_v1 { */ export interface Schema$AuthzPolicyTarget { /** - * Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). + * Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values include `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). */ loadBalancingScheme?: string | null; /** @@ -2447,6 +2447,10 @@ export namespace networksecurity_v1 { * Required. A CA pool resource used to issue interception certificates. The CA pool string has a relative resource path following the form "projects/{project\}/locations/{location\}/caPools/{ca_pool\}". */ caPool?: string | null; + /** + * Optional. The mode used to issue certificates (local CA signing vs direct leaf). + */ + certificateIssuanceMode?: string | null; /** * Output only. The timestamp when the resource was created. */ @@ -30972,6 +30976,7 @@ export namespace networksecurity_v1 { * // request body parameters * // { * // "caPool": "my_caPool", + * // "certificateIssuanceMode": "my_certificateIssuanceMode", * // "createTime": "my_createTime", * // "customTlsFeatures": [], * // "description": "my_description", @@ -31274,6 +31279,7 @@ export namespace networksecurity_v1 { * // Example response * // { * // "caPool": "my_caPool", + * // "certificateIssuanceMode": "my_certificateIssuanceMode", * // "createTime": "my_createTime", * // "customTlsFeatures": [], * // "description": "my_description", @@ -31578,6 +31584,7 @@ export namespace networksecurity_v1 { * // request body parameters * // { * // "caPool": "my_caPool", + * // "certificateIssuanceMode": "my_certificateIssuanceMode", * // "createTime": "my_createTime", * // "customTlsFeatures": [], * // "description": "my_description", diff --git a/src/apis/networksecurity/v1beta1.ts b/src/apis/networksecurity/v1beta1.ts index 167d0309a08..76f86ec0c68 100644 --- a/src/apis/networksecurity/v1beta1.ts +++ b/src/apis/networksecurity/v1beta1.ts @@ -235,7 +235,7 @@ export namespace networksecurity_v1beta1 { */ export interface Schema$AuthzPolicy { /** - * Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request. + * Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`, `DENY_BY_DEFAULT`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When the action is `DENY_BY_DEFAULT`, no `http_rules` or `network_rules` can be specified. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If any of the `ALLOW` policies match the request, the request is allowed. 4. If a `DENY_BY_DEFAULT` policy is applied to the resource, the request is denied (unless it was explicitly allowed by a `CUSTOM` or `ALLOW` policy). 5. Else, the request is allowed by default if no other policies are configured. */ action?: string | null; /** @@ -481,7 +481,7 @@ export namespace networksecurity_v1beta1 { */ export interface Schema$AuthzPolicyAuthzRuleToRequestOperationMCPMethod { /** - * Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + * Required. The MCP method to match against. Allowed values include: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. */ name?: string | null; /** @@ -520,7 +520,7 @@ export namespace networksecurity_v1beta1 { */ export interface Schema$AuthzPolicyTarget { /** - * Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). + * Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values include `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). */ loadBalancingScheme?: string | null; /** @@ -753,6 +753,10 @@ export namespace networksecurity_v1beta1 { * Optional. Settings for the endpoint. */ endpointSettings?: Schema$FirewallEndpointEndpointSettings; + /** + * Output only. The resource name of the explicit PSC Attachment. Format: projects/{project\}/regions/{region\}/serviceAttachments/{id\} + */ + explicitPrivateServiceConnectAttachment?: string | null; /** * Optional. Labels as key value pairs */ @@ -882,7 +886,7 @@ export namespace networksecurity_v1beta1 { */ wildfireRealtimeLookupTimeoutAction?: string | null; /** - * Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + * Optional. The region where WildFire analysis will be performed. Palo Alto Networks supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud */ wildfireRegion?: string | null; } @@ -2572,6 +2576,10 @@ export namespace networksecurity_v1beta1 { * Required. A CA pool resource used to issue interception certificates. The CA pool string has a relative resource path following the form "projects/{project\}/locations/{location\}/caPools/{ca_pool\}". */ caPool?: string | null; + /** + * Optional. The mode used to issue certificates (local CA signing vs direct leaf). + */ + certificateIssuanceMode?: string | null; /** * Output only. The timestamp when the resource was created. */ @@ -4995,6 +5003,7 @@ export namespace networksecurity_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "endpointSettings": {}, + * // "explicitPrivateServiceConnectAttachment": "my_explicitPrivateServiceConnectAttachment", * // "labels": {}, * // "name": "my_name", * // "reconciling": false, @@ -5301,6 +5310,7 @@ export namespace networksecurity_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "endpointSettings": {}, + * // "explicitPrivateServiceConnectAttachment": "my_explicitPrivateServiceConnectAttachment", * // "labels": {}, * // "name": "my_name", * // "reconciling": false, @@ -5611,6 +5621,7 @@ export namespace networksecurity_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "endpointSettings": {}, + * // "explicitPrivateServiceConnectAttachment": "my_explicitPrivateServiceConnectAttachment", * // "labels": {}, * // "name": "my_name", * // "reconciling": false, @@ -17584,6 +17595,7 @@ export namespace networksecurity_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "endpointSettings": {}, + * // "explicitPrivateServiceConnectAttachment": "my_explicitPrivateServiceConnectAttachment", * // "labels": {}, * // "name": "my_name", * // "reconciling": false, @@ -17891,6 +17903,7 @@ export namespace networksecurity_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "endpointSettings": {}, + * // "explicitPrivateServiceConnectAttachment": "my_explicitPrivateServiceConnectAttachment", * // "labels": {}, * // "name": "my_name", * // "reconciling": false, @@ -18198,6 +18211,7 @@ export namespace networksecurity_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "endpointSettings": {}, + * // "explicitPrivateServiceConnectAttachment": "my_explicitPrivateServiceConnectAttachment", * // "labels": {}, * // "name": "my_name", * // "reconciling": false, @@ -32453,6 +32467,7 @@ export namespace networksecurity_v1beta1 { * // request body parameters * // { * // "caPool": "my_caPool", + * // "certificateIssuanceMode": "my_certificateIssuanceMode", * // "createTime": "my_createTime", * // "customTlsFeatures": [], * // "description": "my_description", @@ -32755,6 +32770,7 @@ export namespace networksecurity_v1beta1 { * // Example response * // { * // "caPool": "my_caPool", + * // "certificateIssuanceMode": "my_certificateIssuanceMode", * // "createTime": "my_createTime", * // "customTlsFeatures": [], * // "description": "my_description", @@ -33059,6 +33075,7 @@ export namespace networksecurity_v1beta1 { * // request body parameters * // { * // "caPool": "my_caPool", + * // "certificateIssuanceMode": "my_certificateIssuanceMode", * // "createTime": "my_createTime", * // "customTlsFeatures": [], * // "description": "my_description", diff --git a/src/apis/networkservices/package.json b/src/apis/networkservices/package.json index bc07b143561..3eeb884095b 100644 --- a/src/apis/networkservices/package.json +++ b/src/apis/networkservices/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/networkservices/v1beta1.ts b/src/apis/networkservices/v1beta1.ts index cb42f85f4f1..dd05453e749 100644 --- a/src/apis/networkservices/v1beta1.ts +++ b/src/apis/networkservices/v1beta1.ts @@ -373,6 +373,48 @@ export namespace networkservices_v1beta1 { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + /** + * `CdnEdgeExtension` is a resource that lets the extension service modify the headers of both requests to the cache and responses from the cache served by an [`EdgeCacheService`](https://cloud.google.com/media-cdn/docs/reference/rest/v1/projects.locations.edgeCacheServices). + */ + export interface Schema$CdnEdgeExtension { + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Required. A set of ordered extension chains that contain the match conditions and extensions to execute. Match conditions for each extension chain are evaluated in sequence for a given request. The first extension chain that has a condition that matches the request is executed. Any subsequent extension chains do not execute. Limited to 5 extension chains per resource. + */ + extensionChains?: Schema$ExtensionChain[]; + /** + * Optional. Set of labels associated with the `CdnEdgeExtension` resource. The format must comply with [the requirements for labels](https://cloud.google.com/compute/docs/labeling-resources#requirements) for Google Cloud resources. + */ + labels?: {[key: string]: string} | null; + /** + * Required. Identifier. Name of the `CdnEdgeExtension` resource in the following format: `projects/{project\}/locations/{location\}/cdnEdgeExtensions/{cdn_edge_extension\}`. + */ + name?: string | null; + /** + * Required. Specifies the set of resources to which this extension should be applied to. + */ + target?: Schema$CdnEdgeExtensionTarget; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + } + /** + * Specifies the set of targets to which `CdnEdgeExtension` should be applied to. + */ + export interface Schema$CdnEdgeExtensionTarget { + /** + * Required. A list of references to the resources that are targeted by `CdnEdgeExtension`. Types of resources supported: `EdgeCacheService`. The format must be the full resource name of [EdgeCacheService](https://cloud.google.com/media-cdn/docs/reference/rest/v1/projects.locations.edgeCacheServices) in the following format: `//networkservices.googleapis.com/projects/{project\}/locations/{location\}/edgeCacheServices/{edgeCacheService\}`. + */ + resources?: string[] | null; + } /** * DNS Peering configuration. */ @@ -1682,6 +1724,23 @@ export namespace networkservices_v1beta1 { */ unreachable?: string[] | null; } + /** + * Message for response to listing `CdnEdgeExtension` resources. + */ + export interface Schema$ListCdnEdgeExtensionsResponse { + /** + * The list of `CdnEdgeExtension` resources. + */ + cdnEdgeExtensions?: Schema$CdnEdgeExtension[]; + /** + * A token identifying a page of results that the server returns. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } /** * Response returned by the ListEndpointPolicies method. */ @@ -2780,6 +2839,7 @@ export namespace networkservices_v1beta1 { agentConnectivityTemplates: Resource$Projects$Locations$Agentconnectivitytemplates; agentGateways: Resource$Projects$Locations$Agentgateways; authzExtensions: Resource$Projects$Locations$Authzextensions; + cdnEdgeExtensions: Resource$Projects$Locations$Cdnedgeextensions; endpointPolicies: Resource$Projects$Locations$Endpointpolicies; extensionBindings: Resource$Projects$Locations$Extensionbindings; gateways: Resource$Projects$Locations$Gateways; @@ -2809,6 +2869,8 @@ export namespace networkservices_v1beta1 { this.authzExtensions = new Resource$Projects$Locations$Authzextensions( this.context ); + this.cdnEdgeExtensions = + new Resource$Projects$Locations$Cdnedgeextensions(this.context); this.endpointPolicies = new Resource$Projects$Locations$Endpointpolicies( this.context ); @@ -5692,6 +5754,848 @@ export namespace networkservices_v1beta1 { requestBody?: Schema$AuthzExtension; } + export class Resource$Projects$Locations$Cdnedgeextensions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new `CdnEdgeExtension` resource in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.cdnEdgeExtensions.create( + * { + * // Required. User-provided ID of the `CdnEdgeExtension` resource to be created. + * cdnEdgeExtensionId: 'placeholder-value', + * // Required. The parent resource of the `CdnEdgeExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "extensionChains": [], + * // "labels": {}, + * // "name": "my_name", + * // "target": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Cdnedgeextensions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cdnedgeextensions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cdnedgeextensions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Cdnedgeextensions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/cdnEdgeExtensions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified `CdnEdgeExtension` resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.cdnEdgeExtensions.delete( + * { + * // Required. The name of the `CdnEdgeExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/cdnEdgeExtensions/{cdn_edge_extension\}`. + * name: 'projects/my-project/locations/my-location/cdnEdgeExtensions/my-cdnEdgeExtension', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Cdnedgeextensions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cdnedgeextensions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cdnedgeextensions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Cdnedgeextensions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified `CdnEdgeExtension` resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.cdnEdgeExtensions.get({ + * // Required. A name of the `CdnEdgeExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/cdnEdgeExtensions/{cdn_edge_extension\}`. + * name: 'projects/my-project/locations/my-location/cdnEdgeExtensions/my-cdnEdgeExtension', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "extensionChains": [], + * // "labels": {}, + * // "name": "my_name", + * // "target": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Cdnedgeextensions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cdnedgeextensions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cdnedgeextensions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Cdnedgeextensions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists `CdnEdgeExtensions` resources in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.cdnEdgeExtensions.list({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint about how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results that the server returns. + * pageToken: 'placeholder-value', + * // Required. The project and location from which the `CdnEdgeExtension` resources are listed. These values are specified in the following format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "cdnEdgeExtensions": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Cdnedgeextensions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cdnedgeextensions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cdnedgeextensions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Cdnedgeextensions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/cdnEdgeExtensions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates the parameters of the specified `CdnEdgeExtension` resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networkservices.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networkservices = google.networkservices('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networkservices.projects.locations.cdnEdgeExtensions.patch({ + * // Required. Identifier. Name of the `CdnEdgeExtension` resource in the following format: `projects/{project\}/locations/{location\}/cdnEdgeExtensions/{cdn_edge_extension\}`. + * name: 'projects/my-project/locations/my-location/cdnEdgeExtensions/my-cdnEdgeExtension', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Optional. Used to specify the fields to be overwritten in the `CdnEdgeExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "extensionChains": [], + * // "labels": {}, + * // "name": "my_name", + * // "target": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Cdnedgeextensions$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Cdnedgeextensions$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cdnedgeextensions$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cdnedgeextensions$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Cdnedgeextensions$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Cdnedgeextensions$Create extends StandardParameters { + /** + * Required. User-provided ID of the `CdnEdgeExtension` resource to be created. + */ + cdnEdgeExtensionId?: string; + /** + * Required. The parent resource of the `CdnEdgeExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CdnEdgeExtension; + } + export interface Params$Resource$Projects$Locations$Cdnedgeextensions$Delete extends StandardParameters { + /** + * Required. The name of the `CdnEdgeExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/cdnEdgeExtensions/{cdn_edge_extension\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Cdnedgeextensions$Get extends StandardParameters { + /** + * Required. A name of the `CdnEdgeExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/cdnEdgeExtensions/{cdn_edge_extension\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Cdnedgeextensions$List extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint about how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results that the server returns. + */ + pageToken?: string; + /** + * Required. The project and location from which the `CdnEdgeExtension` resources are listed. These values are specified in the following format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Cdnedgeextensions$Patch extends StandardParameters { + /** + * Required. Identifier. Name of the `CdnEdgeExtension` resource in the following format: `projects/{project\}/locations/{location\}/cdnEdgeExtensions/{cdn_edge_extension\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for 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 ignores the second request This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Used to specify the fields to be overwritten in the `CdnEdgeExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CdnEdgeExtension; + } + export class Resource$Projects$Locations$Endpointpolicies { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/notebooks/package.json b/src/apis/notebooks/package.json index 066f1275477..33a985b9b2e 100644 --- a/src/apis/notebooks/package.json +++ b/src/apis/notebooks/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/oauth2/package.json b/src/apis/oauth2/package.json index 3c9cf1af7b6..17df4bc0f09 100644 --- a/src/apis/oauth2/package.json +++ b/src/apis/oauth2/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/observability/package.json b/src/apis/observability/package.json index 0342af1307b..2214641ca78 100644 --- a/src/apis/observability/package.json +++ b/src/apis/observability/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/ondemandscanning/package.json b/src/apis/ondemandscanning/package.json index d634b74d924..7e0540d1bcc 100644 --- a/src/apis/ondemandscanning/package.json +++ b/src/apis/ondemandscanning/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/ondemandscanning/v1.ts b/src/apis/ondemandscanning/v1.ts index bbeddf7675b..cce600d79a8 100644 --- a/src/apis/ondemandscanning/v1.ts +++ b/src/apis/ondemandscanning/v1.ts @@ -1164,6 +1164,10 @@ export namespace ondemandscanning_v1 { * Status of the scan. */ scanStatus?: string | null; + /** + * Telemetry metrics tracking token usage for the AI scan. + */ + tokenUsage?: Schema$TokenUsage; } /** * Result of Malicious Content Static scan. @@ -1938,6 +1942,31 @@ export namespace ondemandscanning_v1 { digest?: {[key: string]: string} | null; name?: string | null; } + /** + * Token usage associated with an AI scan. + */ + export interface Schema$TokenUsage { + /** + * Cache matched tokens for implicit cache. + */ + cacheCount?: string | null; + /** + * Tokens in the model response. + */ + candidateCount?: string | null; + /** + * Tokens in the user request. + */ + promptCount?: string | null; + /** + * Tokens in the thinking output. + */ + thinkingCount?: string | null; + /** + * Prompt tokens for using tools. + */ + toolUsePromptCount?: string | null; + } /** * 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. */ diff --git a/src/apis/ondemandscanning/v1beta1.ts b/src/apis/ondemandscanning/v1beta1.ts index 6e0e4e75f13..4d0d372a2fa 100644 --- a/src/apis/ondemandscanning/v1beta1.ts +++ b/src/apis/ondemandscanning/v1beta1.ts @@ -1160,6 +1160,10 @@ export namespace ondemandscanning_v1beta1 { * Status of the scan. */ scanStatus?: string | null; + /** + * Telemetry metrics tracking token usage for the AI scan. + */ + tokenUsage?: Schema$TokenUsage; } /** * Result of Malicious Content Static scan. @@ -1934,6 +1938,31 @@ export namespace ondemandscanning_v1beta1 { digest?: {[key: string]: string} | null; name?: string | null; } + /** + * Token usage associated with an AI scan. + */ + export interface Schema$TokenUsage { + /** + * Cache matched tokens for implicit cache. + */ + cacheCount?: string | null; + /** + * Tokens in the model response. + */ + candidateCount?: string | null; + /** + * Tokens in the user request. + */ + promptCount?: string | null; + /** + * Tokens in the thinking output. + */ + thinkingCount?: string | null; + /** + * Prompt tokens for using tools. + */ + toolUsePromptCount?: string | null; + } /** * 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. */ diff --git a/src/apis/oracledatabase/package.json b/src/apis/oracledatabase/package.json index 9b91d0413ea..9192bff2b50 100644 --- a/src/apis/oracledatabase/package.json +++ b/src/apis/oracledatabase/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/orgpolicy/package.json b/src/apis/orgpolicy/package.json index b5823a62032..d070fc83774 100644 --- a/src/apis/orgpolicy/package.json +++ b/src/apis/orgpolicy/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/osconfig/package.json b/src/apis/osconfig/package.json index 66b9fe68432..77d24a1c7a9 100644 --- a/src/apis/osconfig/package.json +++ b/src/apis/osconfig/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/oslogin/package.json b/src/apis/oslogin/package.json index 4c1f9eb385d..27e096e648f 100644 --- a/src/apis/oslogin/package.json +++ b/src/apis/oslogin/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/pagespeedonline/package.json b/src/apis/pagespeedonline/package.json index 440022428d7..96a4f8624a1 100644 --- a/src/apis/pagespeedonline/package.json +++ b/src/apis/pagespeedonline/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/parallelstore/package.json b/src/apis/parallelstore/package.json index ac9221f72e1..b9e29b1b2c7 100644 --- a/src/apis/parallelstore/package.json +++ b/src/apis/parallelstore/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/parametermanager/package.json b/src/apis/parametermanager/package.json index 1b562d70d97..6f917abdd55 100644 --- a/src/apis/parametermanager/package.json +++ b/src/apis/parametermanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/parametermanager/v1.ts b/src/apis/parametermanager/v1.ts index 414e445e986..12a57e0b516 100644 --- a/src/apis/parametermanager/v1.ts +++ b/src/apis/parametermanager/v1.ts @@ -262,6 +262,10 @@ export namespace parametermanager_v1 { * Output only. [Output-only] policy member strings of a Google Cloud resource. */ policyMember?: Schema$ResourcePolicyMember; + /** + * Optional. Input only. Immutable. Tag keys and tag values that are bound to this Parameter. You must represent each item in the map as: `"" : ""`. For example, a single resource can have the following tags: ``` "123/environment": "production", "123/costCenter": "marketing", ``` Tags are used to organize and group resources. Tags can be used to control policy evaluation for the resource. + */ + tags?: {[key: string]: string} | null; /** * Output only. [Output only] Update time stamp */ @@ -271,6 +275,10 @@ export namespace parametermanager_v1 { * Message describing ParameterVersion resource */ export interface Schema$ParameterVersion { + /** + * Optional. Output only. [Output only] The source of the checksum. + */ + checksumSource?: string | null; /** * Output only. [Output only] Create time stamp */ @@ -304,6 +312,10 @@ export namespace parametermanager_v1 { * Required. bytes data for storing payload. */ data?: string | null; + /** + * Optional. [Optional] The integrity checksum of the payload. If provided, the server will verify that the checksum matches the payload. If not provided, the server will generate the checksum. + */ + dataCrc32c?: string | null; } /** * Message describing RenderParameterVersionResponse resource @@ -815,6 +827,7 @@ export namespace parametermanager_v1 { * // "labels": {}, * // "name": "my_name", * // "policyMember": {}, + * // "tags": {}, * // "updateTime": "my_updateTime" * // } * }, @@ -829,6 +842,7 @@ export namespace parametermanager_v1 { * // "labels": {}, * // "name": "my_name", * // "policyMember": {}, + * // "tags": {}, * // "updateTime": "my_updateTime" * // } * } @@ -1106,6 +1120,7 @@ export namespace parametermanager_v1 { * // "labels": {}, * // "name": "my_name", * // "policyMember": {}, + * // "tags": {}, * // "updateTime": "my_updateTime" * // } * } @@ -1399,6 +1414,7 @@ export namespace parametermanager_v1 { * // "labels": {}, * // "name": "my_name", * // "policyMember": {}, + * // "tags": {}, * // "updateTime": "my_updateTime" * // } * }, @@ -1413,6 +1429,7 @@ export namespace parametermanager_v1 { * // "labels": {}, * // "name": "my_name", * // "policyMember": {}, + * // "tags": {}, * // "updateTime": "my_updateTime" * // } * } @@ -1637,6 +1654,7 @@ export namespace parametermanager_v1 { * requestBody: { * // request body parameters * // { + * // "checksumSource": "my_checksumSource", * // "createTime": "my_createTime", * // "disabled": false, * // "kmsKeyVersion": "my_kmsKeyVersion", @@ -1650,6 +1668,7 @@ export namespace parametermanager_v1 { * * // Example response * // { + * // "checksumSource": "my_checksumSource", * // "createTime": "my_createTime", * // "disabled": false, * // "kmsKeyVersion": "my_kmsKeyVersion", @@ -1934,6 +1953,7 @@ export namespace parametermanager_v1 { * * // Example response * // { + * // "checksumSource": "my_checksumSource", * // "createTime": "my_createTime", * // "disabled": false, * // "kmsKeyVersion": "my_kmsKeyVersion", @@ -2237,6 +2257,7 @@ export namespace parametermanager_v1 { * requestBody: { * // request body parameters * // { + * // "checksumSource": "my_checksumSource", * // "createTime": "my_createTime", * // "disabled": false, * // "kmsKeyVersion": "my_kmsKeyVersion", @@ -2250,6 +2271,7 @@ export namespace parametermanager_v1 { * * // Example response * // { + * // "checksumSource": "my_checksumSource", * // "createTime": "my_createTime", * // "disabled": false, * // "kmsKeyVersion": "my_kmsKeyVersion", diff --git a/src/apis/paymentsresellersubscription/package.json b/src/apis/paymentsresellersubscription/package.json index 1aceac5dd77..c530888724b 100644 --- a/src/apis/paymentsresellersubscription/package.json +++ b/src/apis/paymentsresellersubscription/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/people/package.json b/src/apis/people/package.json index 557e7a763c4..db0f19f5b47 100644 --- a/src/apis/people/package.json +++ b/src/apis/people/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/places/package.json b/src/apis/places/package.json index 48629976577..61478fc7064 100644 --- a/src/apis/places/package.json +++ b/src/apis/places/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/playablelocations/package.json b/src/apis/playablelocations/package.json index beafd93f43d..e50e5454511 100644 --- a/src/apis/playablelocations/package.json +++ b/src/apis/playablelocations/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/playcustomapp/package.json b/src/apis/playcustomapp/package.json index 18c4387547e..ed0f4322cdf 100644 --- a/src/apis/playcustomapp/package.json +++ b/src/apis/playcustomapp/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/playdeveloperreporting/package.json b/src/apis/playdeveloperreporting/package.json index 66d22e6672f..eeae698d6fa 100644 --- a/src/apis/playdeveloperreporting/package.json +++ b/src/apis/playdeveloperreporting/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/playgrouping/package.json b/src/apis/playgrouping/package.json index 6c733dedb2e..feafc4846df 100644 --- a/src/apis/playgrouping/package.json +++ b/src/apis/playgrouping/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/playintegrity/package.json b/src/apis/playintegrity/package.json index fad1574bdf2..0bab85e1869 100644 --- a/src/apis/playintegrity/package.json +++ b/src/apis/playintegrity/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/plus/package.json b/src/apis/plus/package.json index a05311c6ee8..2bb6d65d9d2 100644 --- a/src/apis/plus/package.json +++ b/src/apis/plus/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/policyanalyzer/package.json b/src/apis/policyanalyzer/package.json index c8dae8e2e94..d441b120efd 100644 --- a/src/apis/policyanalyzer/package.json +++ b/src/apis/policyanalyzer/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/policysimulator/package.json b/src/apis/policysimulator/package.json index 586871e0d88..0ea708fa9b9 100644 --- a/src/apis/policysimulator/package.json +++ b/src/apis/policysimulator/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/policytroubleshooter/package.json b/src/apis/policytroubleshooter/package.json index a84c9848399..cced1816ac5 100644 --- a/src/apis/policytroubleshooter/package.json +++ b/src/apis/policytroubleshooter/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/pollen/package.json b/src/apis/pollen/package.json index 193c35721c8..231aac74b42 100644 --- a/src/apis/pollen/package.json +++ b/src/apis/pollen/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/poly/package.json b/src/apis/poly/package.json index fd5ddb8962f..99ee2c9d179 100644 --- a/src/apis/poly/package.json +++ b/src/apis/poly/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/privateca/package.json b/src/apis/privateca/package.json index b0e0ce9efea..6492db4a9d5 100644 --- a/src/apis/privateca/package.json +++ b/src/apis/privateca/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/prod_tt_sasportal/package.json b/src/apis/prod_tt_sasportal/package.json index f2317c66276..21b73dcd927 100644 --- a/src/apis/prod_tt_sasportal/package.json +++ b/src/apis/prod_tt_sasportal/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/publicca/package.json b/src/apis/publicca/package.json index ec89b7817e5..6d1f8b56e7e 100644 --- a/src/apis/publicca/package.json +++ b/src/apis/publicca/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/pubsub/README.md b/src/apis/pubsub/README.md index f01913acb0c..938da55e1e9 100644 --- a/src/apis/pubsub/README.md +++ b/src/apis/pubsub/README.md @@ -4,6 +4,15 @@ > Provides reliable, many-to-many, asynchronous messaging between applications. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/pubsub-api](https://www.npmjs.com/package/@google-cloud/pubsub-api) instead. +The [@google-cloud/pubsub-api](https://www.npmjs.com/package/@google-cloud/pubsub-api) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/pubsub/package.json b/src/apis/pubsub/package.json index 8293246022c..66641be3ede 100644 --- a/src/apis/pubsub/package.json +++ b/src/apis/pubsub/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/pubsub/v1.ts b/src/apis/pubsub/v1.ts index ae93af53bed..b75c1b908b9 100644 --- a/src/apis/pubsub/v1.ts +++ b/src/apis/pubsub/v1.ts @@ -433,6 +433,19 @@ export namespace pubsub_v1 { */ schema?: Schema$Schema; } + /** + * Configuration specific to compiled Protocol Buffer schemas. + */ + export interface Schema$CompiledProtoSchema { + /** + * Required. The compiled FileDescriptorSet binary. + */ + compiledBytes?: string | null; + /** + * Required. The name of the root message type in the schema. + */ + rootMessage?: string | null; + } /** * Configuration for compressing/decompressing message data using a user-specified compression algorithm. */ @@ -925,6 +938,10 @@ export namespace pubsub_v1 { * A schema resource. */ export interface Schema$Schema { + /** + * Optional. Configuration for a schema provided as a pre-compiled Protocol Buffer FileDescriptorSet. The `type` field above must be set to PROTOCOL_BUFFER. + */ + compiledProtoSchema?: Schema$CompiledProtoSchema; /** * The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`. */ @@ -1344,6 +1361,7 @@ export namespace pubsub_v1 { * * // Example response * // { + * // "compiledProtoSchema": {}, * // "definition": "my_definition", * // "name": "my_name", * // "revisionCreateTime": "my_revisionCreateTime", @@ -1486,6 +1504,7 @@ export namespace pubsub_v1 { * requestBody: { * // request body parameters * // { + * // "compiledProtoSchema": {}, * // "definition": "my_definition", * // "name": "my_name", * // "revisionCreateTime": "my_revisionCreateTime", @@ -1498,6 +1517,7 @@ export namespace pubsub_v1 { * * // Example response * // { + * // "compiledProtoSchema": {}, * // "definition": "my_definition", * // "name": "my_name", * // "revisionCreateTime": "my_revisionCreateTime", @@ -1777,6 +1797,7 @@ export namespace pubsub_v1 { * * // Example response * // { + * // "compiledProtoSchema": {}, * // "definition": "my_definition", * // "name": "my_name", * // "revisionCreateTime": "my_revisionCreateTime", @@ -1922,6 +1943,7 @@ export namespace pubsub_v1 { * * // Example response * // { + * // "compiledProtoSchema": {}, * // "definition": "my_definition", * // "name": "my_name", * // "revisionCreateTime": "my_revisionCreateTime", @@ -2511,6 +2533,7 @@ export namespace pubsub_v1 { * * // Example response * // { + * // "compiledProtoSchema": {}, * // "definition": "my_definition", * // "name": "my_name", * // "revisionCreateTime": "my_revisionCreateTime", diff --git a/src/apis/pubsublite/package.json b/src/apis/pubsublite/package.json index c57994050ce..0cfa5d12dc2 100644 --- a/src/apis/pubsublite/package.json +++ b/src/apis/pubsublite/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/rapidmigrationassessment/package.json b/src/apis/rapidmigrationassessment/package.json index c6176246885..6a1d25a16ed 100644 --- a/src/apis/rapidmigrationassessment/package.json +++ b/src/apis/rapidmigrationassessment/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/readerrevenuesubscriptionlinking/package.json b/src/apis/readerrevenuesubscriptionlinking/package.json index 13c59eed590..bcadf55da4e 100644 --- a/src/apis/readerrevenuesubscriptionlinking/package.json +++ b/src/apis/readerrevenuesubscriptionlinking/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/realtimebidding/package.json b/src/apis/realtimebidding/package.json index 0a36a183c4b..4d8ebffe754 100644 --- a/src/apis/realtimebidding/package.json +++ b/src/apis/realtimebidding/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/recaptchaenterprise/package.json b/src/apis/recaptchaenterprise/package.json index 6572dcdc886..0cec7cded6b 100644 --- a/src/apis/recaptchaenterprise/package.json +++ b/src/apis/recaptchaenterprise/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/recaptchaenterprise/v1.ts b/src/apis/recaptchaenterprise/v1.ts index c171a5d39e3..3f3f7155e68 100644 --- a/src/apis/recaptchaenterprise/v1.ts +++ b/src/apis/recaptchaenterprise/v1.ts @@ -1187,6 +1187,10 @@ export namespace recaptchaenterprise_v1 { * Output only. The name of the Android package with which the token was generated (Android keys only). */ androidPackageName?: string | null; + /** + * Output only. Indicates a failure collecting reCAPTCHA signals at token generation. This might be a transient condition, or persistent for a user’s environment. + */ + clientSignalsFailed?: boolean | null; /** * Output only. The timestamp corresponding to the generation of the token. */ @@ -1454,7 +1458,7 @@ export namespace recaptchaenterprise_v1 { */ allowedDomains?: string[] | null; /** - * Optional. Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for `IntegrationType` CHECKBOX, INVISIBLE or POLICY_BASED_CHALLENGE. + * Optional. Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for `IntegrationType` CHECKBOX (defaults to BALANCE), INVISIBLE (defaults to USABILITY), or POLICY_BASED_CHALLENGE (defaults to USABILITY). */ challengeSecurityPreference?: string | null; /** diff --git a/src/apis/recommendationengine/package.json b/src/apis/recommendationengine/package.json index 685ca535df1..2a58f109b12 100644 --- a/src/apis/recommendationengine/package.json +++ b/src/apis/recommendationengine/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/recommender/package.json b/src/apis/recommender/package.json index bfdf2205465..ed999ec0749 100644 --- a/src/apis/recommender/package.json +++ b/src/apis/recommender/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/redis/package.json b/src/apis/redis/package.json index 7208f4b0ed8..7ce024631d1 100644 --- a/src/apis/redis/package.json +++ b/src/apis/redis/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/remotebuildexecution/package.json b/src/apis/remotebuildexecution/package.json index 1a9db2da4ee..f1fbdac5eac 100644 --- a/src/apis/remotebuildexecution/package.json +++ b/src/apis/remotebuildexecution/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/reseller/package.json b/src/apis/reseller/package.json index db004e0ec62..8f570eea3f9 100644 --- a/src/apis/reseller/package.json +++ b/src/apis/reseller/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/resourcesettings/package.json b/src/apis/resourcesettings/package.json index ae23c34a3c2..7b8e0b8e317 100644 --- a/src/apis/resourcesettings/package.json +++ b/src/apis/resourcesettings/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/retail/package.json b/src/apis/retail/package.json index 08baf3c7373..f047b0368b0 100644 --- a/src/apis/retail/package.json +++ b/src/apis/retail/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/retail/v2alpha.ts b/src/apis/retail/v2alpha.ts index 471fb6e57cf..c55cf96640c 100644 --- a/src/apis/retail/v2alpha.ts +++ b/src/apis/retail/v2alpha.ts @@ -744,6 +744,10 @@ export namespace retail_v2alpha { * Response of the autocomplete query. */ export interface Schema$GoogleCloudRetailV2alphaCompleteQueryResponse { + /** + * Conversational prompts to trigger agents like Shopping Agent. This is an experimental feature for select customers. + */ + agentPrompts?: Schema$GoogleCloudRetailV2alphaCompleteQueryResponseAgentPrompt[]; /** * A map of matched attribute suggestions. This field is only available for `cloud-retail` dataset. Current supported keys: * `brands` * `categories` */ @@ -765,6 +769,15 @@ export namespace retail_v2alpha { */ recentSearchResults?: Schema$GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult[]; } + /** + * A conversational prompt to trigger agents like Shopping Agent. + */ + export interface Schema$GoogleCloudRetailV2alphaCompleteQueryResponseAgentPrompt { + /** + * The conversational prompt string. + */ + prompt?: string | null; + } /** * Resource that represents attribute results. */ @@ -779,9 +792,9 @@ export namespace retail_v2alpha { */ export interface Schema$GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResult { /** - * Conversational prompts to trigger agents like Shopping Agent. There may be multiple prompts for a single suggestion. This is an experimental feature for select customers. If you want to receive this prompt information, reach out to the Retail support team. + * Deprecated: Use CompleteQueryResponse.agent_prompts instead. Conversational prompts to trigger agents like Shopping Agent. There may be multiple prompts for a single suggestion. This is an experimental feature for select customers. */ - agentPrompts?: Schema$GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResultAgentPrompt[]; + agentPrompts?: Schema$GoogleCloudRetailV2alphaCompleteQueryResponseAgentPrompt[]; /** * Custom attributes for the suggestion term. * For `user-data`, the attributes are additional custom attributes ingested through BigQuery. * For `cloud-retail`, the attributes are product attributes generated by Cloud Retail. It requires UserEvent.product_details is imported properly. */ @@ -801,15 +814,6 @@ export namespace retail_v2alpha { */ totalProductCount?: number | null; } - /** - * A conversational prompt to trigger agents like Shopping Agent. - */ - export interface Schema$GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResultAgentPrompt { - /** - * The conversational prompt string. - */ - prompt?: string | null; - } /** * Deprecated: Recent search of this user. */ @@ -6053,6 +6057,7 @@ export namespace retail_v2alpha { * * // Example response * // { + * // "agentPrompts": [], * // "attributeResults": {}, * // "attributionToken": "my_attributionToken", * // "completionResults": [], diff --git a/src/apis/run/package.json b/src/apis/run/package.json index f53493e7f89..02b605657b0 100644 --- a/src/apis/run/package.json +++ b/src/apis/run/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/run/v1.ts b/src/apis/run/v1.ts index 58259498dd4..e3946159d9e 100644 --- a/src/apis/run/v1.ts +++ b/src/apis/run/v1.ts @@ -2532,7 +2532,7 @@ export namespace run_v1 { */ export interface Schema$ObjectMeta { /** - * 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. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision . * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision, Instance . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution, Instance. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution, Instance. + * 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. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision, Instance. * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution, Instance. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution, Instance. */ annotations?: {[key: string]: string} | null; /** diff --git a/src/apis/run/v2.ts b/src/apis/run/v2.ts index 99dfa7f756d..62ad3ceb038 100644 --- a/src/apis/run/v2.ts +++ b/src/apis/run/v2.ts @@ -365,7 +365,7 @@ export namespace run_v2 { */ sandboxLauncher?: boolean | null; /** - * Optional. Location of the source. + * Optional. Location of the source. This field is only supported in Cloud Run Service. */ sourceCode?: Schema$GoogleCloudRunV2SourceCode; /** @@ -910,6 +910,10 @@ export namespace run_v2 { */ satisfiesPzs?: boolean | null; serviceAccount?: string | null; + /** + * Optional. Enables SSH access to the Instance. + */ + sshEnabled?: boolean | null; /** * Output only. The Condition of this Instance, 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. */ @@ -1017,6 +1021,10 @@ export namespace run_v2 { * Output only. For a deleted resource, the time after which it will be permamently deleted. */ expireTime?: string | null; + /** + * Optional. The functional type of the Job. + */ + functionalType?: string | null; /** * Output only. A number that monotonically increases every time the user modifies the desired state. */ @@ -1457,6 +1465,10 @@ export namespace run_v2 { * VPC Access configuration for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. */ vpcAccess?: Schema$GoogleCloudRunV2VpcAccess; + /** + * Optional. The Revision's workload identity settings. + */ + workloadIdentityConfig?: Schema$GoogleCloudRunV2WorkloadIdentityConfig; } /** * Settings for revision-level scaling settings. @@ -1576,6 +1588,10 @@ export namespace run_v2 { * Optional. VPC Access configuration to use for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. */ vpcAccess?: Schema$GoogleCloudRunV2VpcAccess; + /** + * Optional. The Revision's workload identity settings. + */ + workloadIdentityConfig?: Schema$GoogleCloudRunV2WorkloadIdentityConfig; } /** * Request message to create a new Execution of a Job. @@ -1676,10 +1692,6 @@ export namespace run_v2 { * User-provided description of the Service. This field currently has a 512-character limit. */ description?: string | null; - /** - * Optional. Immutable. Indicates whether the Service has durable execution enabled. This field is immutable once the Service is created. - */ - durableExecution?: boolean | null; /** * Optional. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates. */ @@ -1688,6 +1700,10 @@ export namespace run_v2 { * Output only. For a deleted resource, the time after which it will be permanently deleted. */ expireTime?: string | null; + /** + * Optional. The functional type of the Service. + */ + functionalType?: string | null; /** * Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`. */ @@ -1828,7 +1844,7 @@ export namespace run_v2 { */ cloudStorageSource?: Schema$GoogleCloudRunV2CloudStorageSource; /** - * Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source. + * Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source. This field is only supported in Cloud Run Service. */ inlinedSource?: Schema$GoogleCloudRunV2InlinedSource; } @@ -2086,6 +2102,10 @@ export namespace run_v2 { * Output only. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. */ vpcAccess?: Schema$GoogleCloudRunV2VpcAccess; + /** + * Optional. The Task's workload identity settings. + */ + workloadIdentityConfig?: Schema$GoogleCloudRunV2WorkloadIdentityConfig; } /** * Result of a task attempt. @@ -2148,6 +2168,10 @@ export namespace run_v2 { * Optional. VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. */ vpcAccess?: Schema$GoogleCloudRunV2VpcAccess; + /** + * Optional. The Task's workload identity settings. + */ + workloadIdentityConfig?: Schema$GoogleCloudRunV2WorkloadIdentityConfig; } /** * TCPSocketAction describes an action based on opening a socket @@ -2501,6 +2525,23 @@ export namespace run_v2 { */ manualInstanceCount?: number | null; } + /** + * Workload identity settings. + */ + export interface Schema$GoogleCloudRunV2WorkloadIdentityConfig { + /** + * Optional. The Revision's SPIFFE workload identity. Enables provisioning of SPIFFE workload certificates. + */ + identity?: string | null; + /** + * Optional. Controls whether an instance receives a MWLID certificate. Corresponds to the intention of the original --[no-]identity-certificate flag. + */ + identityCertificateEnabled?: boolean | null; + /** + * Optional. The type of identity to use. + */ + identityType?: string | null; + } /** * ApprovalConfig describes configuration for manual approval of a build. */ @@ -4783,6 +4824,7 @@ export namespace run_v2 { * // "restartPolicy": "my_restartPolicy", * // "satisfiesPzs": false, * // "serviceAccount": "my_serviceAccount", + * // "sshEnabled": false, * // "terminalCondition": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", @@ -5125,6 +5167,7 @@ export namespace run_v2 { * // "restartPolicy": "my_restartPolicy", * // "satisfiesPzs": false, * // "serviceAccount": "my_serviceAccount", + * // "sshEnabled": false, * // "terminalCondition": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", @@ -5614,6 +5657,7 @@ export namespace run_v2 { * // "restartPolicy": "my_restartPolicy", * // "satisfiesPzs": false, * // "serviceAccount": "my_serviceAccount", + * // "sshEnabled": false, * // "terminalCondition": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", @@ -6553,6 +6597,7 @@ export namespace run_v2 { * // "etag": "my_etag", * // "executionCount": 0, * // "expireTime": "my_expireTime", + * // "functionalType": "my_functionalType", * // "generation": "my_generation", * // "labels": {}, * // "lastModifier": "my_lastModifier", @@ -6879,6 +6924,7 @@ export namespace run_v2 { * // "etag": "my_etag", * // "executionCount": 0, * // "expireTime": "my_expireTime", + * // "functionalType": "my_functionalType", * // "generation": "my_generation", * // "labels": {}, * // "lastModifier": "my_lastModifier", @@ -7348,6 +7394,7 @@ export namespace run_v2 { * // "etag": "my_etag", * // "executionCount": 0, * // "expireTime": "my_expireTime", + * // "functionalType": "my_functionalType", * // "generation": "my_generation", * // "labels": {}, * // "lastModifier": "my_lastModifier", @@ -8997,7 +9044,8 @@ export namespace run_v2 { * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumes": [], - * // "vpcAccess": {} + * // "vpcAccess": {}, + * // "workloadIdentityConfig": {} * // } * } * @@ -9995,9 +10043,9 @@ export namespace run_v2 { * // "defaultUriDisabled": false, * // "deleteTime": "my_deleteTime", * // "description": "my_description", - * // "durableExecution": false, * // "etag": "my_etag", * // "expireTime": "my_expireTime", + * // "functionalType": "my_functionalType", * // "generation": "my_generation", * // "iapEnabled": false, * // "ingress": "my_ingress", @@ -10338,9 +10386,9 @@ export namespace run_v2 { * // "defaultUriDisabled": false, * // "deleteTime": "my_deleteTime", * // "description": "my_description", - * // "durableExecution": false, * // "etag": "my_etag", * // "expireTime": "my_expireTime", + * // "functionalType": "my_functionalType", * // "generation": "my_generation", * // "iapEnabled": false, * // "ingress": "my_ingress", @@ -10830,9 +10878,9 @@ export namespace run_v2 { * // "defaultUriDisabled": false, * // "deleteTime": "my_deleteTime", * // "description": "my_description", - * // "durableExecution": false, * // "etag": "my_etag", * // "expireTime": "my_expireTime", + * // "functionalType": "my_functionalType", * // "generation": "my_generation", * // "iapEnabled": false, * // "ingress": "my_ingress", @@ -11787,7 +11835,8 @@ export namespace run_v2 { * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumes": [], - * // "vpcAccess": {} + * // "vpcAccess": {}, + * // "workloadIdentityConfig": {} * // } * } * @@ -13974,7 +14023,8 @@ export namespace run_v2 { * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumes": [], - * // "vpcAccess": {} + * // "vpcAccess": {}, + * // "workloadIdentityConfig": {} * // } * } * diff --git a/src/apis/runtimeconfig/package.json b/src/apis/runtimeconfig/package.json index c705a3a74e0..348750d826e 100644 --- a/src/apis/runtimeconfig/package.json +++ b/src/apis/runtimeconfig/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/saasservicemgmt/package.json b/src/apis/saasservicemgmt/package.json index 09ae2cc485e..5c91bc66d68 100644 --- a/src/apis/saasservicemgmt/package.json +++ b/src/apis/saasservicemgmt/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/safebrowsing/package.json b/src/apis/safebrowsing/package.json index abc587a2ba8..df520884ce0 100644 --- a/src/apis/safebrowsing/package.json +++ b/src/apis/safebrowsing/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/sasportal/package.json b/src/apis/sasportal/package.json index b54c2135b8f..8f9d0f23137 100644 --- a/src/apis/sasportal/package.json +++ b/src/apis/sasportal/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/script/package.json b/src/apis/script/package.json index 09da0652fef..ef039e669b3 100644 --- a/src/apis/script/package.json +++ b/src/apis/script/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/searchads360/package.json b/src/apis/searchads360/package.json index 63b7ad49e03..4171c8f1f19 100644 --- a/src/apis/searchads360/package.json +++ b/src/apis/searchads360/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/searchconsole/package.json b/src/apis/searchconsole/package.json index e173a87b997..9afcf2ee5e8 100644 --- a/src/apis/searchconsole/package.json +++ b/src/apis/searchconsole/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/secretmanager/package.json b/src/apis/secretmanager/package.json index 162243df4cf..1b95b7e8cbb 100644 --- a/src/apis/secretmanager/package.json +++ b/src/apis/secretmanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/securesourcemanager/package.json b/src/apis/securesourcemanager/package.json index 6734b4e2182..e9221e0dba5 100644 --- a/src/apis/securesourcemanager/package.json +++ b/src/apis/securesourcemanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/securitycenter/package.json b/src/apis/securitycenter/package.json index fc277543bd3..451efabd651 100644 --- a/src/apis/securitycenter/package.json +++ b/src/apis/securitycenter/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/securityposture/package.json b/src/apis/securityposture/package.json index efa23939f5e..a861fa4c7fe 100644 --- a/src/apis/securityposture/package.json +++ b/src/apis/securityposture/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/serviceconsumermanagement/package.json b/src/apis/serviceconsumermanagement/package.json index 580345baa52..93727968304 100644 --- a/src/apis/serviceconsumermanagement/package.json +++ b/src/apis/serviceconsumermanagement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/servicecontrol/package.json b/src/apis/servicecontrol/package.json index ac6b8591685..7e54ba0ca37 100644 --- a/src/apis/servicecontrol/package.json +++ b/src/apis/servicecontrol/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/servicedirectory/package.json b/src/apis/servicedirectory/package.json index f70be69381b..97ee5e74a3d 100644 --- a/src/apis/servicedirectory/package.json +++ b/src/apis/servicedirectory/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/servicemanagement/package.json b/src/apis/servicemanagement/package.json index 89144282c0d..7b8965c01f7 100644 --- a/src/apis/servicemanagement/package.json +++ b/src/apis/servicemanagement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/servicenetworking/package.json b/src/apis/servicenetworking/package.json index 2ba081bceda..8f2ac5eff84 100644 --- a/src/apis/servicenetworking/package.json +++ b/src/apis/servicenetworking/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/serviceusage/package.json b/src/apis/serviceusage/package.json index df4d022f5b4..69c21221072 100644 --- a/src/apis/serviceusage/package.json +++ b/src/apis/serviceusage/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/serviceusage/v1.ts b/src/apis/serviceusage/v1.ts index 6d9419202cd..bc30446c0c7 100644 --- a/src/apis/serviceusage/v1.ts +++ b/src/apis/serviceusage/v1.ts @@ -918,7 +918,7 @@ export namespace serviceusage_v1 { */ export interface Schema$EnableRule { /** - * Client and resource project enable type. + * Deprecated: EnableType is not supported. */ enableType?: string | null; /** diff --git a/src/apis/serviceusage/v1beta1.ts b/src/apis/serviceusage/v1beta1.ts index c7788584868..3e16ee7150e 100644 --- a/src/apis/serviceusage/v1beta1.ts +++ b/src/apis/serviceusage/v1beta1.ts @@ -962,7 +962,7 @@ export namespace serviceusage_v1beta1 { */ export interface Schema$EnableRule { /** - * Client and resource project enable type. + * Deprecated: EnableType is not supported. */ enableType?: string | null; /** diff --git a/src/apis/sheets/package.json b/src/apis/sheets/package.json index 80aaae6d461..d576c374cfc 100644 --- a/src/apis/sheets/package.json +++ b/src/apis/sheets/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/siteVerification/package.json b/src/apis/siteVerification/package.json index 77eff0a6ac0..99e5fb84c18 100644 --- a/src/apis/siteVerification/package.json +++ b/src/apis/siteVerification/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/slides/package.json b/src/apis/slides/package.json index 74c319baaec..7321e260273 100644 --- a/src/apis/slides/package.json +++ b/src/apis/slides/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/smartdevicemanagement/package.json b/src/apis/smartdevicemanagement/package.json index e78200cd02c..274cee23cbb 100644 --- a/src/apis/smartdevicemanagement/package.json +++ b/src/apis/smartdevicemanagement/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/solar/package.json b/src/apis/solar/package.json index 60e1d8e4035..9593165c8b4 100644 --- a/src/apis/solar/package.json +++ b/src/apis/solar/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/sourcerepo/package.json b/src/apis/sourcerepo/package.json index b1e777dc547..e6d1f59fb2d 100644 --- a/src/apis/sourcerepo/package.json +++ b/src/apis/sourcerepo/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/spanner/README.md b/src/apis/spanner/README.md index dbd3fdb2459..f3a5b34ded8 100644 --- a/src/apis/spanner/README.md +++ b/src/apis/spanner/README.md @@ -4,6 +4,15 @@ > Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/spanner-api](https://www.npmjs.com/package/@google-cloud/spanner-api) instead. +The [@google-cloud/spanner-api](https://www.npmjs.com/package/@google-cloud/spanner-api) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/spanner/package.json b/src/apis/spanner/package.json index d828f41c635..59b4b35bc7e 100644 --- a/src/apis/spanner/package.json +++ b/src/apis/spanner/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/speech/package.json b/src/apis/speech/package.json index 5f29e4a8dc5..5de076c8e75 100644 --- a/src/apis/speech/package.json +++ b/src/apis/speech/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/sql/package.json b/src/apis/sql/package.json index ed4fe945cec..da4686541c6 100644 --- a/src/apis/sql/package.json +++ b/src/apis/sql/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/sqladmin/package.json b/src/apis/sqladmin/package.json index b09e5419378..d0fd82abb7f 100644 --- a/src/apis/sqladmin/package.json +++ b/src/apis/sqladmin/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/sqladmin/v1.ts b/src/apis/sqladmin/v1.ts index 356c7be6074..fd0be091c44 100644 --- a/src/apis/sqladmin/v1.ts +++ b/src/apis/sqladmin/v1.ts @@ -114,6 +114,7 @@ export namespace sqladmin_v1 { context: APIRequestContext; backupRuns: Resource$Backupruns; Backups: Resource$Backups; + blueGreenDeployments: Resource$Bluegreendeployments; connect: Resource$Connect; databases: Resource$Databases; flags: Resource$Flags; @@ -132,6 +133,9 @@ export namespace sqladmin_v1 { this.backupRuns = new Resource$Backupruns(this.context); this.Backups = new Resource$Backups(this.context); + this.blueGreenDeployments = new Resource$Bluegreendeployments( + this.context + ); this.connect = new Resource$Connect(this.context); this.databases = new Resource$Databases(this.context); this.flags = new Resource$Flags(this.context); @@ -533,6 +537,72 @@ export namespace sqladmin_v1 { */ kind?: string | null; } + /** + * A `BlueGreenDeployment` resource represents a Cloud SQL blue-green deployment setup. + */ + export interface Schema$BlueGreenDeployment { + /** + * Output only. The time when the deployment was created. Example: `2024-01-01T00:00:00Z` + */ + createTime?: string | null; + /** + * Output only. A list representing the pairs of source and target instances in the deployment. + */ + deploymentMappings?: Schema$SourceTargetPairedNode[]; + /** + * Output only. Combined list of tasks for all paired nodes. + */ + deploymentTasks?: Schema$DeploymentTasks; + /** + * Optional. User-provided description for the deployment. The description can be up to 255 characters long. + */ + description?: string | null; + /** + * Output only. Provides details on why switchover is not possible. This field is empty unless a switchover attempt failed or the state is `SWITCHOVER_NOT_READY`. Example: "The target database version does not match the source instance database version." + */ + errorDetail?: string | null; + /** + * Output only. Identifier. The full resource name of the deployment. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{deployment_id\} + */ + name?: string | null; + /** + * Optional. Immutable. Optional on create, and immutable. The configuration intended for the target instance(s) when the deployment was created. + */ + requestedConfig?: Schema$RequestedConfig; + /** + * Required. Immutable. Required on create, and immutable. The full resource name of the source instance (the "blue" instance). Format: projects/{project\}/instances/{instance\} + */ + sourceInstance?: string | null; + /** + * Output only. The current state of the blue-green deployment. + */ + state?: string | null; + /** + * Output only. The full resource name of the primary target instance (the "green" instance) that will be promoted during switchover. This field is always populated once the deployment is created. Format: projects/{project\}/instances/{instance\} + */ + switchoverTargetInstance?: string | null; + } + /** + * Blue-green deployment metadata for a database instance. In a blue-green deployment, we maintain two environments, one of which is live. This message contains details about the blue-green deployment. + */ + export interface Schema$BlueGreenDeploymentInfo { + /** + * Output only. The resource ID of the blue-green deployment. + */ + deploymentId?: string | null; + /** + * Output only. The source instance for the Blue-Green deployment. + */ + source?: Schema$SourceRole; + /** + * Output only. The current state of blue-green-deployment for UI tags + */ + state?: string | null; + /** + * Output only. The target instance for the Blue-Green deployment. + */ + target?: Schema$TargetRole; + } /** * Database instance clone context. */ @@ -599,6 +669,23 @@ export namespace sqladmin_v1 { */ type?: string | null; } + /** + * Represents a specific configuration difference between blue and green instances. + */ + export interface Schema$ConfigDiff { + /** + * Output only. The name of the field that differs in the blue and green instances, fully-qualified. Example: `settings.tier` + */ + field?: string | null; + /** + * Output only. The value on the source instance. + */ + sourceValue?: string | null; + /** + * Output only. The value on the target instance. + */ + targetValue?: string | null; + } /** * The managed connection pooling configuration. */ @@ -802,6 +889,10 @@ export namespace sqladmin_v1 { * The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. */ databaseVersion?: string | null; + /** + * Output only. Deployment info for the instance. This is set if the instance is currently part of any blue-green setup. + */ + deploymentInfo?: Schema$BlueGreenDeploymentInfo; /** * Disk encryption configuration specific to an instance. */ @@ -1095,10 +1186,48 @@ export namespace sqladmin_v1 { */ time?: string | null; } + /** + * Represents a task executed as part of the deployment on a target instance. + */ + export interface Schema$DeploymentTask { + /** + * Output only. Task end time (if completed). + */ + endTime?: string | null; + /** + * Output only. Optional error details if the task state is `FAILED`. + */ + errorMessage?: string | null; + /** + * Output only. Task start time. + */ + startTime?: string | null; + /** + * Output only. The current state of the task. + */ + state?: string | null; + /** + * Output only. The type of the task. + */ + type?: string | null; + } + /** + * Combined list of tasks for all paired nodes in the deployment. + */ + export interface Schema$DeploymentTasks { + /** + * Output only. Tasks performed or being performed on the paired nodes of the deployment at a consolidated level. + */ + task?: Schema$DeploymentTask[]; + } /** * Disk encryption configuration for an instance. */ export interface Schema$DiskEncryptionConfiguration { + /** + * Optional. If true, enables Confidential Mode for the instance's Hyperdisk Balanced volumes. Only supported for zonal C4A instances currently. + */ + confidentialMode?: boolean | null; /** * This is always `sql#diskEncryptionConfiguration`. */ @@ -1696,6 +1825,10 @@ export namespace sqladmin_v1 { * The name of the backup that's used to restore a Cloud SQL instance: Format: "projects/{project-id\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\}/backups/{backup-uid\}". Only one of restore_backup_context, backup, backupdr_backup can be passed to the input. */ backupdrBackup?: string | null; + /** + * Optional. If true, the restore operation proceeds even if the target instance's maintenance version is older than the source instance's maintenance version. + */ + ignoreMaintenanceVersion?: boolean | null; /** * Parameters required to perform the restore backup operation. */ @@ -1845,6 +1978,19 @@ export namespace sqladmin_v1 { */ warnings?: Schema$ApiWarning[]; } + /** + * The response message for listing blue-green deployment resources. + */ + export interface Schema$ListBlueGreenDeploymentsResponse { + /** + * The list of blue-green deployment resources. + */ + blueGreenDeployments?: Schema$BlueGreenDeployment[]; + /** + * A token to retrieve the next page of results, or empty if there are no more results. + */ + nextPageToken?: string | null; + } /** * 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. */ @@ -1967,6 +2113,27 @@ export namespace sqladmin_v1 { */ initialSyncFlags?: Schema$SyncFlags[]; } + /** + * Details about an instance within the deployment. + */ + export interface Schema$NodeInfo { + /** + * Output only. The instance connection name. + */ + connection?: string | null; + /** + * Output only. The unique DNS name for this instance. + */ + dns?: string | null; + /** + * Output only. The full resource name of the instance. Format: projects/{project\}/instances/{instance\} + */ + instance?: string | null; + /** + * Output only. The list of IP addresses for this instance. + */ + ipMappings?: Schema$IpMapping[]; + } /** * On-premises instance configuration. */ @@ -2464,7 +2631,7 @@ export namespace sqladmin_v1 { */ allowedConsumerProjects?: string[] | null; /** - * Optional. The network attachment of the consumer network that the Private Service Connect enabled Cloud SQL instance is authorized to connect via PSC interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID + * Optional. The network attachment of the consumer network that the Private Service Connect enabled Cloud SQL instance is authorized to connect using the PSC interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID */ networkAttachmentUri?: string | null; /** @@ -2584,6 +2751,15 @@ export namespace sqladmin_v1 { */ psaWriteEndpoint?: string | null; } + /** + * Configuration specified by the user at creation time for the target (green) instance. + */ + export interface Schema$RequestedConfig { + /** + * Optional. The target database major version for the upgrade. For example, `MYSQL_8_0` or `POSTGRES_15`. + */ + databaseVersion?: string | null; + } export interface Schema$Reschedule { /** * Required. The type of the reschedule. @@ -2805,7 +2981,7 @@ export namespace sqladmin_v1 { */ maintenanceWindow?: Schema$MaintenanceWindow; /** - * The local user password validation policy of the instance. + * The local user password validation policy of the instance for PostgreSQL and MySQL. */ passwordValidationPolicy?: Schema$PasswordValidationPolicy; /** @@ -2861,6 +3037,36 @@ export namespace sqladmin_v1 { */ userLabels?: {[key: string]: string} | null; } + /** + * The source instance for the Blue-Green deployment. + */ + export interface Schema$SourceRole { + /** + * Output only. The target instance paired with this source instance in a blue-green deployment. + */ + targetId?: Schema$InstanceReference; + } + /** + * Represents a pairing of a source instance node and a target instance node. + */ + export interface Schema$SourceTargetPairedNode { + /** + * Output only. Describes the list of differences for the `SourceTargetPairedNode`. + */ + diffs?: Schema$ConfigDiff[]; + /** + * Output only. Specifies the resource name of the source instance in this pair. + */ + source?: Schema$NodeInfo; + /** + * Output only. Specifies the current state of this specific source-target pair. + */ + state?: string | null; + /** + * Output only. Specifies details of the corresponding target instance in this pair. + */ + target?: Schema$NodeInfo; + } /** * Active Directory configuration, relevant only for Cloud SQL for SQL Server. */ @@ -2992,11 +3198,20 @@ export namespace sqladmin_v1 { /** * Instance reset replica size request. */ - export interface Schema$SqlInstancesResetReplicaSizeRequest {} + export interface Schema$SqlInstancesResetReplicaSizeRequest { + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string | null; + } /** * Instance start external sync request. */ export interface Schema$SqlInstancesStartExternalSyncRequest { + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string | null; /** * Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL. */ @@ -3026,6 +3241,10 @@ export namespace sqladmin_v1 { * Instance verify external sync settings request. */ export interface Schema$SqlInstancesVerifyExternalSyncSettingsRequest { + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string | null; /** * Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL. */ @@ -3159,11 +3378,11 @@ export namespace sqladmin_v1 { */ export interface Schema$SqlServerUserDetails { /** - * If the user has been disabled + * Indicates if the user has been disabled. */ disabled?: boolean | null; /** - * The server roles for this user + * Indicates the server roles for this user. */ serverRoles?: string[] | null; } @@ -3303,6 +3522,10 @@ export namespace sqladmin_v1 { */ message?: string | null; } + /** + * Request message for switching over a `BlueGreenDeployment` resource. + */ + export interface Schema$SwitchoverBlueGreenDeploymentRequest {} /** * Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL external server initial dump. */ @@ -3329,6 +3552,15 @@ export namespace sqladmin_v1 { */ targetValue?: number | null; } + /** + * The target instance for the Blue-Green deployment. + */ + export interface Schema$TargetRole { + /** + * Output only. The source instance paired with this target instance in a blue-green deployment. + */ + sourceId?: Schema$InstanceReference; + } /** * A Google Cloud SQL service tier resource. */ @@ -5123,14 +5355,14 @@ export namespace sqladmin_v1 { requestBody?: Schema$Backup; } - export class Resource$Connect { + export class Resource$Bluegreendeployments { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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. + * Creates a blue-green deployment under a given project and location. * @example * ```js * // Before running the sample: @@ -5162,20 +5394,26 @@ export namespace sqladmin_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await sql.connect.generateEphemeral({ - * // Cloud SQL instance ID. This does not include the project ID. - * instance: 'placeholder-value', - * // Project ID of the project that contains the instance. - * project: 'placeholder-value', + * const res = await sql.blueGreenDeployments.create({ + * // Required. The ID to use for the blue-green deployment, which will become the final component of the deployment's resource name. The ID must be unique within the given project and location and between 2-63 characters. + * blueGreenDeploymentId: 'placeholder-value', + * // Required. The parent resource where this blue-green deployment will be created. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "access_token": "my_access_token", - * // "public_key": "my_public_key", - * // "readTime": "my_readTime", - * // "validDuration": "my_validDuration" + * // "createTime": "my_createTime", + * // "deploymentMappings": [], + * // "deploymentTasks": {}, + * // "description": "my_description", + * // "errorDetail": "my_errorDetail", + * // "name": "my_name", + * // "requestedConfig": {}, + * // "sourceInstance": "my_sourceInstance", + * // "state": "my_state", + * // "switchoverTargetInstance": "my_switchoverTargetInstance" * // } * }, * }); @@ -5183,7 +5421,26 @@ export namespace sqladmin_v1 { * * // Example response * // { - * // "ephemeralCert": {} + * // "acquireSsrsLeaseContext": {}, + * // "apiWarning": {}, + * // "backupContext": {}, + * // "endTime": "my_endTime", + * // "error": {}, + * // "exportContext": {}, + * // "importContext": {}, + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationType": "my_operationType", + * // "preCheckMajorVersionUpgradeContext": {}, + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "subOperationType": {}, + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "targetProject": "my_targetProject", + * // "user": "my_user" * // } * } * @@ -5199,57 +5456,52 @@ export namespace sqladmin_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - generateEphemeralCert( - params: Params$Resource$Connect$Generateephemeralcert, + create( + params: Params$Resource$Bluegreendeployments$Create, options: StreamMethodOptions ): Promise>; - generateEphemeralCert( - params?: Params$Resource$Connect$Generateephemeralcert, + create( + params?: Params$Resource$Bluegreendeployments$Create, options?: MethodOptions - ): Promise>; - generateEphemeralCert( - params: Params$Resource$Connect$Generateephemeralcert, + ): Promise>; + create( + params: Params$Resource$Bluegreendeployments$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - generateEphemeralCert( - params: Params$Resource$Connect$Generateephemeralcert, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generateEphemeralCert( - params: Params$Resource$Connect$Generateephemeralcert, - callback: BodyResponseCallback + create( + params: Params$Resource$Bluegreendeployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - generateEphemeralCert( - callback: BodyResponseCallback + create( + params: Params$Resource$Bluegreendeployments$Create, + callback: BodyResponseCallback ): void; - generateEphemeralCert( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Connect$Generateephemeralcert - | BodyResponseCallback + | Params$Resource$Bluegreendeployments$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Connect$Generateephemeralcert; + {}) as Params$Resource$Bluegreendeployments$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Connect$Generateephemeralcert; + params = {} as Params$Resource$Bluegreendeployments$Create; options = {}; } @@ -5262,34 +5514,32 @@ export namespace sqladmin_v1 { const parameters = { options: Object.assign( { - url: ( - rootUrl + - '/v1/projects/{project}/instances/{instance}:generateEphemeralCert' - ).replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+parent}/blueGreenDeployments').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'instance'], - pathParams: ['instance', 'project'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Retrieves connect settings about a Cloud SQL instance. + * Deletes a blue-green deployment. * @example * ```js * // Before running the sample: @@ -5321,31 +5571,894 @@ export namespace sqladmin_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await sql.connect.get({ - * // Cloud SQL instance ID. This does not include the project ID. - * instance: 'placeholder-value', - * // Project ID of the project that contains the instance. - * project: 'placeholder-value', - * // Optional. Optional snapshot read timestamp to trade freshness for performance. - * readTime: 'placeholder-value', + * const res = await sql.blueGreenDeployments.delete({ + * // Optional. If set to true, and the switchover is complete, this deletes the old source instance along with the deployment. + * deleteOldSource: 'placeholder-value', + * // Required. The name of the blue-green deployment to delete. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + * name: 'projects/my-project/locations/my-location/blueGreenDeployments/my-blueGreenDeployment', * }); * console.log(res.data); * * // Example response * // { - * // "backendType": "my_backendType", - * // "connectionName": "my_connectionName", - * // "customSubjectAlternativeNames": [], - * // "databaseVersion": "my_databaseVersion", - * // "dnsName": "my_dnsName", - * // "dnsNames": [], - * // "ipAddresses": [], + * // "acquireSsrsLeaseContext": {}, + * // "apiWarning": {}, + * // "backupContext": {}, + * // "endTime": "my_endTime", + * // "error": {}, + * // "exportContext": {}, + * // "importContext": {}, + * // "insertTime": "my_insertTime", * // "kind": "my_kind", - * // "mdxProtocolSupport": [], - * // "nodeCount": 0, - * // "nodes": [], - * // "pscEnabled": false, - * // "region": "my_region", + * // "name": "my_name", + * // "operationType": "my_operationType", + * // "preCheckMajorVersionUpgradeContext": {}, + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "subOperationType": {}, + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "targetProject": "my_targetProject", + * // "user": "my_user" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Bluegreendeployments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Bluegreendeployments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Bluegreendeployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Bluegreendeployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Bluegreendeployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Bluegreendeployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Bluegreendeployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Bluegreendeployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a blue-green deployment resource under a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.blueGreenDeployments.get({ + * // Required. The name of the blue-green deployment to retrieve. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + * name: 'projects/my-project/locations/my-location/blueGreenDeployments/my-blueGreenDeployment', + * // Optional. Specifies whether to return the basic or detailed view of the resource in the response. + * view: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "deploymentMappings": [], + * // "deploymentTasks": {}, + * // "description": "my_description", + * // "errorDetail": "my_errorDetail", + * // "name": "my_name", + * // "requestedConfig": {}, + * // "sourceInstance": "my_sourceInstance", + * // "state": "my_state", + * // "switchoverTargetInstance": "my_switchoverTargetInstance" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Bluegreendeployments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Bluegreendeployments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Bluegreendeployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Bluegreendeployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Bluegreendeployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Bluegreendeployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Bluegreendeployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Bluegreendeployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists blue-green deployments under a given project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.blueGreenDeployments.list({ + * // Optional. A filter expression that filters the results. + * filter: 'placeholder-value', + * // Optional. A comma-separated list of fields to order the results by. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of deployments to return. The service may return fewer deployments than this value. If unspecified, at most 500 deployments are returned. The maximum value is 1000; values above 1000 are treated as 1000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListBlueGreenDeployments` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent resource whose blue-green deployments are to be listed. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "blueGreenDeployments": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Bluegreendeployments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Bluegreendeployments$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Bluegreendeployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Bluegreendeployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Bluegreendeployments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Bluegreendeployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Bluegreendeployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Bluegreendeployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/blueGreenDeployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Switches over to green instance for a blue-green deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.blueGreenDeployments.switchover({ + * // Required. The name of the blue-green deployment to switch over. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + * name: 'projects/my-project/locations/my-location/blueGreenDeployments/my-blueGreenDeployment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "acquireSsrsLeaseContext": {}, + * // "apiWarning": {}, + * // "backupContext": {}, + * // "endTime": "my_endTime", + * // "error": {}, + * // "exportContext": {}, + * // "importContext": {}, + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationType": "my_operationType", + * // "preCheckMajorVersionUpgradeContext": {}, + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "subOperationType": {}, + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "targetProject": "my_targetProject", + * // "user": "my_user" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + switchover( + params: Params$Resource$Bluegreendeployments$Switchover, + options: StreamMethodOptions + ): Promise>; + switchover( + params?: Params$Resource$Bluegreendeployments$Switchover, + options?: MethodOptions + ): Promise>; + switchover( + params: Params$Resource$Bluegreendeployments$Switchover, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + switchover( + params: Params$Resource$Bluegreendeployments$Switchover, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + switchover( + params: Params$Resource$Bluegreendeployments$Switchover, + callback: BodyResponseCallback + ): void; + switchover(callback: BodyResponseCallback): void; + switchover( + paramsOrCallback?: + | Params$Resource$Bluegreendeployments$Switchover + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Bluegreendeployments$Switchover; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Bluegreendeployments$Switchover; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:switchover').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Bluegreendeployments$Create extends StandardParameters { + /** + * Required. The ID to use for the blue-green deployment, which will become the final component of the deployment's resource name. The ID must be unique within the given project and location and between 2-63 characters. + */ + blueGreenDeploymentId?: string; + /** + * Required. The parent resource where this blue-green deployment will be created. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BlueGreenDeployment; + } + export interface Params$Resource$Bluegreendeployments$Delete extends StandardParameters { + /** + * Optional. If set to true, and the switchover is complete, this deletes the old source instance along with the deployment. + */ + deleteOldSource?: boolean; + /** + * Required. The name of the blue-green deployment to delete. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + */ + name?: string; + } + export interface Params$Resource$Bluegreendeployments$Get extends StandardParameters { + /** + * Required. The name of the blue-green deployment to retrieve. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + */ + name?: string; + /** + * Optional. Specifies whether to return the basic or detailed view of the resource in the response. + */ + view?: string; + } + export interface Params$Resource$Bluegreendeployments$List extends StandardParameters { + /** + * Optional. A filter expression that filters the results. + */ + filter?: string; + /** + * Optional. A comma-separated list of fields to order the results by. + */ + orderBy?: string; + /** + * Optional. The maximum number of deployments to return. The service may return fewer deployments than this value. If unspecified, at most 500 deployments are returned. The maximum value is 1000; values above 1000 are treated as 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListBlueGreenDeployments` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent resource whose blue-green deployments are to be listed. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + } + export interface Params$Resource$Bluegreendeployments$Switchover extends StandardParameters { + /** + * Required. The name of the blue-green deployment to switch over. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SwitchoverBlueGreenDeploymentRequest; + } + + export class Resource$Connect { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.connect.generateEphemeral({ + * // Cloud SQL instance ID. This does not include the project ID. + * instance: 'placeholder-value', + * // Project ID of the project that contains the instance. + * project: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "access_token": "my_access_token", + * // "public_key": "my_public_key", + * // "readTime": "my_readTime", + * // "validDuration": "my_validDuration" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "ephemeralCert": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateEphemeralCert( + params: Params$Resource$Connect$Generateephemeralcert, + options: StreamMethodOptions + ): Promise>; + generateEphemeralCert( + params?: Params$Resource$Connect$Generateephemeralcert, + options?: MethodOptions + ): Promise>; + generateEphemeralCert( + params: Params$Resource$Connect$Generateephemeralcert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateEphemeralCert( + params: Params$Resource$Connect$Generateephemeralcert, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateEphemeralCert( + params: Params$Resource$Connect$Generateephemeralcert, + callback: BodyResponseCallback + ): void; + generateEphemeralCert( + callback: BodyResponseCallback + ): void; + generateEphemeralCert( + paramsOrCallback?: + | Params$Resource$Connect$Generateephemeralcert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Connect$Generateephemeralcert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Connect$Generateephemeralcert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/projects/{project}/instances/{instance}:generateEphemeralCert' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Retrieves connect settings about a Cloud SQL instance. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.connect.get({ + * // Cloud SQL instance ID. This does not include the project ID. + * instance: 'placeholder-value', + * // Project ID of the project that contains the instance. + * project: 'placeholder-value', + * // Optional. Optional snapshot read timestamp to trade freshness for performance. + * readTime: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backendType": "my_backendType", + * // "connectionName": "my_connectionName", + * // "customSubjectAlternativeNames": [], + * // "databaseVersion": "my_databaseVersion", + * // "dnsName": "my_dnsName", + * // "dnsNames": [], + * // "ipAddresses": [], + * // "kind": "my_kind", + * // "mdxProtocolSupport": [], + * // "nodeCount": 0, + * // "nodes": [], + * // "pscEnabled": false, + * // "region": "my_region", * // "serverCaCert": {}, * // "serverCaMode": "my_serverCaMode" * // } @@ -5685,6 +6798,8 @@ export namespace sqladmin_v1 { * database: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -5846,6 +6961,8 @@ export namespace sqladmin_v1 { * database: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -5994,6 +7111,8 @@ export namespace sqladmin_v1 { * const res = await sql.databases.insert({ * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -6168,6 +7287,8 @@ export namespace sqladmin_v1 { * const res = await sql.databases.list({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -6312,6 +7433,8 @@ export namespace sqladmin_v1 { * database: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -6489,6 +7612,8 @@ export namespace sqladmin_v1 { * database: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -6638,6 +7763,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6652,6 +7781,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6662,6 +7795,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6677,6 +7814,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6691,6 +7832,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6710,6 +7855,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6920,6 +8069,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.acquireSsrsLease({ * // Required. Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id). * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance (Example: project-id). * project: 'placeholder-value', * @@ -7080,6 +8231,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.addEntraIdCertificate({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -7242,6 +8395,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.addServerCa({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -7402,6 +8557,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.addServerCertificate({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -7564,6 +8721,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.clone({ * // Required. The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the source Cloud SQL instance. * project: 'placeholder-value', * @@ -7738,6 +8897,8 @@ export namespace sqladmin_v1 { * finalBackupTtlDays: 'placeholder-value', * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance to be deleted. * project: 'placeholder-value', * }); @@ -7896,6 +9057,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.demote({ * // Required. Cloud SQL instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. ID of the project that contains the instance. * project: 'placeholder-value', * @@ -8062,6 +9225,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.demoteMaster({ * // Cloud SQL instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the instance. * project: 'placeholder-value', * @@ -8230,6 +9395,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.executeSql({ * // Required. Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -8392,6 +9559,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.export({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance to be exported. * project: 'placeholder-value', * @@ -8558,6 +9727,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.failover({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the read replica. * project: 'placeholder-value', * @@ -8725,6 +9896,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.get({ * // Required. Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -8740,6 +9913,7 @@ export namespace sqladmin_v1 { * // "databaseCenterIntegrationEnabled": false, * // "databaseInstalledVersion": "my_databaseInstalledVersion", * // "databaseVersion": "my_databaseVersion", + * // "deploymentInfo": {}, * // "diskEncryptionConfiguration": {}, * // "diskEncryptionStatus": {}, * // "dnsName": "my_dnsName", @@ -8913,6 +10087,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.import({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -9077,6 +10253,8 @@ export namespace sqladmin_v1 { * * // Do the magic * const res = await sql.instances.insert({ + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project to which the newly created Cloud SQL instances should belong. * project: 'placeholder-value', * @@ -9092,6 +10270,7 @@ export namespace sqladmin_v1 { * // "databaseCenterIntegrationEnabled": false, * // "databaseInstalledVersion": "my_databaseInstalledVersion", * // "databaseVersion": "my_databaseVersion", + * // "deploymentInfo": {}, * // "diskEncryptionConfiguration": {}, * // "diskEncryptionStatus": {}, * // "dnsName": "my_dnsName", @@ -9295,6 +10474,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.list({ * // 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. * filter: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values above 1000 are coerced to 1000. * maxResults: 'placeholder-value', * // A previously-returned page token representing part of the larger set of results to view. @@ -9444,6 +10625,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.ListEntraIdCertificates({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -9598,6 +10781,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.listServerCas({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -9748,6 +10933,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.ListServerCertificates({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -9903,6 +11090,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.patch({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * // Optional. Set PSC config to the same value as the existing config to reconcile the PSC networking. @@ -9922,6 +11111,7 @@ export namespace sqladmin_v1 { * // "databaseCenterIntegrationEnabled": false, * // "databaseInstalledVersion": "my_databaseInstalledVersion", * // "databaseVersion": "my_databaseVersion", + * // "deploymentInfo": {}, * // "diskEncryptionConfiguration": {}, * // "diskEncryptionStatus": {}, * // "dnsName": "my_dnsName", @@ -10299,6 +11489,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.preCheckMajorVersionUpgrade({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -10471,6 +11663,8 @@ export namespace sqladmin_v1 { * failover: 'placeholder-value', * // Cloud SQL read replica instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the read replica. * project: 'placeholder-value', * }); @@ -10631,6 +11825,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.reencrypt({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the instance. * project: 'placeholder-value', * @@ -10798,6 +11994,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.releaseSsrsLease({ * // Required. The Cloud SQL instance ID. This doesn't include the project ID. The instance ID contains lowercase letters, numbers, and hyphens, and it must start with a letter. This ID can have a maximum length of 98 characters. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. The project ID that contains the instance. * project: 'placeholder-value', * }); @@ -10950,6 +12148,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.resetSslConfig({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Optional. Reset SSL mode to use. * mode: 'placeholder-value', * // Project ID of the project that contains the instance. @@ -11112,6 +12312,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.restart({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance to be restarted. * project: 'placeholder-value', * }); @@ -11271,6 +12473,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.restoreBackup({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -11280,6 +12484,7 @@ export namespace sqladmin_v1 { * // { * // "backup": "my_backup", * // "backupdrBackup": "my_backupdrBackup", + * // "ignoreMaintenanceVersion": false, * // "restoreBackupContext": {}, * // "restoreInstanceClearOverridesFieldNames": [], * // "restoreInstanceSettings": {} @@ -11443,6 +12648,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.RotateEntraIdCertificate({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -11613,6 +12820,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.rotateServerCa({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -11781,6 +12990,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.RotateServerCertificate({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -11951,6 +13162,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.startReplica({ * // Cloud SQL read replica instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the read replica. * project: 'placeholder-value', * }); @@ -12111,6 +13324,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.stopReplica({ * // Cloud SQL read replica instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the read replica. * project: 'placeholder-value', * }); @@ -12273,6 +13488,8 @@ export namespace sqladmin_v1 { * dbTimeout: 'placeholder-value', * // Cloud SQL read replica instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the replica. * project: 'placeholder-value', * }); @@ -12432,6 +13649,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.truncateLog({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the Cloud SQL project. * project: 'placeholder-value', * @@ -12600,6 +13819,8 @@ export namespace sqladmin_v1 { * const res = await sql.instances.update({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -12615,6 +13836,7 @@ export namespace sqladmin_v1 { * // "databaseCenterIntegrationEnabled": false, * // "databaseInstalledVersion": "my_databaseInstalledVersion", * // "databaseVersion": "my_databaseVersion", + * // "deploymentInfo": {}, * // "diskEncryptionConfiguration": {}, * // "diskEncryptionStatus": {}, * // "dnsName": "my_dnsName", @@ -12787,6 +14009,10 @@ export namespace sqladmin_v1 { * Required. Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id). */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance (Example: project-id). */ @@ -12802,6 +14028,10 @@ export namespace sqladmin_v1 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -12812,6 +14042,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -12822,6 +14056,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -12832,6 +14070,10 @@ export namespace sqladmin_v1 { * Required. The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the source Cloud SQL instance. */ @@ -12863,6 +14105,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance to be deleted. */ @@ -12873,6 +14119,10 @@ export namespace sqladmin_v1 { * Required. Cloud SQL instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. ID of the project that contains the instance. */ @@ -12888,6 +14138,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the instance. */ @@ -12903,6 +14157,10 @@ export namespace sqladmin_v1 { * Required. Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -12918,6 +14176,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance to be exported. */ @@ -12933,6 +14195,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the read replica. */ @@ -12948,6 +14214,10 @@ export namespace sqladmin_v1 { * Required. Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -12958,6 +14228,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -12969,6 +14243,10 @@ export namespace sqladmin_v1 { requestBody?: Schema$InstancesImportRequest; } export interface Params$Resource$Instances$Insert extends StandardParameters { + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project to which the newly created Cloud SQL instances should belong. */ @@ -12984,6 +14262,10 @@ export namespace sqladmin_v1 { * 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. */ filter?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values above 1000 are coerced to 1000. */ @@ -13002,6 +14284,10 @@ export namespace sqladmin_v1 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13012,6 +14298,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13022,6 +14312,10 @@ export namespace sqladmin_v1 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13032,6 +14326,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13066,6 +14364,10 @@ export namespace sqladmin_v1 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13085,6 +14387,10 @@ export namespace sqladmin_v1 { * Cloud SQL read replica instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the read replica. */ @@ -13095,6 +14401,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the instance. */ @@ -13110,6 +14420,10 @@ export namespace sqladmin_v1 { * Required. The Cloud SQL instance ID. This doesn't include the project ID. The instance ID contains lowercase letters, numbers, and hyphens, and it must start with a letter. This ID can have a maximum length of 98 characters. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. The project ID that contains the instance. */ @@ -13120,6 +14434,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Optional. Reset SSL mode to use. */ @@ -13134,6 +14452,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance to be restarted. */ @@ -13144,6 +14466,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13159,6 +14485,10 @@ export namespace sqladmin_v1 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13174,6 +14504,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13189,6 +14523,10 @@ export namespace sqladmin_v1 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13204,6 +14542,10 @@ export namespace sqladmin_v1 { * Cloud SQL read replica instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the read replica. */ @@ -13214,6 +14556,10 @@ export namespace sqladmin_v1 { * Cloud SQL read replica instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the read replica. */ @@ -13228,6 +14574,10 @@ export namespace sqladmin_v1 { * Cloud SQL read replica instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the replica. */ @@ -13238,6 +14588,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the Cloud SQL project. */ @@ -13253,6 +14607,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13823,6 +15181,8 @@ export namespace sqladmin_v1 { * const res = await sql.projects.instances.getDiskShrinkConfig({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -13977,6 +15337,8 @@ export namespace sqladmin_v1 { * const res = await sql.projects.instances.getLatestRecoveryTime({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * // The timestamp used to identify the time when the source instance is deleted. If this instance is deleted, then you must set the timestamp. @@ -14133,6 +15495,8 @@ export namespace sqladmin_v1 { * const res = await sql.projects.instances.performDiskShrink({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -14301,6 +15665,8 @@ export namespace sqladmin_v1 { * const res = await sql.projects.instances.rescheduleMaintenance({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the instance. * project: 'placeholder-value', * @@ -14477,7 +15843,9 @@ export namespace sqladmin_v1 { * // Request body metadata * requestBody: { * // request body parameters - * // {} + * // { + * // "location": "my_location" + * // } * }, * }); * console.log(res.data); @@ -14644,6 +16012,7 @@ export namespace sqladmin_v1 { * requestBody: { * // request body parameters * // { + * // "location": "my_location", * // "migrationType": "my_migrationType", * // "mysqlSyncConfig": {}, * // "replicaOverwriteEnabled": false, @@ -14817,6 +16186,7 @@ export namespace sqladmin_v1 { * requestBody: { * // request body parameters * // { + * // "location": "my_location", * // "migrationType": "my_migrationType", * // "mysqlSyncConfig": {}, * // "selectedObjects": [], @@ -14949,6 +16319,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -14959,6 +16333,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -14973,6 +16351,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -14988,6 +16370,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the instance. */ @@ -15086,6 +16472,8 @@ export namespace sqladmin_v1 { * const res = await sql.sslCerts.createEphemeral({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the Cloud SQL project. * project: 'placeholder-value', * @@ -15819,6 +17207,10 @@ export namespace sqladmin_v1 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the Cloud SQL project. */ @@ -16081,6 +17473,8 @@ export namespace sqladmin_v1 { * host: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Name of the user in the instance. * name: 'placeholder-value', * // Project ID of the project that contains the instance. @@ -16243,6 +17637,8 @@ export namespace sqladmin_v1 { * host: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // User of the instance. * name: 'placeholder-value', * // Project ID of the project that contains the instance. @@ -16399,6 +17795,8 @@ export namespace sqladmin_v1 { * const res = await sql.users.insert({ * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -16579,6 +17977,8 @@ export namespace sqladmin_v1 { * const res = await sql.users.list({ * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -16725,6 +18125,8 @@ export namespace sqladmin_v1 { * host: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Name of the user in the instance. * name: 'placeholder-value', * // Project ID of the project that contains the instance. @@ -16887,6 +18289,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Name of the user in the instance. */ @@ -16905,6 +18311,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * User of the instance. */ @@ -16919,6 +18329,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -16934,6 +18348,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -16952,6 +18370,10 @@ export namespace sqladmin_v1 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Name of the user in the instance. */ diff --git a/src/apis/sqladmin/v1beta4.ts b/src/apis/sqladmin/v1beta4.ts index 892cb244973..0cac234457a 100644 --- a/src/apis/sqladmin/v1beta4.ts +++ b/src/apis/sqladmin/v1beta4.ts @@ -114,6 +114,7 @@ export namespace sqladmin_v1beta4 { context: APIRequestContext; backupRuns: Resource$Backupruns; backups: Resource$Backups; + blueGreenDeployments: Resource$Bluegreendeployments; connect: Resource$Connect; databases: Resource$Databases; flags: Resource$Flags; @@ -132,6 +133,9 @@ export namespace sqladmin_v1beta4 { this.backupRuns = new Resource$Backupruns(this.context); this.backups = new Resource$Backups(this.context); + this.blueGreenDeployments = new Resource$Bluegreendeployments( + this.context + ); this.connect = new Resource$Connect(this.context); this.databases = new Resource$Databases(this.context); this.flags = new Resource$Flags(this.context); @@ -533,6 +537,80 @@ export namespace sqladmin_v1beta4 { */ kind?: string | null; } + /** + * A `BlueGreenDeployment` resource represents a Cloud SQL blue-green deployment setup. It orchestrates the lifecycle of creating a synchronized "green" environment from a "blue" production environment, performing updates, and managing the switchover process to minimize downtime. + */ + export interface Schema$BlueGreenDeployment { + /** + * Output only. The time when the deployment was created. + */ + createTime?: string | null; + /** + * Output only. A list representing the pairs of source and target instances in the deployment. + */ + deploymentMappings?: Schema$SourceTargetPairedNode[]; + /** + * Output only. Combined list of tasks for all paired nodes. + */ + deploymentTasks?: Schema$DeploymentTasks; + /** + * Optional. User-provided description for the deployment. + */ + description?: string | null; + /** + * Output only. Provides an error message with details on why switchover is not possible. + */ + errorDetail?: string | null; + /** + * Output only. Identifier. The full resource name of the deployment. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{deployment_id\} + */ + name?: string | null; + /** + * Output only. Deprecated: Use deployment_mappings instead. Output only. A list representing the pairs of source and target instances in the deployment. + */ + pairedNodes?: Schema$SourceTargetPairedNode[]; + /** + * Optional. Immutable. Optional on create, and immutable. The configuration intended for the target instance(s) when the deployment was created. + */ + requestedConfig?: Schema$RequestedConfig; + /** + * Required. Immutable. The instance ID of the source instance (the "blue" instance). The value for this field does not include the project ID, for example, `my-instance-id`. This field is immutable. + */ + sourceInstance?: string | null; + /** + * Output only. The current state of the blue-green deployment. + */ + state?: string | null; + /** + * Output only. Details about the primary target instance (the "Green" instance) that will be promoted during switchover. + */ + switchoverTargetInstance?: string | null; + /** + * Optional. Immutable. Deprecated: Use requested_config instead. The configuration intended for the target instance(s) when the deployment was created. This field is immutable. + */ + targetConfig?: Schema$TargetConfig; + } + /** + * Blue-green deployment metadata for a database instance. In a blue-green deployment, we maintain two environments, one of which is live. This message contains details about the blue-green deployment. + */ + export interface Schema$BlueGreenDeploymentInfo { + /** + * Output only. The resource ID of the blue-green deployment. + */ + deploymentId?: string | null; + /** + * Output only. The source instance for the Blue-Green deployment. + */ + source?: Schema$SourceRole; + /** + * Output only. The current state of blue-green-deployment for UI tags + */ + state?: string | null; + /** + * Output only. The target instance for the Blue-Green deployment. + */ + target?: Schema$TargetRole; + } /** * Database instance clone context. */ @@ -599,6 +677,23 @@ export namespace sqladmin_v1beta4 { */ type?: string | null; } + /** + * Represents a specific configuration difference between Blue and Green instances. + */ + export interface Schema$ConfigDiff { + /** + * Output only. The name of the field that differs, fully-qualified. Example: settings.tier + */ + field?: string | null; + /** + * Output only. The value on the source instance. + */ + sourceValue?: string | null; + /** + * Output only. The value on the target instance. + */ + targetValue?: string | null; + } /** * The managed connection pooling configuration. */ @@ -802,6 +897,10 @@ export namespace sqladmin_v1beta4 { * The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. */ databaseVersion?: string | null; + /** + * Output only. Deployment info for the instance. This is set if the instance is currently part of any blue-green setup. + */ + deploymentInfo?: Schema$BlueGreenDeploymentInfo; /** * Disk encryption configuration specific to an instance. */ @@ -1098,10 +1197,48 @@ export namespace sqladmin_v1beta4 { */ time?: string | null; } + /** + * Represents a task executed as part of the deployment on a target instance. + */ + export interface Schema$DeploymentTask { + /** + * Output only. Task end time (if completed). + */ + endTime?: string | null; + /** + * Output only. Optional Error details if the task state is FAILED. + */ + errorMessage?: string | null; + /** + * Output only. Task start time. + */ + startTime?: string | null; + /** + * Output only. The current state of the task. + */ + state?: string | null; + /** + * Output only. The type of the task. + */ + type?: string | null; + } + /** + * Combined list of tasks for all paired nodes in the deployment. + */ + export interface Schema$DeploymentTasks { + /** + * Output only. Tasks performed or being performed on the paired nodes of the deployment at a consolidated level. + */ + task?: Schema$DeploymentTask[]; + } /** * Disk encryption configuration for an instance. */ export interface Schema$DiskEncryptionConfiguration { + /** + * Optional. If true, enables Confidential Mode for the instance's Hyperdisk Balanced volumes. Only supported for zonal C4A instances currently. + */ + confidentialMode?: boolean | null; /** * This is always `sql#diskEncryptionConfiguration`. */ @@ -1699,6 +1836,10 @@ export namespace sqladmin_v1beta4 { * The name of the backup that's used to restore a Cloud SQL instance: Format: "projects/{project-id\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\}/backups/{backup-uid\}". Only one of restore_backup_context, backup, backupdr_backup can be passed to the input. */ backupdrBackup?: string | null; + /** + * Optional. If true, the restore operation proceeds even if the target instance's maintenance version is older than the source instance's maintenance version. + */ + ignoreMaintenanceVersion?: boolean | null; /** * Parameters required to perform the restore backup operation. */ @@ -1848,6 +1989,19 @@ export namespace sqladmin_v1beta4 { */ warnings?: Schema$ApiWarning[]; } + /** + * The response message for listing blue-green deployment resources. + */ + export interface Schema$ListBlueGreenDeploymentsResponse { + /** + * The list of blue-green deployment resources. + */ + blueGreenDeployments?: Schema$BlueGreenDeployment[]; + /** + * A token to retrieve the next page of results, or empty if there are no more results. + */ + nextPageToken?: string | null; + } /** * 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. */ @@ -1970,6 +2124,27 @@ export namespace sqladmin_v1beta4 { */ initialSyncFlags?: Schema$SyncFlags[]; } + /** + * Details about an instance within the deployment. + */ + export interface Schema$NodeInfo { + /** + * Output only. The instance connection name. + */ + connection?: string | null; + /** + * Output only. The unique DNS name for this instance. + */ + dns?: string | null; + /** + * Output only. The full resource name of the instance. Format: projects/{project\}/instances/{instance\} + */ + instance?: string | null; + /** + * Output only. The list of IP addresses for this instance. + */ + ipMappings?: Schema$IpMapping[]; + } /** * On-premises instance configuration. */ @@ -2467,7 +2642,7 @@ export namespace sqladmin_v1beta4 { */ allowedConsumerProjects?: string[] | null; /** - * Optional. The network attachment of the consumer network that the Private Service Connect enabled Cloud SQL instance is authorized to connect via PSC interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID + * Optional. The network attachment of the consumer network that the Private Service Connect enabled Cloud SQL instance is authorized to connect using the PSC interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID */ networkAttachmentUri?: string | null; /** @@ -2587,6 +2762,15 @@ export namespace sqladmin_v1beta4 { */ psaWriteEndpoint?: string | null; } + /** + * Configuration specified by the user at creation time for the target (Green) instance. + */ + export interface Schema$RequestedConfig { + /** + * Optional. The target database major version for the upgrade. + */ + databaseVersion?: string | null; + } export interface Schema$Reschedule { /** * Required. The type of the reschedule. @@ -2808,7 +2992,7 @@ export namespace sqladmin_v1beta4 { */ maintenanceWindow?: Schema$MaintenanceWindow; /** - * The local user password validation policy of the instance. + * The local user password validation policy of the instance for PostgreSQL and MySQL. */ passwordValidationPolicy?: Schema$PasswordValidationPolicy; /** @@ -2864,6 +3048,44 @@ export namespace sqladmin_v1beta4 { */ userLabels?: {[key: string]: string} | null; } + /** + * The source instance for the Blue-Green deployment. + */ + export interface Schema$SourceRole { + /** + * Output only. The target instance paired with this source instance in a blue-green deployment. + */ + targetId?: Schema$InstanceReference; + } + /** + * Represents a pairing of a source instance node and a target instance node. + */ + export interface Schema$SourceTargetPairedNode { + /** + * Output only. Deprecated: Indicates which instance (SOURCE or TARGET) in the pair is currently live. Used for internal implementation and deprecated for external use. + */ + currentlyServingTraffic?: string | null; + /** + * Output only. Describes the list of differences for this pair. + */ + diffs?: Schema$ConfigDiff[]; + /** + * Output only. Resource name of the source instance in this pair. + */ + source?: Schema$NodeInfo; + /** + * Output only. The current state of this specific source-target pair. + */ + state?: string | null; + /** + * Output only. Details of the corresponding target instance in this pair. + */ + target?: Schema$NodeInfo; + /** + * Output only. Tasks performed or being performed on the target instance of this pair. + */ + tasks?: Schema$DeploymentTask[]; + } /** * Active Directory configuration, relevant only for Cloud SQL for SQL Server. */ @@ -2995,8 +3217,17 @@ export namespace sqladmin_v1beta4 { /** * Instance reset replica size request. */ - export interface Schema$SqlInstancesResetReplicaSizeRequest {} + export interface Schema$SqlInstancesResetReplicaSizeRequest { + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string | null; + } export interface Schema$SqlInstancesStartExternalSyncRequest { + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string | null; /** * Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL. */ @@ -3023,6 +3254,10 @@ export namespace sqladmin_v1beta4 { syncParallelLevel?: string | null; } export interface Schema$SqlInstancesVerifyExternalSyncSettingsRequest { + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string | null; /** * Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL. */ @@ -3156,11 +3391,11 @@ export namespace sqladmin_v1beta4 { */ export interface Schema$SqlServerUserDetails { /** - * If the user has been disabled + * Indicates if the user has been disabled. */ disabled?: boolean | null; /** - * The server roles for this user + * Indicates the server roles for this user. */ serverRoles?: string[] | null; } @@ -3300,6 +3535,10 @@ export namespace sqladmin_v1beta4 { */ message?: string | null; } + /** + * Request message for switching over a `BlueGreenDeployment` resource. + */ + export interface Schema$SwitchoverBlueGreenDeploymentRequest {} /** * Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL external server initial dump. */ @@ -3313,6 +3552,15 @@ export namespace sqladmin_v1beta4 { */ value?: string | null; } + /** + * Deprecated: Use RequestedConfig instead. Configuration specified by the user at creation time for the target (Green) instance. + */ + export interface Schema$TargetConfig { + /** + * Optional. The target database major version for the upgrade. + */ + databaseVersion?: string | null; + } /** * Target metric for read pool auto scaling. */ @@ -3326,6 +3574,15 @@ export namespace sqladmin_v1beta4 { */ targetValue?: number | null; } + /** + * The target instance for the Blue-Green deployment. + */ + export interface Schema$TargetRole { + /** + * Output only. The source instance paired with this target instance in a blue-green deployment. + */ + sourceId?: Schema$InstanceReference; + } /** * A Google Cloud SQL service tier resource. */ @@ -5131,14 +5388,14 @@ export namespace sqladmin_v1beta4 { requestBody?: Schema$Backup; } - export class Resource$Connect { + export class Resource$Bluegreendeployments { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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. + * Creates a blue-green deployment under a given project and location. This deployment provisions a synchronized green environment (target instance) from a blue production environment (source instance), facilitating updates like major version upgrades on the green instance without impacting the blue instance. * @example * ```js * // Before running the sample: @@ -5170,20 +5427,28 @@ export namespace sqladmin_v1beta4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await sql.connect.generateEphemeral({ - * // Cloud SQL instance ID. This does not include the project ID. - * instance: 'placeholder-value', - * // Project ID of the project that contains the instance. - * project: 'placeholder-value', + * const res = await sql.blueGreenDeployments.create({ + * // Required. The ID to use for the blue-green deployment, which will become the final component of the deployment's resource name. + * blueGreenDeploymentId: 'placeholder-value', + * // Required. The parent resource where this blue-green deployment will be created. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "access_token": "my_access_token", - * // "public_key": "my_public_key", - * // "readTime": "my_readTime", - * // "validDuration": "my_validDuration" + * // "createTime": "my_createTime", + * // "deploymentMappings": [], + * // "deploymentTasks": {}, + * // "description": "my_description", + * // "errorDetail": "my_errorDetail", + * // "name": "my_name", + * // "pairedNodes": [], + * // "requestedConfig": {}, + * // "sourceInstance": "my_sourceInstance", + * // "state": "my_state", + * // "switchoverTargetInstance": "my_switchoverTargetInstance", + * // "targetConfig": {} * // } * }, * }); @@ -5191,7 +5456,26 @@ export namespace sqladmin_v1beta4 { * * // Example response * // { - * // "ephemeralCert": {} + * // "acquireSsrsLeaseContext": {}, + * // "apiWarning": {}, + * // "backupContext": {}, + * // "endTime": "my_endTime", + * // "error": {}, + * // "exportContext": {}, + * // "importContext": {}, + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationType": "my_operationType", + * // "preCheckMajorVersionUpgradeContext": {}, + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "subOperationType": {}, + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "targetProject": "my_targetProject", + * // "user": "my_user" * // } * } * @@ -5207,57 +5491,52 @@ export namespace sqladmin_v1beta4 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - generateEphemeralCert( - params: Params$Resource$Connect$Generateephemeralcert, + create( + params: Params$Resource$Bluegreendeployments$Create, options: StreamMethodOptions ): Promise>; - generateEphemeralCert( - params?: Params$Resource$Connect$Generateephemeralcert, + create( + params?: Params$Resource$Bluegreendeployments$Create, options?: MethodOptions - ): Promise>; - generateEphemeralCert( - params: Params$Resource$Connect$Generateephemeralcert, + ): Promise>; + create( + params: Params$Resource$Bluegreendeployments$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - generateEphemeralCert( - params: Params$Resource$Connect$Generateephemeralcert, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generateEphemeralCert( - params: Params$Resource$Connect$Generateephemeralcert, - callback: BodyResponseCallback + create( + params: Params$Resource$Bluegreendeployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - generateEphemeralCert( - callback: BodyResponseCallback + create( + params: Params$Resource$Bluegreendeployments$Create, + callback: BodyResponseCallback ): void; - generateEphemeralCert( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Connect$Generateephemeralcert - | BodyResponseCallback + | Params$Resource$Bluegreendeployments$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback - | BodyResponseCallback + BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Connect$Generateephemeralcert; + {}) as Params$Resource$Bluegreendeployments$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Connect$Generateephemeralcert; + params = {} as Params$Resource$Bluegreendeployments$Create; options = {}; } @@ -5271,8 +5550,7 @@ export namespace sqladmin_v1beta4 { options: Object.assign( { url: ( - rootUrl + - '/sql/v1beta4/projects/{project}/instances/{instance}:generateEphemeralCert' + rootUrl + '/sql/v1beta4/{+parent}/blueGreenDeployments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -5280,24 +5558,22 @@ export namespace sqladmin_v1beta4 { options ), params, - requiredParams: ['project', 'instance'], - pathParams: ['instance', 'project'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Retrieves connect settings about a Cloud SQL instance. + * Deletes a blue-green deployment, including metadata and underlying resources based on the deployment state. If issued before switchover, this deletes the green instance. If issued after switchover, this deletes the old blue instance (source instance) if the `delete_old_source` field in the request is set to true. All blue-green deployment metadata is permanently deleted. Resources deleted as a result of this operation are no longer accessible and can't be restored. * @example * ```js * // Before running the sample: @@ -5329,29 +5605,899 @@ export namespace sqladmin_v1beta4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await sql.connect.get({ - * // Cloud SQL instance ID. This does not include the project ID. - * instance: 'placeholder-value', - * // Project ID of the project that contains the instance. - * project: 'placeholder-value', - * // Optional. Optional snapshot read timestamp to trade freshness for performance. - * readTime: 'placeholder-value', + * const res = await sql.blueGreenDeployments.delete({ + * // Optional. If set to true, and the switchover is complete, this deletes the old source instance along with the deployment. + * deleteOldSource: 'placeholder-value', + * // Required. The name of the blue-green deployment to delete. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + * name: 'projects/my-project/locations/my-location/blueGreenDeployments/my-blueGreenDeployment', * }); * console.log(res.data); * * // Example response * // { - * // "backendType": "my_backendType", - * // "connectionName": "my_connectionName", - * // "customSubjectAlternativeNames": [], - * // "databaseVersion": "my_databaseVersion", - * // "dnsName": "my_dnsName", - * // "dnsNames": [], - * // "ipAddresses": [], - * // "kind": "my_kind", - * // "mdxProtocolSupport": [], - * // "nodeCount": 0, - * // "nodes": [], + * // "acquireSsrsLeaseContext": {}, + * // "apiWarning": {}, + * // "backupContext": {}, + * // "endTime": "my_endTime", + * // "error": {}, + * // "exportContext": {}, + * // "importContext": {}, + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationType": "my_operationType", + * // "preCheckMajorVersionUpgradeContext": {}, + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "subOperationType": {}, + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "targetProject": "my_targetProject", + * // "user": "my_user" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Bluegreendeployments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Bluegreendeployments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Bluegreendeployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Bluegreendeployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Bluegreendeployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Bluegreendeployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Bluegreendeployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Bluegreendeployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/sql/v1beta4/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a blue-green deployment resource under a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1beta4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.blueGreenDeployments.get({ + * // Required. The name of the blue-green deployment to retrieve. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + * name: 'projects/my-project/locations/my-location/blueGreenDeployments/my-blueGreenDeployment', + * // Optional. Specifies whether to return the basic or detailed view of the resource in the response. + * view: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "deploymentMappings": [], + * // "deploymentTasks": {}, + * // "description": "my_description", + * // "errorDetail": "my_errorDetail", + * // "name": "my_name", + * // "pairedNodes": [], + * // "requestedConfig": {}, + * // "sourceInstance": "my_sourceInstance", + * // "state": "my_state", + * // "switchoverTargetInstance": "my_switchoverTargetInstance", + * // "targetConfig": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Bluegreendeployments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Bluegreendeployments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Bluegreendeployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Bluegreendeployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Bluegreendeployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Bluegreendeployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Bluegreendeployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Bluegreendeployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/sql/v1beta4/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists blue-green deployments under a given project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1beta4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.blueGreenDeployments.list({ + * // Optional. A filter expression that filters the results. + * filter: 'placeholder-value', + * // Optional. A comma-separated list of fields to order the results by. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of deployments to return. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListBlueGreenDeployments` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent resource whose blue-green deployments are to be listed. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "blueGreenDeployments": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Bluegreendeployments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Bluegreendeployments$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Bluegreendeployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Bluegreendeployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Bluegreendeployments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Bluegreendeployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Bluegreendeployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Bluegreendeployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/sql/v1beta4/{+parent}/blueGreenDeployments' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Switches over to green instance for a blue-green deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1beta4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.blueGreenDeployments.switchover({ + * // Required. The name of the blue-green deployment to switch over. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + * name: 'projects/my-project/locations/my-location/blueGreenDeployments/my-blueGreenDeployment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "acquireSsrsLeaseContext": {}, + * // "apiWarning": {}, + * // "backupContext": {}, + * // "endTime": "my_endTime", + * // "error": {}, + * // "exportContext": {}, + * // "importContext": {}, + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationType": "my_operationType", + * // "preCheckMajorVersionUpgradeContext": {}, + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "subOperationType": {}, + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "targetProject": "my_targetProject", + * // "user": "my_user" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + switchover( + params: Params$Resource$Bluegreendeployments$Switchover, + options: StreamMethodOptions + ): Promise>; + switchover( + params?: Params$Resource$Bluegreendeployments$Switchover, + options?: MethodOptions + ): Promise>; + switchover( + params: Params$Resource$Bluegreendeployments$Switchover, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + switchover( + params: Params$Resource$Bluegreendeployments$Switchover, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + switchover( + params: Params$Resource$Bluegreendeployments$Switchover, + callback: BodyResponseCallback + ): void; + switchover(callback: BodyResponseCallback): void; + switchover( + paramsOrCallback?: + | Params$Resource$Bluegreendeployments$Switchover + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Bluegreendeployments$Switchover; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Bluegreendeployments$Switchover; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/sql/v1beta4/{+name}:switchover').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Bluegreendeployments$Create extends StandardParameters { + /** + * Required. The ID to use for the blue-green deployment, which will become the final component of the deployment's resource name. + */ + blueGreenDeploymentId?: string; + /** + * Required. The parent resource where this blue-green deployment will be created. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BlueGreenDeployment; + } + export interface Params$Resource$Bluegreendeployments$Delete extends StandardParameters { + /** + * Optional. If set to true, and the switchover is complete, this deletes the old source instance along with the deployment. + */ + deleteOldSource?: boolean; + /** + * Required. The name of the blue-green deployment to delete. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + */ + name?: string; + } + export interface Params$Resource$Bluegreendeployments$Get extends StandardParameters { + /** + * Required. The name of the blue-green deployment to retrieve. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + */ + name?: string; + /** + * Optional. Specifies whether to return the basic or detailed view of the resource in the response. + */ + view?: string; + } + export interface Params$Resource$Bluegreendeployments$List extends StandardParameters { + /** + * Optional. A filter expression that filters the results. + */ + filter?: string; + /** + * Optional. A comma-separated list of fields to order the results by. + */ + orderBy?: string; + /** + * Optional. The maximum number of deployments to return. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListBlueGreenDeployments` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent resource whose blue-green deployments are to be listed. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + } + export interface Params$Resource$Bluegreendeployments$Switchover extends StandardParameters { + /** + * Required. The name of the blue-green deployment to switch over. Format: projects/{project\}/locations/{location\}/blueGreenDeployments/{blue_green_deployment\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SwitchoverBlueGreenDeploymentRequest; + } + + export class Resource$Connect { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1beta4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.connect.generateEphemeral({ + * // Cloud SQL instance ID. This does not include the project ID. + * instance: 'placeholder-value', + * // Project ID of the project that contains the instance. + * project: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "access_token": "my_access_token", + * // "public_key": "my_public_key", + * // "readTime": "my_readTime", + * // "validDuration": "my_validDuration" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "ephemeralCert": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateEphemeralCert( + params: Params$Resource$Connect$Generateephemeralcert, + options: StreamMethodOptions + ): Promise>; + generateEphemeralCert( + params?: Params$Resource$Connect$Generateephemeralcert, + options?: MethodOptions + ): Promise>; + generateEphemeralCert( + params: Params$Resource$Connect$Generateephemeralcert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateEphemeralCert( + params: Params$Resource$Connect$Generateephemeralcert, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateEphemeralCert( + params: Params$Resource$Connect$Generateephemeralcert, + callback: BodyResponseCallback + ): void; + generateEphemeralCert( + callback: BodyResponseCallback + ): void; + generateEphemeralCert( + paramsOrCallback?: + | Params$Resource$Connect$Generateephemeralcert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Connect$Generateephemeralcert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Connect$Generateephemeralcert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/sql/v1beta4/projects/{project}/instances/{instance}:generateEphemeralCert' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'instance'], + pathParams: ['instance', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Retrieves connect settings about a Cloud SQL instance. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/sqladmin.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const sqladmin = google.sqladmin('v1beta4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/sqlservice.admin', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await sql.connect.get({ + * // Cloud SQL instance ID. This does not include the project ID. + * instance: 'placeholder-value', + * // Project ID of the project that contains the instance. + * project: 'placeholder-value', + * // Optional. Optional snapshot read timestamp to trade freshness for performance. + * readTime: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "backendType": "my_backendType", + * // "connectionName": "my_connectionName", + * // "customSubjectAlternativeNames": [], + * // "databaseVersion": "my_databaseVersion", + * // "dnsName": "my_dnsName", + * // "dnsNames": [], + * // "ipAddresses": [], + * // "kind": "my_kind", + * // "mdxProtocolSupport": [], + * // "nodeCount": 0, + * // "nodes": [], * // "pscEnabled": false, * // "region": "my_region", * // "serverCaCert": {}, @@ -5693,6 +6839,8 @@ export namespace sqladmin_v1beta4 { * database: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -5854,6 +7002,8 @@ export namespace sqladmin_v1beta4 { * database: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -6002,6 +7152,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.databases.insert({ * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -6177,6 +7329,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.databases.list({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -6322,6 +7476,8 @@ export namespace sqladmin_v1beta4 { * database: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -6499,6 +7655,8 @@ export namespace sqladmin_v1beta4 { * database: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -6648,6 +7806,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6662,6 +7824,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6672,6 +7838,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6687,6 +7857,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6701,6 +7875,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6720,6 +7898,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -6930,6 +8112,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.acquireSsrsLease({ * // Required. Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id). * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. ID of the project that contains the instance (Example: project-id). * project: 'placeholder-value', * @@ -7090,6 +8274,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.addEntraIdCertificate({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -7252,6 +8438,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.addServerCa({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -7412,6 +8600,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.addServerCertificate({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -7574,6 +8764,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.clone({ * // The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the source Cloud SQL instance. * project: 'placeholder-value', * @@ -7749,6 +8941,8 @@ export namespace sqladmin_v1beta4 { * finalBackupTtlDays: 'placeholder-value', * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance to be deleted. * project: 'placeholder-value', * }); @@ -7907,6 +9101,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.demote({ * // Required. The name of the Cloud SQL instance. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. The project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -8074,6 +9270,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.demoteMaster({ * // Cloud SQL instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the instance. * project: 'placeholder-value', * @@ -8242,6 +9440,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.executeSql({ * // Required. Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -8405,6 +9605,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.export({ * // The Cloud SQL instance ID. This doesn't include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance to be exported. * project: 'placeholder-value', * @@ -8572,6 +9774,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.failover({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the read replica. * project: 'placeholder-value', * @@ -8740,6 +9944,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.get({ * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -8755,6 +9961,7 @@ export namespace sqladmin_v1beta4 { * // "databaseCenterIntegrationEnabled": false, * // "databaseInstalledVersion": "my_databaseInstalledVersion", * // "databaseVersion": "my_databaseVersion", + * // "deploymentInfo": {}, * // "diskEncryptionConfiguration": {}, * // "diskEncryptionStatus": {}, * // "dnsName": "my_dnsName", @@ -8928,6 +10135,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.import({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -9093,6 +10302,8 @@ export namespace sqladmin_v1beta4 { * * // Do the magic * const res = await sql.instances.insert({ + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project to which the newly created Cloud SQL instances should belong. * project: 'placeholder-value', * @@ -9108,6 +10319,7 @@ export namespace sqladmin_v1beta4 { * // "databaseCenterIntegrationEnabled": false, * // "databaseInstalledVersion": "my_databaseInstalledVersion", * // "databaseVersion": "my_databaseVersion", + * // "deploymentInfo": {}, * // "diskEncryptionConfiguration": {}, * // "diskEncryptionStatus": {}, * // "dnsName": "my_dnsName", @@ -9310,6 +10522,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.list({ * // 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. * filter: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values above 1000 are coerced to 1000. * maxResults: 'placeholder-value', * // A previously-returned page token representing part of the larger set of results to view. @@ -9458,6 +10672,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.ListEntraIdCertificates({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -9612,6 +10828,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.listServerCas({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -9762,6 +10980,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.ListServerCertificates({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -9917,6 +11137,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.patch({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * // Optional. Set PSC config to the same value as the existing config to reconcile the PSC networking. @@ -9936,6 +11158,7 @@ export namespace sqladmin_v1beta4 { * // "databaseCenterIntegrationEnabled": false, * // "databaseInstalledVersion": "my_databaseInstalledVersion", * // "databaseVersion": "my_databaseVersion", + * // "deploymentInfo": {}, * // "diskEncryptionConfiguration": {}, * // "diskEncryptionStatus": {}, * // "dnsName": "my_dnsName", @@ -10312,6 +11535,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.preCheckMajorVersionUpgrade({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -10484,6 +11709,8 @@ export namespace sqladmin_v1beta4 { * failover: 'placeholder-value', * // Cloud SQL read replica instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the read replica. * project: 'placeholder-value', * }); @@ -10644,6 +11871,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.reencrypt({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the instance. * project: 'placeholder-value', * @@ -10812,6 +12041,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.releaseSsrsLease({ * // Required. The Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id). * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. The ID of the project that contains the instance (Example: project-id). * project: 'placeholder-value', * }); @@ -10964,6 +12195,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.resetSslConfig({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Optional. Reset SSL mode to use. * mode: 'placeholder-value', * // Project ID of the project that contains the instance. @@ -11126,6 +12359,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.restart({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance to be restarted. * project: 'placeholder-value', * }); @@ -11286,6 +12521,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.restoreBackup({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -11295,6 +12532,7 @@ export namespace sqladmin_v1beta4 { * // { * // "backup": "my_backup", * // "backupdrBackup": "my_backupdrBackup", + * // "ignoreMaintenanceVersion": false, * // "restoreBackupContext": {}, * // "restoreInstanceClearOverridesFieldNames": [], * // "restoreInstanceSettings": {} @@ -11458,6 +12696,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.RotateEntraIdCertificate({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -11628,6 +12868,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.rotateServerCa({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -11796,6 +13038,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.RotateServerCertificate({ * // Required. Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Required. Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -11966,6 +13210,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.startReplica({ * // Cloud SQL read replica instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the read replica. * project: 'placeholder-value', * }); @@ -12126,6 +13372,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.stopReplica({ * // Cloud SQL read replica instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the read replica. * project: 'placeholder-value', * }); @@ -12288,6 +13536,8 @@ export namespace sqladmin_v1beta4 { * dbTimeout: 'placeholder-value', * // Cloud SQL read replica instance name. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the replica. * project: 'placeholder-value', * }); @@ -12448,6 +13698,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.truncateLog({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the Cloud SQL project. * project: 'placeholder-value', * @@ -12616,6 +13868,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.instances.update({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -12631,6 +13885,7 @@ export namespace sqladmin_v1beta4 { * // "databaseCenterIntegrationEnabled": false, * // "databaseInstalledVersion": "my_databaseInstalledVersion", * // "databaseVersion": "my_databaseVersion", + * // "deploymentInfo": {}, * // "diskEncryptionConfiguration": {}, * // "diskEncryptionStatus": {}, * // "dnsName": "my_dnsName", @@ -12803,6 +14058,10 @@ export namespace sqladmin_v1beta4 { * Required. Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id). */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. ID of the project that contains the instance (Example: project-id). */ @@ -12818,6 +14077,10 @@ export namespace sqladmin_v1beta4 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -12828,6 +14091,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -12838,6 +14105,10 @@ export namespace sqladmin_v1beta4 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -12848,6 +14119,10 @@ export namespace sqladmin_v1beta4 { * The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the source Cloud SQL instance. */ @@ -12879,6 +14154,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance to be deleted. */ @@ -12889,6 +14168,10 @@ export namespace sqladmin_v1beta4 { * Required. The name of the Cloud SQL instance. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. The project ID of the project that contains the instance. */ @@ -12904,6 +14187,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the instance. */ @@ -12919,6 +14206,10 @@ export namespace sqladmin_v1beta4 { * Required. Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -12934,6 +14225,10 @@ export namespace sqladmin_v1beta4 { * The Cloud SQL instance ID. This doesn't include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance to be exported. */ @@ -12949,6 +14244,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the read replica. */ @@ -12964,6 +14263,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -12974,6 +14277,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -12985,6 +14292,10 @@ export namespace sqladmin_v1beta4 { requestBody?: Schema$InstancesImportRequest; } export interface Params$Resource$Instances$Insert extends StandardParameters { + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project to which the newly created Cloud SQL instances should belong. */ @@ -13000,6 +14311,10 @@ export namespace sqladmin_v1beta4 { * 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. */ filter?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values above 1000 are coerced to 1000. */ @@ -13018,6 +14333,10 @@ export namespace sqladmin_v1beta4 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13028,6 +14347,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13038,6 +14361,10 @@ export namespace sqladmin_v1beta4 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13048,6 +14375,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13082,6 +14413,10 @@ export namespace sqladmin_v1beta4 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13101,6 +14436,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL read replica instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the read replica. */ @@ -13111,6 +14450,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the instance. */ @@ -13126,6 +14469,10 @@ export namespace sqladmin_v1beta4 { * Required. The Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id). */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. The ID of the project that contains the instance (Example: project-id). */ @@ -13136,6 +14483,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Optional. Reset SSL mode to use. */ @@ -13150,6 +14501,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance to be restarted. */ @@ -13160,6 +14515,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13175,6 +14534,10 @@ export namespace sqladmin_v1beta4 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13190,6 +14553,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13205,6 +14572,10 @@ export namespace sqladmin_v1beta4 { * Required. Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Required. Project ID of the project that contains the instance. */ @@ -13220,6 +14591,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL read replica instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the read replica. */ @@ -13230,6 +14605,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL read replica instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the read replica. */ @@ -13244,6 +14623,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL read replica instance name. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the replica. */ @@ -13254,6 +14637,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the Cloud SQL project. */ @@ -13269,6 +14656,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -13839,6 +15230,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.projects.instances.getDiskShrinkConfig({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -13993,6 +15386,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.projects.instances.getLatestRecoveryTime({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * // The timestamp used to identify the time when the source instance is deleted. If this instance is deleted, then you must set the timestamp. @@ -14149,6 +15544,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.projects.instances.performDiskShrink({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -14317,6 +15714,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.projects.instances.rescheduleMaintenance({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // ID of the project that contains the instance. * project: 'placeholder-value', * @@ -14493,7 +15892,9 @@ export namespace sqladmin_v1beta4 { * // Request body metadata * requestBody: { * // request body parameters - * // {} + * // { + * // "location": "my_location" + * // } * }, * }); * console.log(res.data); @@ -14660,6 +16061,7 @@ export namespace sqladmin_v1beta4 { * requestBody: { * // request body parameters * // { + * // "location": "my_location", * // "migrationType": "my_migrationType", * // "mysqlSyncConfig": {}, * // "replicaOverwriteEnabled": false, @@ -14833,6 +16235,7 @@ export namespace sqladmin_v1beta4 { * requestBody: { * // request body parameters * // { + * // "location": "my_location", * // "migrationType": "my_migrationType", * // "mysqlSyncConfig": {}, * // "selectedObjects": [], @@ -14965,6 +16368,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -14975,6 +16382,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -14989,6 +16400,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -15004,6 +16419,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * ID of the project that contains the instance. */ @@ -15102,6 +16521,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.sslCerts.createEphemeral({ * // Cloud SQL instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the Cloud SQL project. * project: 'placeholder-value', * @@ -15837,6 +17258,10 @@ export namespace sqladmin_v1beta4 { * Cloud SQL instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the Cloud SQL project. */ @@ -16099,6 +17524,8 @@ export namespace sqladmin_v1beta4 { * host: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Name of the user in the instance. * name: 'placeholder-value', * // Project ID of the project that contains the instance. @@ -16262,6 +17689,8 @@ export namespace sqladmin_v1beta4 { * host: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // User of the instance. * name: 'placeholder-value', * // Project ID of the project that contains the instance. @@ -16418,6 +17847,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.users.insert({ * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * @@ -16599,6 +18030,8 @@ export namespace sqladmin_v1beta4 { * const res = await sql.users.list({ * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Project ID of the project that contains the instance. * project: 'placeholder-value', * }); @@ -16746,6 +18179,8 @@ export namespace sqladmin_v1beta4 { * host: 'placeholder-value', * // Database instance ID. This does not include the project ID. * instance: 'placeholder-value', + * // Optional. Region of the Cloud SQL instance. + * location: 'placeholder-value', * // Name of the user in the instance. * name: 'placeholder-value', * // Project ID of the project that contains the instance. @@ -16909,6 +18344,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Name of the user in the instance. */ @@ -16927,6 +18366,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * User of the instance. */ @@ -16941,6 +18384,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -16956,6 +18403,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Project ID of the project that contains the instance. */ @@ -16974,6 +18425,10 @@ export namespace sqladmin_v1beta4 { * Database instance ID. This does not include the project ID. */ instance?: string; + /** + * Optional. Region of the Cloud SQL instance. + */ + location?: string; /** * Name of the user in the instance. */ diff --git a/src/apis/storage/package.json b/src/apis/storage/package.json index dd9a6fe2769..88de8244ddf 100644 --- a/src/apis/storage/package.json +++ b/src/apis/storage/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/storagebatchoperations/package.json b/src/apis/storagebatchoperations/package.json index 476fcb46452..7bdf16fa4bf 100644 --- a/src/apis/storagebatchoperations/package.json +++ b/src/apis/storagebatchoperations/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/storagetransfer/package.json b/src/apis/storagetransfer/package.json index bef86eb3248..6d3c1210c59 100644 --- a/src/apis/storagetransfer/package.json +++ b/src/apis/storagetransfer/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/streetviewpublish/README.md b/src/apis/streetviewpublish/README.md index 23767876b1a..3d6cdd89ab1 100644 --- a/src/apis/streetviewpublish/README.md +++ b/src/apis/streetviewpublish/README.md @@ -4,6 +4,15 @@ > 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. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@googlemaps/streetview-publish](https://www.npmjs.com/package/@googlemaps/streetview-publish) instead. +The [@googlemaps/streetview-publish](https://www.npmjs.com/package/@googlemaps/streetview-publish) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/streetviewpublish/package.json b/src/apis/streetviewpublish/package.json index aff453656d5..8672a7bec5a 100644 --- a/src/apis/streetviewpublish/package.json +++ b/src/apis/streetviewpublish/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/sts/package.json b/src/apis/sts/package.json index 8795f7b358e..31a94d0ae8f 100644 --- a/src/apis/sts/package.json +++ b/src/apis/sts/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/tagmanager/package.json b/src/apis/tagmanager/package.json index fd2ca028ad3..6997b088b0a 100644 --- a/src/apis/tagmanager/package.json +++ b/src/apis/tagmanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/tasks/package.json b/src/apis/tasks/package.json index 27dfd6d8960..593975624f2 100644 --- a/src/apis/tasks/package.json +++ b/src/apis/tasks/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/testing/package.json b/src/apis/testing/package.json index 42e4233ad44..3ff2185a4cc 100644 --- a/src/apis/testing/package.json +++ b/src/apis/testing/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/texttospeech/package.json b/src/apis/texttospeech/package.json index 7fd550577b1..973c8c56910 100644 --- a/src/apis/texttospeech/package.json +++ b/src/apis/texttospeech/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/threatintelligence/package.json b/src/apis/threatintelligence/package.json index ad980edab4d..d824e19b2d0 100644 --- a/src/apis/threatintelligence/package.json +++ b/src/apis/threatintelligence/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/threatintelligence/v1beta.ts b/src/apis/threatintelligence/v1beta.ts index 9b133579d69..20a239010b3 100644 --- a/src/apis/threatintelligence/v1beta.ts +++ b/src/apis/threatintelligence/v1beta.ts @@ -379,6 +379,10 @@ export namespace threatintelligence_v1beta { * Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. */ detailType?: string | null; + /** + * Domain Configuration detail config. + */ + domainConfiguration?: Schema$DomainConfiguration; /** * Technology Watchlist detail config. */ @@ -698,7 +702,11 @@ export namespace threatintelligence_v1beta { */ documentCondition?: string | null; /** - * Optional. Legacy metadata associated with this scenario/monitor. + * Optional. The query used to match documents. + */ + documentQuery?: Schema$DocumentQuery; + /** + * Output only. Legacy metadata associated with this scenario/monitor. */ legacyMonitorMetadata?: Schema$LegacyMetadata; } @@ -732,6 +740,58 @@ export namespace threatintelligence_v1beta { */ severity?: string | null; } + /** + * Represents a query to match documents. + */ + export interface Schema$DocumentQuery { + /** + * Required. The data model to query against. + */ + dataModel?: string | null; + /** + * Required. The query string. + */ + query?: string | null; + /** + * Required. The type of query. + */ + queryType?: string | null; + } + /** + * Configuration holding settings for one or more monitored domains. + */ + export interface Schema$DomainConfiguration { + /** + * Optional. A list of settings for individual domains. + */ + domainSettings?: Schema$DomainSetting[]; + } + /** + * Specific configuration for the Domain Monitoring feature. + */ + export interface Schema$DomainMonitoringFeatureConfig { + /** + * Optional. Whether the Domain Monitoring feature is disabled for the domain. + */ + disabled?: boolean | null; + } + /** + * Feature settings and toggles for a single specific domain. + */ + export interface Schema$DomainSetting { + /** + * Required. The domain name to match against. + */ + domain?: string | null; + /** + * Optional. If not present, Domain Monitoring is enabled. + */ + domainMonitoringConfig?: Schema$DomainMonitoringFeatureConfig; + /** + * Output only. The verification state of the domain. + */ + state?: string | null; + } /** * Response message for EnumerateAlertFacets. */ @@ -961,67 +1021,67 @@ export namespace threatintelligence_v1beta { */ export interface Schema$LegacyMetadata { /** - * Optional. Whether aggregation is enabled for alerts from this monitor. + * Output only. Whether aggregation is enabled for alerts from this monitor. */ aggregationEnabled?: boolean | null; /** - * Optional. Similarity threshold for aggregation. + * Output only. Similarity threshold for aggregation. */ aggregationSimilarity?: number | null; /** - * Optional. Version of the condition schema. + * Output only. Version of the condition schema. */ conditionVersion?: number | null; /** - * Optional. User ID who created the monitor. + * Output only. User ID who created the monitor. */ creatorUserId?: string | null; /** - * Optional. Description of the legacy monitor. + * Output only. Description of the legacy monitor. */ description?: string | null; /** - * Optional. Code indicating why the monitor is disabled (if applicable). + * Output only. Code indicating why the monitor is disabled (if applicable). */ disabledCode?: string | null; /** - * Optional. Reason why the monitor is disabled (if applicable). + * Output only. Reason why the monitor is disabled (if applicable). */ disabledReason?: string | null; /** - * Optional. Name of the legacy monitor. + * Output only. Name of the legacy monitor. */ displayName?: string | null; /** - * Optional. Whether email notifications are enabled. + * Output only. Deprecated: Whether email notifications are enabled. This field will not be used as email notifications are handled through the GTI Mail Hub. */ emailNotificationEnabled?: boolean | null; /** - * Optional. Whether email notifications are intermediate/immediate. + * Output only. Deprecated: Whether email notifications are intermediate/immediate. This field will not be used as email notifications are handled through the GTI Mail Hub. */ emailNotificationImmediate?: boolean | null; /** - * Optional. Unique identifier of the legacy monitor. + * Output only. Unique identifier of the legacy monitor. */ legacyMonitorId?: string | null; /** - * Optional. Time the legacy monitor was considered stale. + * Output only. Time the legacy monitor was considered stale. */ staleTime?: string | null; /** - * Optional. ID of the template this monitor was created from. + * Output only. ID of the template this monitor was created from. */ templateId?: string | null; /** - * Optional. ID of the tenant owning the monitor. + * Output only. ID of the tenant owning the monitor. */ tenantId?: string | null; /** - * Optional. User ID who last updated the monitor. + * Output only. User ID who last updated the monitor. */ updaterUserId?: string | null; /** - * Optional. Version of the monitor configuration. + * Output only. Version of the monitor configuration. */ version?: number | null; } diff --git a/src/apis/toolresults/package.json b/src/apis/toolresults/package.json index 90ab3e6ce4a..b7d4dfd80fe 100644 --- a/src/apis/toolresults/package.json +++ b/src/apis/toolresults/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/tpu/package.json b/src/apis/tpu/package.json index e5622dfa303..e7ccab15429 100644 --- a/src/apis/tpu/package.json +++ b/src/apis/tpu/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/trafficdirector/package.json b/src/apis/trafficdirector/package.json index 4e5a97583bb..b160af5367c 100644 --- a/src/apis/trafficdirector/package.json +++ b/src/apis/trafficdirector/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/transcoder/package.json b/src/apis/transcoder/package.json index 9b36452dbd0..8e3c93c0cf5 100644 --- a/src/apis/transcoder/package.json +++ b/src/apis/transcoder/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/translate/package.json b/src/apis/translate/package.json index 1f1e8abba86..deafe92c0dd 100644 --- a/src/apis/translate/package.json +++ b/src/apis/translate/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/travelimpactmodel/package.json b/src/apis/travelimpactmodel/package.json index 2e0720a49c1..c7308b94062 100644 --- a/src/apis/travelimpactmodel/package.json +++ b/src/apis/travelimpactmodel/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/vault/package.json b/src/apis/vault/package.json index 801c02366d5..f71f38b5a19 100644 --- a/src/apis/vault/package.json +++ b/src/apis/vault/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/vectortile/package.json b/src/apis/vectortile/package.json index c1f545d8055..f7f4316fb31 100644 --- a/src/apis/vectortile/package.json +++ b/src/apis/vectortile/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/verifiedaccess/package.json b/src/apis/verifiedaccess/package.json index 9ffe5713066..dd8db1d8ea5 100644 --- a/src/apis/verifiedaccess/package.json +++ b/src/apis/verifiedaccess/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/versionhistory/package.json b/src/apis/versionhistory/package.json index 366ca899148..ccabe4e8fa1 100644 --- a/src/apis/versionhistory/package.json +++ b/src/apis/versionhistory/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/videointelligence/package.json b/src/apis/videointelligence/package.json index 3ab795febeb..56a769cfd3f 100644 --- a/src/apis/videointelligence/package.json +++ b/src/apis/videointelligence/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/vision/package.json b/src/apis/vision/package.json index cb4b9d05846..06046476e0e 100644 --- a/src/apis/vision/package.json +++ b/src/apis/vision/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/vmmigration/package.json b/src/apis/vmmigration/package.json index 64f89ab161a..2502bd56c32 100644 --- a/src/apis/vmmigration/package.json +++ b/src/apis/vmmigration/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/vmwareengine/package.json b/src/apis/vmwareengine/package.json index 205886edb39..0687dbd5408 100644 --- a/src/apis/vmwareengine/package.json +++ b/src/apis/vmwareengine/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/vpcaccess/package.json b/src/apis/vpcaccess/package.json index 7cdd7a476d7..599ea20ef75 100644 --- a/src/apis/vpcaccess/package.json +++ b/src/apis/vpcaccess/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/walletobjects/package.json b/src/apis/walletobjects/package.json index 50769dcd57a..c1dd647028e 100644 --- a/src/apis/walletobjects/package.json +++ b/src/apis/walletobjects/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/webcontentpublisher/package.json b/src/apis/webcontentpublisher/package.json index daa64f28add..b4523f48ad3 100644 --- a/src/apis/webcontentpublisher/package.json +++ b/src/apis/webcontentpublisher/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/webcontentpublisher/v1.ts b/src/apis/webcontentpublisher/v1.ts index 8e8829b0265..4d4f2227d09 100644 --- a/src/apis/webcontentpublisher/v1.ts +++ b/src/apis/webcontentpublisher/v1.ts @@ -180,7 +180,7 @@ export namespace webcontentpublisher_v1 { */ export interface Schema$DomainProperty { /** - * Optional. Whether the domain ownership has been verified (e.g., via Google Search Console). + * Output only. Whether the domain ownership has been verified (e.g., via Google Search Console). */ ownershipVerified?: boolean | null; /** @@ -422,7 +422,7 @@ export namespace webcontentpublisher_v1 { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', + * 'https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system', * ], * }); * @@ -604,8 +604,7 @@ export namespace webcontentpublisher_v1 { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly', + * 'https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system', * ], * }); * @@ -758,8 +757,7 @@ export namespace webcontentpublisher_v1 { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly', + * 'https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system', * ], * }); * @@ -907,7 +905,7 @@ export namespace webcontentpublisher_v1 { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', + * 'https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system', * ], * }); * @@ -1148,7 +1146,7 @@ export namespace webcontentpublisher_v1 { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', + * 'https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system', * ], * }); * @@ -1302,8 +1300,7 @@ export namespace webcontentpublisher_v1 { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly', + * 'https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system', * ], * }); * @@ -1443,8 +1440,7 @@ export namespace webcontentpublisher_v1 { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly', + * 'https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system', * ], * }); * @@ -1586,7 +1582,7 @@ export namespace webcontentpublisher_v1 { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', + * 'https://www.googleapis.com/auth/webcontentpublisher.publications.manage.system', * ], * }); * @@ -1797,10 +1793,7 @@ export namespace webcontentpublisher_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly', - * ], + * scopes: [], * }); * * // Acquire an auth client, and bind it to all future calls @@ -1967,10 +1960,7 @@ export namespace webcontentpublisher_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.manage', - * 'https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly', - * ], + * scopes: [], * }); * * // Acquire an auth client, and bind it to all future calls diff --git a/src/apis/webfonts/package.json b/src/apis/webfonts/package.json index 2090f21a091..a66b89151d7 100644 --- a/src/apis/webfonts/package.json +++ b/src/apis/webfonts/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/webmasters/package.json b/src/apis/webmasters/package.json index 4660365c05e..624c24959cd 100644 --- a/src/apis/webmasters/package.json +++ b/src/apis/webmasters/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/webrisk/package.json b/src/apis/webrisk/package.json index 688b6bc171f..33ca6137204 100644 --- a/src/apis/webrisk/package.json +++ b/src/apis/webrisk/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/websecurityscanner/package.json b/src/apis/websecurityscanner/package.json index 95758ca1a1e..e7f07ae77b3 100644 --- a/src/apis/websecurityscanner/package.json +++ b/src/apis/websecurityscanner/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/workflowexecutions/README.md b/src/apis/workflowexecutions/README.md index 0c7c53aedf8..0a0b7d78b94 100644 --- a/src/apis/workflowexecutions/README.md +++ b/src/apis/workflowexecutions/README.md @@ -4,15 +4,6 @@ > Execute workflows created with Workflows API. -## Support status -**Note**: Google provides multiple libraries for this service. This library is in -maintenance mode, and will continue to be made available for users who have -existing applications. If you're building a new application, or modernizing a -legacy application, please use [@google-cloud/workflows](https://www.npmjs.com/package/@google-cloud/workflows) instead. -The [@google-cloud/workflows](https://www.npmjs.com/package/@google-cloud/workflows) library is faster, easier to use, and better maintained. - -To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). - ## Installation ```sh diff --git a/src/apis/workflowexecutions/package.json b/src/apis/workflowexecutions/package.json index fd7a272c1bd..4894948fa6a 100644 --- a/src/apis/workflowexecutions/package.json +++ b/src/apis/workflowexecutions/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/workflows/README.md b/src/apis/workflows/README.md index ccff2c87411..472ed996d86 100644 --- a/src/apis/workflows/README.md +++ b/src/apis/workflows/README.md @@ -4,6 +4,15 @@ > Manage workflow definitions. To execute workflows and manage executions, see the Workflows Executions API. +## Support status +**Note**: Google provides multiple libraries for this service. This library is in +maintenance mode, and will continue to be made available for users who have +existing applications. If you're building a new application, or modernizing a +legacy application, please use [@google-cloud/workflows](https://www.npmjs.com/package/@google-cloud/workflows) instead. +The [@google-cloud/workflows](https://www.npmjs.com/package/@google-cloud/workflows) library is faster, easier to use, and better maintained. + +To learn more, see [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). + ## Installation ```sh diff --git a/src/apis/workflows/package.json b/src/apis/workflows/package.json index 0f3ef3bda82..2013295f9fe 100644 --- a/src/apis/workflows/package.json +++ b/src/apis/workflows/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/workloadmanager/package.json b/src/apis/workloadmanager/package.json index ec5c3768c41..1364adff62c 100644 --- a/src/apis/workloadmanager/package.json +++ b/src/apis/workloadmanager/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/workspaceevents/package.json b/src/apis/workspaceevents/package.json index 05931d1d9de..8ba8136a10f 100644 --- a/src/apis/workspaceevents/package.json +++ b/src/apis/workspaceevents/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/workstations/package.json b/src/apis/workstations/package.json index 036aaf59db0..212481ced76 100644 --- a/src/apis/workstations/package.json +++ b/src/apis/workstations/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/workstations/v1.ts b/src/apis/workstations/v1.ts index 213873e40d8..1a27e87a291 100644 --- a/src/apis/workstations/v1.ts +++ b/src/apis/workstations/v1.ts @@ -897,6 +897,19 @@ export namespace workstations_v1 { */ validateOnly?: boolean | null; } + /** + * Request message for SuspendWorkstation. + */ + export interface Schema$SuspendWorkstationRequest { + /** + * Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag. + */ + etag?: string | null; + /** + * Optional. If set, validate the request and preview the result, but do not actually apply it. + */ + validateOnly?: boolean | null; + } /** * Request message for `TestIamPermissions` method. */ @@ -1146,7 +1159,11 @@ export namespace workstations_v1 { */ host?: Schema$Host; /** - * Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes). + * Optional. The action to take when the workstation has been idle for the duration specified in idle_timeout. Defaults to STOP. + */ + idleAction?: string | null; + /** + * Optional. Number of seconds to wait before automatically stopping or suspending a workstation after it last received user traffic. See idle_action to configure whether to stop or suspend idle workstations. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes). */ idleTimeout?: string | null; /** @@ -1178,7 +1195,7 @@ export namespace workstations_v1 { */ replicaZones?: string[] | null; /** - * Optional. Number of seconds to wait before automatically stopping a workstation. We recommend that workstations be stopped daily so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field stops workstations after the specified time, regardless of whether or not the workstations are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates. + * Optional. Number of seconds to wait before automatically stopping a workstation. We recommend that workstations be stopped daily so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field stops workstations after the specified time, regardless of whether or not the workstations are idle. Note: This timeout applies to workstations in the following states: * STATE_RUNNING * STATE_SUSPENDED Suspending a workstation does not reset this timeout. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates. */ runningTimeout?: string | null; /** @@ -3112,6 +3129,7 @@ export namespace workstations_v1 { * // "etag": "my_etag", * // "grantWorkstationAdminRoleOnCreate": false, * // "host": {}, + * // "idleAction": "my_idleAction", * // "idleTimeout": "my_idleTimeout", * // "labels": {}, * // "maxUsableWorkstations": 0, @@ -3437,6 +3455,7 @@ export namespace workstations_v1 { * // "etag": "my_etag", * // "grantWorkstationAdminRoleOnCreate": false, * // "host": {}, + * // "idleAction": "my_idleAction", * // "idleTimeout": "my_idleTimeout", * // "labels": {}, * // "maxUsableWorkstations": 0, @@ -4064,6 +4083,7 @@ export namespace workstations_v1 { * // "etag": "my_etag", * // "grantWorkstationAdminRoleOnCreate": false, * // "host": {}, + * // "idleAction": "my_idleAction", * // "idleTimeout": "my_idleTimeout", * // "labels": {}, * // "maxUsableWorkstations": 0, @@ -6335,6 +6355,159 @@ export namespace workstations_v1 { } } + /** + * Suspends a workstation to reduce costs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/workstations.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const workstations = google.workstations('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await workstations.projects.locations.workstationClusters.workstationConfigs.workstations.suspend( + * { + * // Required. Name of the workstation to suspend. + * name: 'projects/my-project/locations/my-location/workstationClusters/my-workstationCluster/workstationConfigs/my-workstationConfig/workstations/my-workstation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "etag": "my_etag", + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + suspend( + params: Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend, + options: StreamMethodOptions + ): Promise>; + suspend( + params?: Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend, + options?: MethodOptions + ): Promise>; + suspend( + params: Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suspend( + params: Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suspend( + params: Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend, + callback: BodyResponseCallback + ): void; + suspend(callback: BodyResponseCallback): void; + suspend( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://workstations.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:suspend').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * 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. * @example @@ -6637,6 +6810,17 @@ export namespace workstations_v1 { */ requestBody?: Schema$StopWorkstationRequest; } + export interface Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Suspend extends StandardParameters { + /** + * Required. Name of the workstation to suspend. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SuspendWorkstationRequest; + } export interface Params$Resource$Projects$Locations$Workstationclusters$Workstationconfigs$Workstations$Testiampermissions extends StandardParameters { /** * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. diff --git a/src/apis/workstations/v1beta.ts b/src/apis/workstations/v1beta.ts index 7ad7e65e6b8..c73ee4b9358 100644 --- a/src/apis/workstations/v1beta.ts +++ b/src/apis/workstations/v1beta.ts @@ -1092,6 +1092,10 @@ export namespace workstations_v1beta { * Output only. Status conditions describing the workstation cluster's current state. */ conditions?: Schema$Status[]; + /** + * Optional. Specifies a custom base URL for the Google Cloud Console. This field is intended to be user-configurable to support data residency for Cloud Workstations users. This will be used generally for user journeys where users need to go to the Cloud Console from Code OSS. When the Auth and Launch URLs are unset, this will be used as the base URL for those endpoints if set. + */ + consoleBaseUrl?: string | null; /** * Output only. The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address. */ @@ -1254,7 +1258,7 @@ export namespace workstations_v1beta { */ idleAction?: string | null; /** - * Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes). + * Optional. Number of seconds to wait before automatically stopping or suspending a workstation after it last received user traffic. See idle_action to configure whether to stop or suspend idle workstations. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes). */ idleTimeout?: string | null; /** @@ -1286,7 +1290,7 @@ export namespace workstations_v1beta { */ replicaZones?: string[] | null; /** - * Optional. Number of seconds to wait before automatically stopping a workstation. We recommend that workstations be stopped daily so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field stops workstations after the specified time, regardless of whether or not the workstations are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates. + * Optional. Number of seconds to wait before automatically stopping a workstation. We recommend that workstations be stopped daily so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field stops workstations after the specified time, regardless of whether or not the workstations are idle. Note: This timeout applies to workstations in the following states: * STATE_RUNNING * STATE_SUSPENDED Suspending a workstation does not reset this timeout. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates. */ runningTimeout?: string | null; /** @@ -2009,6 +2013,7 @@ export namespace workstations_v1beta { * // { * // "annotations": {}, * // "conditions": [], + * // "consoleBaseUrl": "my_consoleBaseUrl", * // "controlPlaneIp": "my_controlPlaneIp", * // "createTime": "my_createTime", * // "degraded": false, @@ -2324,6 +2329,7 @@ export namespace workstations_v1beta { * // { * // "annotations": {}, * // "conditions": [], + * // "consoleBaseUrl": "my_consoleBaseUrl", * // "controlPlaneIp": "my_controlPlaneIp", * // "createTime": "my_createTime", * // "degraded": false, @@ -2639,6 +2645,7 @@ export namespace workstations_v1beta { * // { * // "annotations": {}, * // "conditions": [], + * // "consoleBaseUrl": "my_consoleBaseUrl", * // "controlPlaneIp": "my_controlPlaneIp", * // "createTime": "my_createTime", * // "degraded": false, diff --git a/src/apis/youtube/package.json b/src/apis/youtube/package.json index 4542b7bfa96..b50211026b1 100644 --- a/src/apis/youtube/package.json +++ b/src/apis/youtube/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/youtube/v3.ts b/src/apis/youtube/v3.ts index 2faa3f287d2..5775849a1f2 100644 --- a/src/apis/youtube/v3.ts +++ b/src/apis/youtube/v3.ts @@ -17947,6 +17947,7 @@ export namespace youtube_v3 { * scopes: [ * 'https://www.googleapis.com/auth/youtube', * 'https://www.googleapis.com/auth/youtube.force-ssl', + * 'https://www.googleapis.com/auth/youtube.readonly', * 'https://www.googleapis.com/auth/youtubepartner', * ], * }); diff --git a/src/apis/youtubeAnalytics/package.json b/src/apis/youtubeAnalytics/package.json index 0b570910ac9..381f701df0e 100644 --- a/src/apis/youtubeAnalytics/package.json +++ b/src/apis/youtubeAnalytics/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/apis/youtubereporting/package.json b/src/apis/youtubereporting/package.json index 4474e5379cb..5b2e168d450 100644 --- a/src/apis/youtubereporting/package.json +++ b/src/apis/youtubereporting/package.json @@ -18,7 +18,7 @@ "url": "https://github.com/googleapis/google-api-nodejs-client.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=22.0.0" }, "scripts": { "fix": "gts fix", diff --git a/src/index.ts b/src/index.ts index a593828fb3d..8ed0e953e38 100644 --- a/src/index.ts +++ b/src/index.ts @@ -42,6 +42,7 @@ export {adsensehost_v4_1} from './apis/adsensehost/v4.1'; export {adsenseplatform_v1} from './apis/adsenseplatform/v1'; export {adsenseplatform_v1alpha} from './apis/adsenseplatform/v1alpha'; export {advisorynotifications_v1} from './apis/advisorynotifications/v1'; +export {agenciesandbrands_v1} from './apis/agenciesandbrands/v1'; export {agentidentity_v1} from './apis/agentidentity/v1'; export {agentidentity_v1alpha} from './apis/agentidentity/v1alpha'; export {agentidentity_v1beta} from './apis/agentidentity/v1beta'; @@ -93,10 +94,12 @@ export {artifactregistry_v1beta1} from './apis/artifactregistry/v1beta1'; export {artifactregistry_v1beta2} from './apis/artifactregistry/v1beta2'; export {assuredworkloads_v1} from './apis/assuredworkloads/v1'; export {assuredworkloads_v1beta1} from './apis/assuredworkloads/v1beta1'; +export {auditmanager_v1} from './apis/auditmanager/v1'; export {authorizedbuyersmarketplace_v1} from './apis/authorizedbuyersmarketplace/v1'; export {authorizedbuyersmarketplace_v1alpha} from './apis/authorizedbuyersmarketplace/v1alpha'; export {authorizedbuyersmarketplace_v1beta} from './apis/authorizedbuyersmarketplace/v1beta'; export {backupdr_v1} from './apis/backupdr/v1'; +export {backupdr_v1beta} from './apis/backupdr/v1beta'; export {baremetalsolution_v1} from './apis/baremetalsolution/v1'; export {baremetalsolution_v1alpha1} from './apis/baremetalsolution/v1alpha1'; export {baremetalsolution_v2} from './apis/baremetalsolution/v2'; @@ -203,10 +206,10 @@ export {container_v1beta1} from './apis/container/v1beta1'; export {containeranalysis_v1} from './apis/containeranalysis/v1'; export {containeranalysis_v1alpha1} from './apis/containeranalysis/v1alpha1'; export {containeranalysis_v1beta1} from './apis/containeranalysis/v1beta1'; -export {content_v2_1} from './apis/content/v2.1'; export {content_v2} from './apis/content/v2'; export {contentwarehouse_v1} from './apis/contentwarehouse/v1'; export {css_v1} from './apis/css/v1'; +export {curationpartners_v1} from './apis/curationpartners/v1'; export {customsearch_v1} from './apis/customsearch/v1'; export {databasecenter_v1beta} from './apis/databasecenter/v1beta'; export {datacatalog_v1} from './apis/datacatalog/v1'; @@ -339,6 +342,7 @@ export {gmailpostmastertools_v2} from './apis/gmailpostmastertools/v2'; export {groupsmigration_v1} from './apis/groupsmigration/v1'; export {groupssettings_v1} from './apis/groupssettings/v1'; export {health_v4} from './apis/health/v4'; +export {health_v4beta} from './apis/health/v4beta'; export {healthcare_v1} from './apis/healthcare/v1'; export {healthcare_v1beta1} from './apis/healthcare/v1beta1'; export {homegraph_v1} from './apis/homegraph/v1';