From b67260cf84671506002357557a613fd836a91d99 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 01/37] feat(aiplatform): update the API #### aiplatform:v1beta1 The following keys were added: - schemas.GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata.properties.deploymentStage.description - schemas.GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata.properties.deploymentStage.enum - schemas.GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata.properties.deploymentStage.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata.properties.deploymentStage.readOnly - schemas.GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata.properties.deploymentStage.type - schemas.GoogleCloudAiplatformV1beta1DeployModelOperationMetadata.properties.deploymentStage.description - schemas.GoogleCloudAiplatformV1beta1DeployModelOperationMetadata.properties.deploymentStage.enum - schemas.GoogleCloudAiplatformV1beta1DeployModelOperationMetadata.properties.deploymentStage.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1DeployModelOperationMetadata.properties.deploymentStage.readOnly - schemas.GoogleCloudAiplatformV1beta1DeployModelOperationMetadata.properties.deploymentStage.type - schemas.GoogleCloudAiplatformV1beta1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.properties.value.$ref - schemas.GoogleCloudAiplatformV1beta1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.properties.value.description - schemas.GoogleCloudAiplatformV1beta1GoogleMaps.description - schemas.GoogleCloudAiplatformV1beta1GoogleMaps.id - schemas.GoogleCloudAiplatformV1beta1GoogleMaps.properties.apiAuth.$ref - schemas.GoogleCloudAiplatformV1beta1GoogleMaps.properties.apiAuth.deprecated - schemas.GoogleCloudAiplatformV1beta1GoogleMaps.properties.apiAuth.description - schemas.GoogleCloudAiplatformV1beta1GoogleMaps.properties.authConfig.$ref - schemas.GoogleCloudAiplatformV1beta1GoogleMaps.properties.authConfig.description - schemas.GoogleCloudAiplatformV1beta1GoogleMaps.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunk.properties.maps.$ref - schemas.GoogleCloudAiplatformV1beta1GroundingChunk.properties.maps.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.id - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.placeAnswerSources.$ref - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.placeAnswerSources.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.placeId.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.placeId.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.text.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.text.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.title.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.title.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.uri.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.properties.uri.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMaps.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources.id - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources.properties.flagContentUri.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources.properties.flagContentUri.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources.properties.reviewSnippets.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources.properties.reviewSnippets.items.$ref - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources.properties.reviewSnippets.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.id - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.displayName.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.displayName.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.photoUri.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.photoUri.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.uri.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.uri.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.id - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.authorAttribution.$ref - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.authorAttribution.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.flagContentUri.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.flagContentUri.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.googleMapsUri.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.googleMapsUri.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.relativePublishTimeDescription.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.relativePublishTimeDescription.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.review.description - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.review.type - schemas.GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.type - schemas.GoogleCloudAiplatformV1beta1GroundingMetadata.properties.googleMapsWidgetContextToken.description - schemas.GoogleCloudAiplatformV1beta1GroundingMetadata.properties.googleMapsWidgetContextToken.readOnly - schemas.GoogleCloudAiplatformV1beta1GroundingMetadata.properties.googleMapsWidgetContextToken.type - schemas.GoogleCloudAiplatformV1beta1IndexDatapoint.properties.embeddingMetadata.additionalProperties.description - schemas.GoogleCloudAiplatformV1beta1IndexDatapoint.properties.embeddingMetadata.additionalProperties.type - schemas.GoogleCloudAiplatformV1beta1IndexDatapoint.properties.embeddingMetadata.description - schemas.GoogleCloudAiplatformV1beta1IndexDatapoint.properties.embeddingMetadata.type - schemas.GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences.properties.colabNotebookDisabled.description - schemas.GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences.properties.colabNotebookDisabled.type - schemas.GoogleCloudAiplatformV1beta1ReasoningEngine.properties.encryptionSpec.$ref - schemas.GoogleCloudAiplatformV1beta1ReasoningEngine.properties.encryptionSpec.description - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpec.properties.serviceAccount.description - schemas.GoogleCloudAiplatformV1beta1ReasoningEngineSpec.properties.serviceAccount.type - schemas.GoogleCloudAiplatformV1beta1SupervisedHyperParameters.properties.batchSize.description - schemas.GoogleCloudAiplatformV1beta1SupervisedHyperParameters.properties.batchSize.format - schemas.GoogleCloudAiplatformV1beta1SupervisedHyperParameters.properties.batchSize.type - schemas.GoogleCloudAiplatformV1beta1SupervisedHyperParameters.properties.learningRate.description - schemas.GoogleCloudAiplatformV1beta1SupervisedHyperParameters.properties.learningRate.format - schemas.GoogleCloudAiplatformV1beta1SupervisedHyperParameters.properties.learningRate.type - schemas.GoogleCloudAiplatformV1beta1SupervisedTuningSpec.properties.tuningMode.description - schemas.GoogleCloudAiplatformV1beta1SupervisedTuningSpec.properties.tuningMode.enum - schemas.GoogleCloudAiplatformV1beta1SupervisedTuningSpec.properties.tuningMode.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1SupervisedTuningSpec.properties.tuningMode.type - schemas.GoogleCloudAiplatformV1beta1Tool.properties.googleMaps.$ref - schemas.GoogleCloudAiplatformV1beta1Tool.properties.googleMaps.description - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.customBaseModel.description - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.customBaseModel.type - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.outputUri.description - schemas.GoogleCloudAiplatformV1beta1TuningJob.properties.outputUri.type The following keys were changed: - schemas.GoogleCloudAiplatformV1beta1Tool.properties.functionDeclarations.description #### aiplatform:v1 The following keys were added: - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.description - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.flatPath - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.httpMethod - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.id - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.parameterOrder - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.parameters.featureView.description - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.parameters.featureView.location - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.parameters.featureView.pattern - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.parameters.featureView.required - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.parameters.featureView.type - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.path - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.request.$ref - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.response.$ref - resources.projects.resources.locations.resources.featureOnlineStores.resources.featureViews.methods.directWrite.scopes - schemas.GoogleCloudAiplatformV1CreateEndpointOperationMetadata.properties.deploymentStage.description - schemas.GoogleCloudAiplatformV1CreateEndpointOperationMetadata.properties.deploymentStage.enum - schemas.GoogleCloudAiplatformV1CreateEndpointOperationMetadata.properties.deploymentStage.enumDescriptions - schemas.GoogleCloudAiplatformV1CreateEndpointOperationMetadata.properties.deploymentStage.readOnly - schemas.GoogleCloudAiplatformV1CreateEndpointOperationMetadata.properties.deploymentStage.type - schemas.GoogleCloudAiplatformV1DeployModelOperationMetadata.properties.deploymentStage.description - schemas.GoogleCloudAiplatformV1DeployModelOperationMetadata.properties.deploymentStage.enum - schemas.GoogleCloudAiplatformV1DeployModelOperationMetadata.properties.deploymentStage.enumDescriptions - schemas.GoogleCloudAiplatformV1DeployModelOperationMetadata.properties.deploymentStage.readOnly - schemas.GoogleCloudAiplatformV1DeployModelOperationMetadata.properties.deploymentStage.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequest.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequest.id - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequest.properties.dataKeyAndFeatureValues.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequest.properties.dataKeyAndFeatureValues.items.$ref - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequest.properties.dataKeyAndFeatureValues.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequest.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues.id - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues.properties.dataKey.$ref - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues.properties.dataKey.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues.properties.features.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues.properties.features.items.$ref - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues.properties.features.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.id - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.properties.name.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.properties.name.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.properties.value.$ref - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.properties.value.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.id - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.properties.status.$ref - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.properties.status.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.properties.writeResponses.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.properties.writeResponses.items.$ref - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.properties.writeResponses.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponse.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse.id - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse.properties.dataKey.$ref - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse.properties.dataKey.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse.properties.onlineStoreWriteTime.description - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse.properties.onlineStoreWriteTime.format - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse.properties.onlineStoreWriteTime.type - schemas.GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse.type - schemas.GoogleCloudAiplatformV1GoogleMaps.description - schemas.GoogleCloudAiplatformV1GoogleMaps.id - schemas.GoogleCloudAiplatformV1GoogleMaps.properties.apiAuth.$ref - schemas.GoogleCloudAiplatformV1GoogleMaps.properties.apiAuth.deprecated - schemas.GoogleCloudAiplatformV1GoogleMaps.properties.apiAuth.description - schemas.GoogleCloudAiplatformV1GoogleMaps.properties.authConfig.$ref - schemas.GoogleCloudAiplatformV1GoogleMaps.properties.authConfig.description - schemas.GoogleCloudAiplatformV1GoogleMaps.type - schemas.GoogleCloudAiplatformV1GroundingChunk.properties.maps.$ref - schemas.GoogleCloudAiplatformV1GroundingChunk.properties.maps.description - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.description - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.id - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.placeAnswerSources.$ref - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.placeAnswerSources.description - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.placeId.description - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.placeId.type - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.text.description - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.text.type - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.title.description - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.title.type - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.uri.description - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.properties.uri.type - schemas.GoogleCloudAiplatformV1GroundingChunkMaps.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources.id - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources.properties.flagContentUri.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources.properties.flagContentUri.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources.properties.reviewSnippets.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources.properties.reviewSnippets.items.$ref - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources.properties.reviewSnippets.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.id - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.displayName.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.displayName.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.photoUri.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.photoUri.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.uri.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.properties.uri.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.id - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.authorAttribution.$ref - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.authorAttribution.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.flagContentUri.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.flagContentUri.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.googleMapsUri.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.googleMapsUri.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.relativePublishTimeDescription.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.relativePublishTimeDescription.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.review.description - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.properties.review.type - schemas.GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet.type - schemas.GoogleCloudAiplatformV1GroundingMetadata.properties.googleMapsWidgetContextToken.description - schemas.GoogleCloudAiplatformV1GroundingMetadata.properties.googleMapsWidgetContextToken.readOnly - schemas.GoogleCloudAiplatformV1GroundingMetadata.properties.googleMapsWidgetContextToken.type - schemas.GoogleCloudAiplatformV1IndexDatapoint.properties.embeddingMetadata.additionalProperties.description - schemas.GoogleCloudAiplatformV1IndexDatapoint.properties.embeddingMetadata.additionalProperties.type - schemas.GoogleCloudAiplatformV1IndexDatapoint.properties.embeddingMetadata.description - schemas.GoogleCloudAiplatformV1IndexDatapoint.properties.embeddingMetadata.type - schemas.GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences.properties.colabNotebookDisabled.description - schemas.GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences.properties.colabNotebookDisabled.type - schemas.GoogleCloudAiplatformV1ReasoningEngine.properties.encryptionSpec.$ref - schemas.GoogleCloudAiplatformV1ReasoningEngine.properties.encryptionSpec.description - schemas.GoogleCloudAiplatformV1ReasoningEngineSpec.properties.serviceAccount.description - schemas.GoogleCloudAiplatformV1ReasoningEngineSpec.properties.serviceAccount.type - schemas.GoogleCloudAiplatformV1Tool.properties.googleMaps.$ref - schemas.GoogleCloudAiplatformV1Tool.properties.googleMaps.description The following keys were changed: - schemas.GoogleCloudAiplatformV1Tool.properties.functionDeclarations.description --- discovery/aiplatform-v1.json | 307 +++++++++++++++++++++++- discovery/aiplatform-v1beta1.json | 234 ++++++++++++++++++- src/apis/aiplatform/v1.ts | 371 +++++++++++++++++++++++++++++- src/apis/aiplatform/v1beta1.ts | 167 +++++++++++++- 4 files changed, 1073 insertions(+), 6 deletions(-) diff --git a/discovery/aiplatform-v1.json b/discovery/aiplatform-v1.json index c093a3e4070..1dbea3b1443 100644 --- a/discovery/aiplatform-v1.json +++ b/discovery/aiplatform-v1.json @@ -6118,6 +6118,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "directWrite": { + "description": "Bidirectional streaming RPC to directly write to feature values in a feature view. Requests may not have a one-to-one mapping to responses and responses may be returned out-of-order to reduce latency.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:directWrite", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureOnlineStores.featureViews.directWrite", + "parameterOrder": [ + "featureView" + ], + "parameters": { + "featureView": { + "description": "FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+featureView}:directWrite", + "request": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "fetchFeatureValues": { "description": "Fetch feature values under a FeatureView.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:fetchFeatureValues", @@ -20258,7 +20286,7 @@ } } }, - "revision": "20250715", + "revision": "20250728", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -23193,6 +23221,33 @@ "description": "Runtime operation information for EndpointService.CreateEndpoint.", "id": "GoogleCloudAiplatformV1CreateEndpointOperationMetadata", "properties": { + "deploymentStage": { + "description": "Output only. The deployment stage of the model. Only populated if this CreateEndpoint request deploys a model at the same time.", + "enum": [ + "DEPLOYMENT_STAGE_UNSPECIFIED", + "STARTING_DEPLOYMENT", + "PREPARING_MODEL", + "CREATING_SERVING_CLUSTER", + "ADDING_NODES_TO_CLUSTER", + "GETTING_CONTAINER_IMAGE", + "STARTING_MODEL_SERVER", + "FINISHING_UP", + "DEPLOYMENT_TERMINATED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The deployment is initializing and setting up the environment.", + "The deployment is preparing the model assets.", + "The deployment is creating the underlying serving cluster.", + "The deployment is adding nodes to the serving cluster.", + "The deployment is getting the container image for the model server.", + "The deployment is starting the model server.", + "The deployment is performing finalization steps.", + "The deployment has terminated." + ], + "readOnly": true, + "type": "string" + }, "genericMetadata": { "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", "description": "The operation generic information." @@ -24259,6 +24314,33 @@ "description": "Runtime operation information for EndpointService.DeployModel.", "id": "GoogleCloudAiplatformV1DeployModelOperationMetadata", "properties": { + "deploymentStage": { + "description": "Output only. The deployment stage of the model.", + "enum": [ + "DEPLOYMENT_STAGE_UNSPECIFIED", + "STARTING_DEPLOYMENT", + "PREPARING_MODEL", + "CREATING_SERVING_CLUSTER", + "ADDING_NODES_TO_CLUSTER", + "GETTING_CONTAINER_IMAGE", + "STARTING_MODEL_SERVER", + "FINISHING_UP", + "DEPLOYMENT_TERMINATED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The deployment is initializing and setting up the environment.", + "The deployment is preparing the model assets.", + "The deployment is creating the underlying serving cluster.", + "The deployment is adding nodes to the serving cluster.", + "The deployment is getting the container image for the model server.", + "The deployment is starting the model server.", + "The deployment is performing finalization steps.", + "The deployment has terminated." + ], + "readOnly": true, + "type": "string" + }, "genericMetadata": { "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", "description": "The operation generic information." @@ -27422,6 +27504,87 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteRequest": { + "description": "Request message for FeatureOnlineStoreService.FeatureViewDirectWrite.", + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequest", + "properties": { + "dataKeyAndFeatureValues": { + "description": "Required. The data keys and associated feature values.", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues": { + "description": "A data key and associated feature values to write to the feature view.", + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues", + "properties": { + "dataKey": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey", + "description": "The data key." + }, + "features": { + "description": "List of features to write.", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature": { + "description": "Feature name & value pair.", + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature", + "properties": { + "name": { + "description": "Feature short name.", + "type": "string" + }, + "value": { + "$ref": "GoogleCloudAiplatformV1FeatureValue", + "description": "Feature value. A user provided timestamp may be set in the `FeatureValue.metadata.generate_time` field." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteResponse": { + "description": "Response message for FeatureOnlineStoreService.FeatureViewDirectWrite.", + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponse", + "properties": { + "status": { + "$ref": "GoogleRpcStatus", + "description": "Response status for the keys listed in FeatureViewDirectWriteResponse.write_responses. The error only applies to the listed data keys - the stream will remain open for further FeatureOnlineStoreService.FeatureViewDirectWriteRequest requests. Partial failures (e.g. if the first 10 keys of a request fail, but the rest succeed) from a single request may result in multiple responses - there will be one response for the successful request keys and one response for the failing request keys." + }, + "writeResponses": { + "description": "Details about write for each key. If status is not OK, WriteResponse.data_key will have the key with error, but WriteResponse.online_store_write_time will not be present.", + "items": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse": { + "description": "Details about the write for each key.", + "id": "GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse", + "properties": { + "dataKey": { + "$ref": "GoogleCloudAiplatformV1FeatureViewDataKey", + "description": "What key is this write response associated with." + }, + "onlineStoreWriteTime": { + "description": "When the feature values were written to the online store. If FeatureViewDirectWriteResponse.status is not OK, this field is not populated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource": { "description": "A Feature Registry source for features that need to be synced to Online Store.", "id": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource", @@ -28968,6 +29131,22 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1GoogleMaps": { + "description": "Tool to retrieve public maps data for grounding, powered by Google.", + "id": "GoogleCloudAiplatformV1GoogleMaps", + "properties": { + "apiAuth": { + "$ref": "GoogleCloudAiplatformV1ApiAuth", + "deprecated": true, + "description": "The authentication config to access the API. Deprecated. Please use auth_config instead." + }, + "authConfig": { + "$ref": "GoogleCloudAiplatformV1AuthConfig", + "description": "The authentication config to access the API. Only API key is supported." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1GoogleSearchRetrieval": { "description": "Tool to retrieve public web data for grounding, powered by Google.", "id": "GoogleCloudAiplatformV1GoogleSearchRetrieval", @@ -29049,6 +29228,10 @@ "description": "Grounding chunk.", "id": "GoogleCloudAiplatformV1GroundingChunk", "properties": { + "maps": { + "$ref": "GoogleCloudAiplatformV1GroundingChunkMaps", + "description": "Grounding chunk from Google Maps." + }, "retrievedContext": { "$ref": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext", "description": "Grounding chunk from context retrieved by the retrieval tools." @@ -29060,6 +29243,97 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1GroundingChunkMaps": { + "description": "Chunk from Google Maps.", + "id": "GoogleCloudAiplatformV1GroundingChunkMaps", + "properties": { + "placeAnswerSources": { + "$ref": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources", + "description": "Sources used to generate the place answer. This includes review snippets and photos that were used to generate the answer, as well as uris to flag content." + }, + "placeId": { + "description": "This Place's resource name, in `places/{place_id}` format. Can be used to look up the Place.", + "type": "string" + }, + "text": { + "description": "Text of the chunk.", + "type": "string" + }, + "title": { + "description": "Title of the chunk.", + "type": "string" + }, + "uri": { + "description": "URI reference of the chunk.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources": { + "description": "Sources used to generate the place answer.", + "id": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources", + "properties": { + "flagContentUri": { + "description": "A link where users can flag a problem with the generated answer.", + "type": "string" + }, + "reviewSnippets": { + "description": "Snippets of reviews that are used to generate the answer.", + "items": { + "$ref": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution": { + "description": "Author attribution for a photo or review.", + "id": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution", + "properties": { + "displayName": { + "description": "Name of the author of the Photo or Review.", + "type": "string" + }, + "photoUri": { + "description": "Profile photo URI of the author of the Photo or Review.", + "type": "string" + }, + "uri": { + "description": "URI of the author of the Photo or Review.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet": { + "description": "Encapsulates a review snippet.", + "id": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet", + "properties": { + "authorAttribution": { + "$ref": "GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution", + "description": "This review's author." + }, + "flagContentUri": { + "description": "A link where users can flag a problem with the review.", + "type": "string" + }, + "googleMapsUri": { + "description": "A link to show the review on Google Maps.", + "type": "string" + }, + "relativePublishTimeDescription": { + "description": "A string of formatted recent time, expressing the review time relative to the current time in a form appropriate for the language and country.", + "type": "string" + }, + "review": { + "description": "A reference representing this place review which may be used to look up this place review again.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1GroundingChunkRetrievedContext": { "description": "Chunk from context retrieved by the retrieval tools.", "id": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext", @@ -29106,6 +29380,11 @@ "description": "Metadata returned to client when grounding is enabled.", "id": "GoogleCloudAiplatformV1GroundingMetadata", "properties": { + "googleMapsWidgetContextToken": { + "description": "Optional. Output only. Resource name of the Google Maps widget context token to be used with the PlacesContextElement widget to render contextual data. This is populated only for Google Maps grounding.", + "readOnly": true, + "type": "string" + }, "groundingChunks": { "description": "List of supporting references retrieved from specified grounding source.", "items": { @@ -29695,6 +29974,14 @@ "description": "Required. Unique identifier of the datapoint.", "type": "string" }, + "embeddingMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The key-value map of additional metadata for the datapoint.", + "type": "object" + }, "featureVector": { "description": "Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions].", "items": { @@ -36197,6 +36484,10 @@ "description": "The regional resource name or the URI. Key is region, e.g., us-central1, europe-west2, global, etc..", "id": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", "properties": { + "colabNotebookDisabled": { + "description": "Optional. For notebook resource. When set to true, the Colab Enterprise link will be disabled in the \"open notebook\" dialog in UI.", + "type": "boolean" + }, "references": { "additionalProperties": { "$ref": "GoogleCloudAiplatformV1PublisherModelResourceReference" @@ -37685,6 +37976,10 @@ "description": "Required. The display name of the ReasoningEngine.", "type": "string" }, + "encryptionSpec": { + "$ref": "GoogleCloudAiplatformV1EncryptionSpec", + "description": "Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key." + }, "etag": { "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" @@ -37732,6 +38027,10 @@ "packageSpec": { "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", "description": "Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through `deployment_spec.first_party_image_override`, but keeping the field_behavior to avoid introducing breaking changes." + }, + "serviceAccount": { + "description": "Optional. The service account that the Reasoning Engine artifact runs as. It should have \"roles/storage.objectViewer\" for reading the user project's Cloud Storage and \"roles/aiplatform.user\" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service Agent in the project will be used.", + "type": "string" } }, "type": "object" @@ -45470,12 +45769,16 @@ "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." }, "functionDeclarations": { - "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided.", + "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", "items": { "$ref": "GoogleCloudAiplatformV1FunctionDeclaration" }, "type": "array" }, + "googleMaps": { + "$ref": "GoogleCloudAiplatformV1GoogleMaps", + "description": "Optional. GoogleMaps tool type. Tool to support Google Maps in Model." + }, "googleSearch": { "$ref": "GoogleCloudAiplatformV1ToolGoogleSearch", "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." diff --git a/discovery/aiplatform-v1beta1.json b/discovery/aiplatform-v1beta1.json index e347f19053e..fbe2fc46520 100644 --- a/discovery/aiplatform-v1beta1.json +++ b/discovery/aiplatform-v1beta1.json @@ -25320,7 +25320,7 @@ } } }, - "revision": "20250715", + "revision": "20250728", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -28495,6 +28495,33 @@ "description": "Runtime operation information for EndpointService.CreateEndpoint.", "id": "GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata", "properties": { + "deploymentStage": { + "description": "Output only. The deployment stage of the model. Only populated if this CreateEndpoint request deploys a model at the same time.", + "enum": [ + "DEPLOYMENT_STAGE_UNSPECIFIED", + "STARTING_DEPLOYMENT", + "PREPARING_MODEL", + "CREATING_SERVING_CLUSTER", + "ADDING_NODES_TO_CLUSTER", + "GETTING_CONTAINER_IMAGE", + "STARTING_MODEL_SERVER", + "FINISHING_UP", + "DEPLOYMENT_TERMINATED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The deployment is initializing and setting up the environment.", + "The deployment is preparing the model assets.", + "The deployment is creating the underlying serving cluster.", + "The deployment is adding nodes to the serving cluster.", + "The deployment is getting the container image for the model server.", + "The deployment is starting the model server.", + "The deployment is performing finalization steps.", + "The deployment has terminated." + ], + "readOnly": true, + "type": "string" + }, "genericMetadata": { "$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", "description": "The operation generic information." @@ -29753,6 +29780,33 @@ "description": "Runtime operation information for EndpointService.DeployModel.", "id": "GoogleCloudAiplatformV1beta1DeployModelOperationMetadata", "properties": { + "deploymentStage": { + "description": "Output only. The deployment stage of the model.", + "enum": [ + "DEPLOYMENT_STAGE_UNSPECIFIED", + "STARTING_DEPLOYMENT", + "PREPARING_MODEL", + "CREATING_SERVING_CLUSTER", + "ADDING_NODES_TO_CLUSTER", + "GETTING_CONTAINER_IMAGE", + "STARTING_MODEL_SERVER", + "FINISHING_UP", + "DEPLOYMENT_TERMINATED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The deployment is initializing and setting up the environment.", + "The deployment is preparing the model assets.", + "The deployment is creating the underlying serving cluster.", + "The deployment is adding nodes to the serving cluster.", + "The deployment is getting the container image for the model server.", + "The deployment is starting the model server.", + "The deployment is performing finalization steps.", + "The deployment has terminated." + ], + "readOnly": true, + "type": "string" + }, "genericMetadata": { "$ref": "GoogleCloudAiplatformV1beta1GenericOperationMetadata", "description": "The operation generic information." @@ -33692,6 +33746,10 @@ "description": "Feature short name.", "type": "string" }, + "value": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureValue", + "description": "Feature value. A user provided timestamp may be set in the `FeatureValue.metadata.generate_time` field." + }, "valueAndTimestamp": { "$ref": "GoogleCloudAiplatformV1beta1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeatureFeatureValueAndTimestamp", "description": "Feature value and timestamp." @@ -35676,6 +35734,22 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1GoogleMaps": { + "description": "Tool to retrieve public maps data for grounding, powered by Google.", + "id": "GoogleCloudAiplatformV1beta1GoogleMaps", + "properties": { + "apiAuth": { + "$ref": "GoogleCloudAiplatformV1beta1ApiAuth", + "deprecated": true, + "description": "The authentication config to access the API. Deprecated. Please use auth_config instead." + }, + "authConfig": { + "$ref": "GoogleCloudAiplatformV1beta1AuthConfig", + "description": "The authentication config to access the API. Only API key is supported." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval": { "description": "Tool to retrieve public web data for grounding, powered by Google.", "id": "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval", @@ -35757,6 +35831,10 @@ "description": "Grounding chunk.", "id": "GoogleCloudAiplatformV1beta1GroundingChunk", "properties": { + "maps": { + "$ref": "GoogleCloudAiplatformV1beta1GroundingChunkMaps", + "description": "Grounding chunk from Google Maps." + }, "retrievedContext": { "$ref": "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext", "description": "Grounding chunk from context retrieved by the retrieval tools." @@ -35768,6 +35846,97 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1GroundingChunkMaps": { + "description": "Chunk from Google Maps.", + "id": "GoogleCloudAiplatformV1beta1GroundingChunkMaps", + "properties": { + "placeAnswerSources": { + "$ref": "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources", + "description": "Sources used to generate the place answer. This includes review snippets and photos that were used to generate the answer, as well as uris to flag content." + }, + "placeId": { + "description": "This Place's resource name, in `places/{place_id}` format. Can be used to look up the Place.", + "type": "string" + }, + "text": { + "description": "Text of the chunk.", + "type": "string" + }, + "title": { + "description": "Title of the chunk.", + "type": "string" + }, + "uri": { + "description": "URI reference of the chunk.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources": { + "description": "Sources used to generate the place answer.", + "id": "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources", + "properties": { + "flagContentUri": { + "description": "A link where users can flag a problem with the generated answer.", + "type": "string" + }, + "reviewSnippets": { + "description": "Snippets of reviews that are used to generate the answer.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution": { + "description": "Author attribution for a photo or review.", + "id": "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution", + "properties": { + "displayName": { + "description": "Name of the author of the Photo or Review.", + "type": "string" + }, + "photoUri": { + "description": "Profile photo URI of the author of the Photo or Review.", + "type": "string" + }, + "uri": { + "description": "URI of the author of the Photo or Review.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet": { + "description": "Encapsulates a review snippet.", + "id": "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet", + "properties": { + "authorAttribution": { + "$ref": "GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution", + "description": "This review's author." + }, + "flagContentUri": { + "description": "A link where users can flag a problem with the review.", + "type": "string" + }, + "googleMapsUri": { + "description": "A link to show the review on Google Maps.", + "type": "string" + }, + "relativePublishTimeDescription": { + "description": "A string of formatted recent time, expressing the review time relative to the current time in a form appropriate for the language and country.", + "type": "string" + }, + "review": { + "description": "A reference representing this place review which may be used to look up this place review again.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext": { "description": "Chunk from context retrieved by the retrieval tools.", "id": "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext", @@ -35814,6 +35983,11 @@ "description": "Metadata returned to client when grounding is enabled.", "id": "GoogleCloudAiplatformV1beta1GroundingMetadata", "properties": { + "googleMapsWidgetContextToken": { + "description": "Optional. Output only. Resource name of the Google Maps widget context token to be used with the PlacesContextElement widget to render contextual data. This is populated only for Google Maps grounding.", + "readOnly": true, + "type": "string" + }, "groundingChunks": { "description": "List of supporting references retrieved from specified grounding source.", "items": { @@ -36568,6 +36742,14 @@ "description": "Required. Unique identifier of the datapoint.", "type": "string" }, + "embeddingMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The key-value map of additional metadata for the datapoint.", + "type": "object" + }, "featureVector": { "description": "Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions].", "items": { @@ -44307,6 +44489,10 @@ "description": "The regional resource name or the URI. Key is region, e.g., us-central1, europe-west2, global, etc..", "id": "GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences", "properties": { + "colabNotebookDisabled": { + "description": "Optional. For notebook resource. When set to true, the Colab Enterprise link will be disabled in the \"open notebook\" dialog in UI.", + "type": "boolean" + }, "references": { "additionalProperties": { "$ref": "GoogleCloudAiplatformV1beta1PublisherModelResourceReference" @@ -46178,6 +46364,10 @@ "description": "Required. The display name of the ReasoningEngine.", "type": "string" }, + "encryptionSpec": { + "$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", + "description": "Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key." + }, "etag": { "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" @@ -46273,6 +46463,10 @@ "packageSpec": { "$ref": "GoogleCloudAiplatformV1beta1ReasoningEngineSpecPackageSpec", "description": "Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through `deployment_spec.first_party_image_override`, but keeping the field_behavior to avoid introducing breaking changes." + }, + "serviceAccount": { + "description": "Optional. The service account that the Reasoning Engine artifact runs as. It should have \"roles/storage.objectViewer\" for reading the user project's Cloud Storage and \"roles/aiplatform.user\" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service Agent in the project will be used.", + "type": "string" } }, "type": "object" @@ -54051,11 +54245,21 @@ ], "type": "string" }, + "batchSize": { + "description": "Optional. Batch size for tuning. This feature is only available for open source models.", + "format": "int64", + "type": "string" + }, "epochCount": { "description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", "format": "int64", "type": "string" }, + "learningRate": { + "description": "Optional. Learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models.", + "format": "double", + "type": "number" + }, "learningRateMultiplier": { "description": "Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models.", "format": "double", @@ -54252,6 +54456,20 @@ "description": "Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.", "type": "string" }, + "tuningMode": { + "description": "Tuning mode.", + "enum": [ + "TUNING_MODE_UNSPECIFIED", + "TUNING_MODE_FULL", + "TUNING_MODE_PEFT_ADAPTER" + ], + "enumDescriptions": [ + "Tuning mode is unspecified.", + "Full fine-tuning mode.", + "PEFT adapter tuning mode." + ], + "type": "string" + }, "validationDatasetUri": { "description": "Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.", "type": "string" @@ -54871,12 +55089,16 @@ "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." }, "functionDeclarations": { - "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided.", + "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", "items": { "$ref": "GoogleCloudAiplatformV1beta1FunctionDeclaration" }, "type": "array" }, + "googleMaps": { + "$ref": "GoogleCloudAiplatformV1beta1GoogleMaps", + "description": "Optional. GoogleMaps tool type. Tool to support Google Maps in Model." + }, "googleSearch": { "$ref": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." @@ -56056,6 +56278,10 @@ "readOnly": true, "type": "string" }, + "customBaseModel": { + "description": "Optional. The user-provided path to custom model weights. Set this field to tune a custom model. The path must be a Cloud Storage directory that contains the model weights in .safetensors format along with associated model metadata files. If this field is set, the base_model field must still be set to indicate which base model the custom model is derived from. This feature is only available for open source models.", + "type": "string" + }, "description": { "description": "Optional. The description of the TuningJob.", "type": "string" @@ -56096,6 +56322,10 @@ "readOnly": true, "type": "string" }, + "outputUri": { + "description": "Optional. Cloud Storage path to the directory where tuning job outputs are written to. This field is only available and required for open source models.", + "type": "string" + }, "partnerModelTuningSpec": { "$ref": "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec", "description": "Tuning Spec for open sourced and third party Partner models." diff --git a/src/apis/aiplatform/v1.ts b/src/apis/aiplatform/v1.ts index a1b43b8d609..bdb2fb744db 100644 --- a/src/apis/aiplatform/v1.ts +++ b/src/apis/aiplatform/v1.ts @@ -2202,6 +2202,10 @@ export namespace aiplatform_v1 { * Runtime operation information for EndpointService.CreateEndpoint. */ export interface Schema$GoogleCloudAiplatformV1CreateEndpointOperationMetadata { + /** + * Output only. The deployment stage of the model. Only populated if this CreateEndpoint request deploys a model at the same time. + */ + deploymentStage?: string | null; /** * The operation generic information. */ @@ -3275,6 +3279,10 @@ export namespace aiplatform_v1 { * Runtime operation information for EndpointService.DeployModel. */ export interface Schema$GoogleCloudAiplatformV1DeployModelOperationMetadata { + /** + * Output only. The deployment stage of the model. + */ + deploymentStage?: string | null; /** * The operation generic information. */ @@ -5555,6 +5563,67 @@ export namespace aiplatform_v1 { */ parts?: string[] | null; } + /** + * Request message for FeatureOnlineStoreService.FeatureViewDirectWrite. + */ + export interface Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteRequest { + /** + * Required. The data keys and associated feature values. + */ + dataKeyAndFeatureValues?: Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues[]; + } + /** + * A data key and associated feature values to write to the feature view. + */ + export interface Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues { + /** + * The data key. + */ + dataKey?: Schema$GoogleCloudAiplatformV1FeatureViewDataKey; + /** + * List of features to write. + */ + features?: Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature[]; + } + /** + * Feature name & value pair. + */ + export interface Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature { + /** + * Feature short name. + */ + name?: string | null; + /** + * Feature value. A user provided timestamp may be set in the `FeatureValue.metadata.generate_time` field. + */ + value?: Schema$GoogleCloudAiplatformV1FeatureValue; + } + /** + * Response message for FeatureOnlineStoreService.FeatureViewDirectWrite. + */ + export interface Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteResponse { + /** + * Response status for the keys listed in FeatureViewDirectWriteResponse.write_responses. The error only applies to the listed data keys - the stream will remain open for further FeatureOnlineStoreService.FeatureViewDirectWriteRequest requests. Partial failures (e.g. if the first 10 keys of a request fail, but the rest succeed) from a single request may result in multiple responses - there will be one response for the successful request keys and one response for the failing request keys. + */ + status?: Schema$GoogleRpcStatus; + /** + * Details about write for each key. If status is not OK, WriteResponse.data_key will have the key with error, but WriteResponse.online_store_write_time will not be present. + */ + writeResponses?: Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse[]; + } + /** + * Details about the write for each key. + */ + export interface Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse { + /** + * What key is this write response associated with. + */ + dataKey?: Schema$GoogleCloudAiplatformV1FeatureViewDataKey; + /** + * When the feature values were written to the online store. If FeatureViewDirectWriteResponse.status is not OK, this field is not populated. + */ + onlineStoreWriteTime?: string | null; + } /** * A Feature Registry source for features that need to be synced to Online Store. */ @@ -6495,6 +6564,19 @@ export namespace aiplatform_v1 { */ resourceType?: string | null; } + /** + * Tool to retrieve public maps data for grounding, powered by Google. + */ + export interface Schema$GoogleCloudAiplatformV1GoogleMaps { + /** + * The authentication config to access the API. Deprecated. Please use auth_config instead. + */ + apiAuth?: Schema$GoogleCloudAiplatformV1ApiAuth; + /** + * The authentication config to access the API. Only API key is supported. + */ + authConfig?: Schema$GoogleCloudAiplatformV1AuthConfig; + } /** * Tool to retrieve public web data for grounding, powered by Google. */ @@ -6560,6 +6642,10 @@ export namespace aiplatform_v1 { * Grounding chunk. */ export interface Schema$GoogleCloudAiplatformV1GroundingChunk { + /** + * Grounding chunk from Google Maps. + */ + maps?: Schema$GoogleCloudAiplatformV1GroundingChunkMaps; /** * Grounding chunk from context retrieved by the retrieval tools. */ @@ -6569,6 +6655,86 @@ export namespace aiplatform_v1 { */ web?: Schema$GoogleCloudAiplatformV1GroundingChunkWeb; } + /** + * Chunk from Google Maps. + */ + export interface Schema$GoogleCloudAiplatformV1GroundingChunkMaps { + /** + * Sources used to generate the place answer. This includes review snippets and photos that were used to generate the answer, as well as uris to flag content. + */ + placeAnswerSources?: Schema$GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources; + /** + * This Place's resource name, in `places/{place_id\}` format. Can be used to look up the Place. + */ + placeId?: string | null; + /** + * Text of the chunk. + */ + text?: string | null; + /** + * Title of the chunk. + */ + title?: string | null; + /** + * URI reference of the chunk. + */ + uri?: string | null; + } + /** + * Sources used to generate the place answer. + */ + export interface Schema$GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources { + /** + * A link where users can flag a problem with the generated answer. + */ + flagContentUri?: string | null; + /** + * Snippets of reviews that are used to generate the answer. + */ + reviewSnippets?: Schema$GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet[]; + } + /** + * Author attribution for a photo or review. + */ + export interface Schema$GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution { + /** + * Name of the author of the Photo or Review. + */ + displayName?: string | null; + /** + * Profile photo URI of the author of the Photo or Review. + */ + photoUri?: string | null; + /** + * URI of the author of the Photo or Review. + */ + uri?: string | null; + } + /** + * Encapsulates a review snippet. + */ + export interface Schema$GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet { + /** + * This review's author. + */ + authorAttribution?: Schema$GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution; + /** + * A link where users can flag a problem with the review. + */ + flagContentUri?: string | null; + /** + * A link to show the review on Google Maps. + */ + googleMapsUri?: string | null; + /** + * A string of formatted recent time, expressing the review time relative to the current time in a form appropriate for the language and country. + */ + relativePublishTimeDescription?: string | null; + /** + * A reference representing this place review which may be used to look up this place review again. + */ + review?: string | null; + } /** * Chunk from context retrieved by the retrieval tools. */ @@ -6611,6 +6777,10 @@ export namespace aiplatform_v1 { * Metadata returned to client when grounding is enabled. */ export interface Schema$GoogleCloudAiplatformV1GroundingMetadata { + /** + * Optional. Output only. Resource name of the Google Maps widget context token to be used with the PlacesContextElement widget to render contextual data. This is populated only for Google Maps grounding. + */ + googleMapsWidgetContextToken?: string | null; /** * List of supporting references retrieved from specified grounding source. */ @@ -7033,6 +7203,10 @@ export namespace aiplatform_v1 { * Required. Unique identifier of the datapoint. */ datapointId?: string | null; + /** + * Optional. The key-value map of additional metadata for the datapoint. + */ + embeddingMetadata?: {[key: string]: any} | null; /** * Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions]. */ @@ -11578,6 +11752,10 @@ export namespace aiplatform_v1 { * The regional resource name or the URI. Key is region, e.g., us-central1, europe-west2, global, etc.. */ export interface Schema$GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences { + /** + * Optional. For notebook resource. When set to true, the Colab Enterprise link will be disabled in the "open notebook" dialog in UI. + */ + colabNotebookDisabled?: boolean | null; /** * Required. */ @@ -12777,6 +12955,10 @@ export namespace aiplatform_v1 { * Required. The display name of the ReasoningEngine. */ displayName?: string | null; + /** + * Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. + */ + encryptionSpec?: Schema$GoogleCloudAiplatformV1EncryptionSpec; /** * Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. */ @@ -12814,6 +12996,10 @@ export namespace aiplatform_v1 { * Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through `deployment_spec.first_party_image_override`, but keeping the field_behavior to avoid introducing breaking changes. */ packageSpec?: Schema$GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec; + /** + * Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service Agent in the project will be used. + */ + serviceAccount?: string | null; } /** * The specification of a Reasoning Engine deployment. @@ -18180,9 +18366,13 @@ export namespace aiplatform_v1 { */ enterpriseWebSearch?: Schema$GoogleCloudAiplatformV1EnterpriseWebSearch; /** - * Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided. + * Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. */ functionDeclarations?: Schema$GoogleCloudAiplatformV1FunctionDeclaration[]; + /** + * Optional. GoogleMaps tool type. Tool to support Google Maps in Model. + */ + googleMaps?: Schema$GoogleCloudAiplatformV1GoogleMaps; /** * Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. */ @@ -50367,6 +50557,167 @@ export namespace aiplatform_v1 { } } + /** + * Bidirectional streaming RPC to directly write to feature values in a feature view. Requests may not have a one-to-one mapping to responses and responses may be returned out-of-order to reduce latency. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/aiplatform.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const aiplatform = google.aiplatform('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 aiplatform.projects.locations.featureOnlineStores.featureViews.directWrite( + * { + * // FeatureView resource format `projects/{project\}/locations/{location\}/featureOnlineStores/{featureOnlineStore\}/featureViews/{featureView\}` + * featureView: + * 'projects/my-project/locations/my-location/featureOnlineStores/my-featureOnlineStore/featureViews/my-featureView', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataKeyAndFeatureValues": [] + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "status": {}, + * // "writeResponses": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + directWrite( + params: Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite, + options: StreamMethodOptions + ): Promise>; + directWrite( + params?: Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + directWrite( + params: Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + directWrite( + params: Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + directWrite( + params: Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite, + callback: BodyResponseCallback + ): void; + directWrite( + callback: BodyResponseCallback + ): void; + directWrite( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+featureView}:directWrite').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['featureView'], + pathParams: ['featureView'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Fetch feature values under a FeatureView. * @example @@ -51818,6 +52169,18 @@ export namespace aiplatform_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Directwrite + extends StandardParameters { + /** + * FeatureView resource format `projects/{project\}/locations/{location\}/featureOnlineStores/{featureOnlineStore\}/featureViews/{featureView\}` + */ + featureView?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1FeatureViewDirectWriteRequest; + } export interface Params$Resource$Projects$Locations$Featureonlinestores$Featureviews$Fetchfeaturevalues extends StandardParameters { /** @@ -101485,6 +101848,7 @@ export namespace aiplatform_v1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -101790,6 +102154,7 @@ export namespace aiplatform_v1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -102096,6 +102461,7 @@ export namespace aiplatform_v1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -123957,6 +124323,7 @@ export namespace aiplatform_v1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -124260,6 +124627,7 @@ export namespace aiplatform_v1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -124566,6 +124934,7 @@ export namespace aiplatform_v1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, diff --git a/src/apis/aiplatform/v1beta1.ts b/src/apis/aiplatform/v1beta1.ts index f3df451c3cd..964bfcc07f8 100644 --- a/src/apis/aiplatform/v1beta1.ts +++ b/src/apis/aiplatform/v1beta1.ts @@ -2387,6 +2387,10 @@ export namespace aiplatform_v1beta1 { * Runtime operation information for EndpointService.CreateEndpoint. */ export interface Schema$GoogleCloudAiplatformV1beta1CreateEndpointOperationMetadata { + /** + * Output only. The deployment stage of the model. Only populated if this CreateEndpoint request deploys a model at the same time. + */ + deploymentStage?: string | null; /** * The operation generic information. */ @@ -3603,6 +3607,10 @@ export namespace aiplatform_v1beta1 { * Runtime operation information for EndpointService.DeployModel. */ export interface Schema$GoogleCloudAiplatformV1beta1DeployModelOperationMetadata { + /** + * Output only. The deployment stage of the model. + */ + deploymentStage?: string | null; /** * The operation generic information. */ @@ -6467,6 +6475,10 @@ export namespace aiplatform_v1beta1 { * Feature short name. */ name?: string | null; + /** + * Feature value. A user provided timestamp may be set in the `FeatureValue.metadata.generate_time` field. + */ + value?: Schema$GoogleCloudAiplatformV1beta1FeatureValue; /** * Feature value and timestamp. */ @@ -7716,6 +7728,19 @@ export namespace aiplatform_v1beta1 { */ resourceType?: string | null; } + /** + * Tool to retrieve public maps data for grounding, powered by Google. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GoogleMaps { + /** + * The authentication config to access the API. Deprecated. Please use auth_config instead. + */ + apiAuth?: Schema$GoogleCloudAiplatformV1beta1ApiAuth; + /** + * The authentication config to access the API. Only API key is supported. + */ + authConfig?: Schema$GoogleCloudAiplatformV1beta1AuthConfig; + } /** * Tool to retrieve public web data for grounding, powered by Google. */ @@ -7781,6 +7806,10 @@ export namespace aiplatform_v1beta1 { * Grounding chunk. */ export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunk { + /** + * Grounding chunk from Google Maps. + */ + maps?: Schema$GoogleCloudAiplatformV1beta1GroundingChunkMaps; /** * Grounding chunk from context retrieved by the retrieval tools. */ @@ -7790,6 +7819,86 @@ export namespace aiplatform_v1beta1 { */ web?: Schema$GoogleCloudAiplatformV1beta1GroundingChunkWeb; } + /** + * Chunk from Google Maps. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunkMaps { + /** + * Sources used to generate the place answer. This includes review snippets and photos that were used to generate the answer, as well as uris to flag content. + */ + placeAnswerSources?: Schema$GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources; + /** + * This Place's resource name, in `places/{place_id\}` format. Can be used to look up the Place. + */ + placeId?: string | null; + /** + * Text of the chunk. + */ + text?: string | null; + /** + * Title of the chunk. + */ + title?: string | null; + /** + * URI reference of the chunk. + */ + uri?: string | null; + } + /** + * Sources used to generate the place answer. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSources { + /** + * A link where users can flag a problem with the generated answer. + */ + flagContentUri?: string | null; + /** + * Snippets of reviews that are used to generate the answer. + */ + reviewSnippets?: Schema$GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet[]; + } + /** + * Author attribution for a photo or review. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution { + /** + * Name of the author of the Photo or Review. + */ + displayName?: string | null; + /** + * Profile photo URI of the author of the Photo or Review. + */ + photoUri?: string | null; + /** + * URI of the author of the Photo or Review. + */ + uri?: string | null; + } + /** + * Encapsulates a review snippet. + */ + export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet { + /** + * This review's author. + */ + authorAttribution?: Schema$GoogleCloudAiplatformV1beta1GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution; + /** + * A link where users can flag a problem with the review. + */ + flagContentUri?: string | null; + /** + * A link to show the review on Google Maps. + */ + googleMapsUri?: string | null; + /** + * A string of formatted recent time, expressing the review time relative to the current time in a form appropriate for the language and country. + */ + relativePublishTimeDescription?: string | null; + /** + * A reference representing this place review which may be used to look up this place review again. + */ + review?: string | null; + } /** * Chunk from context retrieved by the retrieval tools. */ @@ -7832,6 +7941,10 @@ export namespace aiplatform_v1beta1 { * Metadata returned to client when grounding is enabled. */ export interface Schema$GoogleCloudAiplatformV1beta1GroundingMetadata { + /** + * Optional. Output only. Resource name of the Google Maps widget context token to be used with the PlacesContextElement widget to render contextual data. This is populated only for Google Maps grounding. + */ + googleMapsWidgetContextToken?: string | null; /** * List of supporting references retrieved from specified grounding source. */ @@ -8373,6 +8486,10 @@ export namespace aiplatform_v1beta1 { * Required. Unique identifier of the datapoint. */ datapointId?: string | null; + /** + * Optional. The key-value map of additional metadata for the datapoint. + */ + embeddingMetadata?: {[key: string]: any} | null; /** * Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions]. */ @@ -13849,6 +13966,10 @@ export namespace aiplatform_v1beta1 { * The regional resource name or the URI. Key is region, e.g., us-central1, europe-west2, global, etc.. */ export interface Schema$GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences { + /** + * Optional. For notebook resource. When set to true, the Colab Enterprise link will be disabled in the "open notebook" dialog in UI. + */ + colabNotebookDisabled?: boolean | null; /** * Required. */ @@ -15348,6 +15469,10 @@ export namespace aiplatform_v1beta1 { * Required. The display name of the ReasoningEngine. */ displayName?: string | null; + /** + * Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. + */ + encryptionSpec?: Schema$GoogleCloudAiplatformV1beta1EncryptionSpec; /** * Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. */ @@ -15425,6 +15550,10 @@ export namespace aiplatform_v1beta1 { * Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through `deployment_spec.first_party_image_override`, but keeping the field_behavior to avoid introducing breaking changes. */ packageSpec?: Schema$GoogleCloudAiplatformV1beta1ReasoningEngineSpecPackageSpec; + /** + * Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service Agent in the project will be used. + */ + serviceAccount?: string | null; } /** * The specification of a Reasoning Engine deployment. @@ -20881,10 +21010,18 @@ export namespace aiplatform_v1beta1 { * Optional. Adapter size for tuning. */ adapterSize?: string | null; + /** + * Optional. Batch size for tuning. This feature is only available for open source models. + */ + batchSize?: string | null; /** * Optional. Number of complete passes the model makes over the entire training dataset during training. */ epochCount?: string | null; + /** + * Optional. Learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models. + */ + learningRate?: number | null; /** * Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models. */ @@ -21017,6 +21154,10 @@ export namespace aiplatform_v1beta1 { * Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. */ trainingDatasetUri?: string | null; + /** + * Tuning mode. + */ + tuningMode?: string | null; /** * Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. */ @@ -21437,9 +21578,13 @@ export namespace aiplatform_v1beta1 { */ enterpriseWebSearch?: Schema$GoogleCloudAiplatformV1beta1EnterpriseWebSearch; /** - * Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided. + * Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. */ functionDeclarations?: Schema$GoogleCloudAiplatformV1beta1FunctionDeclaration[]; + /** + * Optional. GoogleMaps tool type. Tool to support Google Maps in Model. + */ + googleMaps?: Schema$GoogleCloudAiplatformV1beta1GoogleMaps; /** * Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. */ @@ -22279,6 +22424,10 @@ export namespace aiplatform_v1beta1 { * Output only. Time when the TuningJob was created. */ createTime?: string | null; + /** + * Optional. The user-provided path to custom model weights. Set this field to tune a custom model. The path must be a Cloud Storage directory that contains the model weights in .safetensors format along with associated model metadata files. If this field is set, the base_model field must still be set to indicate which base model the custom model is derived from. This feature is only available for open source models. + */ + customBaseModel?: string | null; /** * Optional. The description of the TuningJob. */ @@ -22311,6 +22460,10 @@ export namespace aiplatform_v1beta1 { * Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project\}/locations/{location\}/tuningJobs/{tuning_job\}` */ name?: string | null; + /** + * Optional. Cloud Storage path to the directory where tuning job outputs are written to. This field is only available and required for open source models. + */ + outputUri?: string | null; /** * Tuning Spec for open sourced and third party Partner models. */ @@ -123377,6 +123530,7 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -123683,6 +123837,7 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -123990,6 +124145,7 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -149105,6 +149261,7 @@ export namespace aiplatform_v1beta1 { * // { * // "baseModel": "my_baseModel", * // "createTime": "my_createTime", + * // "customBaseModel": "my_customBaseModel", * // "description": "my_description", * // "distillationSpec": {}, * // "encryptionSpec": {}, @@ -149113,6 +149270,7 @@ export namespace aiplatform_v1beta1 { * // "experiment": "my_experiment", * // "labels": {}, * // "name": "my_name", + * // "outputUri": "my_outputUri", * // "partnerModelTuningSpec": {}, * // "pipelineJob": "my_pipelineJob", * // "satisfiesPzi": false, @@ -149134,6 +149292,7 @@ export namespace aiplatform_v1beta1 { * // { * // "baseModel": "my_baseModel", * // "createTime": "my_createTime", + * // "customBaseModel": "my_customBaseModel", * // "description": "my_description", * // "distillationSpec": {}, * // "encryptionSpec": {}, @@ -149142,6 +149301,7 @@ export namespace aiplatform_v1beta1 { * // "experiment": "my_experiment", * // "labels": {}, * // "name": "my_name", + * // "outputUri": "my_outputUri", * // "partnerModelTuningSpec": {}, * // "pipelineJob": "my_pipelineJob", * // "satisfiesPzi": false, @@ -149302,6 +149462,7 @@ export namespace aiplatform_v1beta1 { * // { * // "baseModel": "my_baseModel", * // "createTime": "my_createTime", + * // "customBaseModel": "my_customBaseModel", * // "description": "my_description", * // "distillationSpec": {}, * // "encryptionSpec": {}, @@ -149310,6 +149471,7 @@ export namespace aiplatform_v1beta1 { * // "experiment": "my_experiment", * // "labels": {}, * // "name": "my_name", + * // "outputUri": "my_outputUri", * // "partnerModelTuningSpec": {}, * // "pipelineJob": "my_pipelineJob", * // "satisfiesPzi": false, @@ -151971,6 +152133,7 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -152275,6 +152438,7 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, @@ -152582,6 +152746,7 @@ export namespace aiplatform_v1beta1 { * // "createTime": "my_createTime", * // "description": "my_description", * // "displayName": "my_displayName", + * // "encryptionSpec": {}, * // "etag": "my_etag", * // "name": "my_name", * // "spec": {}, From bd54a0f184ed0185fe856222b70f2f794b09236d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 02/37] feat(apihub): update the API #### apihub:v1 The following keys were added: - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.description - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.flatPath - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.httpMethod - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.id - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.parameterOrder - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.parameters.name.description - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.parameters.name.location - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.parameters.name.pattern - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.parameters.name.required - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.parameters.name.type - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.path - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.response.$ref - resources.projects.resources.locations.resources.discoveredApiObservations.methods.get.scopes - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.description - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.flatPath - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.httpMethod - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.id - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameterOrder - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.pageSize.description - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.pageSize.format - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.pageSize.location - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.pageSize.type - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.pageToken.location - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.pageToken.type - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.parent.description - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.parent.location - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.parent.pattern - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.parent.required - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.parameters.parent.type - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.path - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.response.$ref - resources.projects.resources.locations.resources.discoveredApiObservations.methods.list.scopes - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.description - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.flatPath - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.httpMethod - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.id - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.parameterOrder - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.parameters.name.description - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.parameters.name.location - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.parameters.name.pattern - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.parameters.name.required - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.parameters.name.type - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.path - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.response.$ref - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.get.scopes - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.description - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.flatPath - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.httpMethod - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.id - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameterOrder - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.pageSize.description - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.pageSize.format - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.pageSize.location - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.pageSize.type - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.pageToken.location - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.pageToken.type - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.parent.description - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.parent.location - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.parent.pattern - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.parent.required - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.parameters.parent.type - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.path - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.response.$ref - resources.projects.resources.locations.resources.discoveredApiObservations.resources.discoveredApiOperations.methods.list.scopes - schemas.GoogleCloudApihubV1DiscoveredApiObservation.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.id - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.apiOperationCount.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.apiOperationCount.format - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.apiOperationCount.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.createTime.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.createTime.format - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.createTime.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.createTime.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.hostname.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.hostname.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.knownOperationsCount.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.knownOperationsCount.format - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.knownOperationsCount.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.knownOperationsCount.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.lastEventDetectedTime.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.lastEventDetectedTime.format - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.lastEventDetectedTime.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.name.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.name.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.origin.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.origin.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.serverIps.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.serverIps.items.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.serverIps.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceLocations.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceLocations.items.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceLocations.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceMetadata.$ref - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceMetadata.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceMetadata.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceTypes.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceTypes.items.enum - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceTypes.items.enumDescriptions - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceTypes.items.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.sourceTypes.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.style.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.style.enum - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.style.enumDescriptions - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.style.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.unknownOperationsCount.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.unknownOperationsCount.format - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.unknownOperationsCount.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.unknownOperationsCount.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.updateTime.description - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.updateTime.format - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.updateTime.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiObservation.properties.updateTime.type - schemas.GoogleCloudApihubV1DiscoveredApiObservation.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.id - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.classification.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.classification.enum - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.classification.enumDescriptions - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.classification.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.classification.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.count.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.count.format - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.count.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.createTime.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.createTime.format - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.createTime.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.createTime.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.firstSeenTime.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.firstSeenTime.format - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.firstSeenTime.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.httpOperation.$ref - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.httpOperation.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.lastSeenTime.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.lastSeenTime.format - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.lastSeenTime.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.matchResults.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.matchResults.items.$ref - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.matchResults.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.matchResults.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.name.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.name.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.sourceMetadata.$ref - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.sourceMetadata.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.sourceMetadata.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.updateTime.description - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.updateTime.format - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.updateTime.readOnly - schemas.GoogleCloudApihubV1DiscoveredApiOperation.properties.updateTime.type - schemas.GoogleCloudApihubV1DiscoveredApiOperation.type - schemas.GoogleCloudApihubV1Header.description - schemas.GoogleCloudApihubV1Header.id - schemas.GoogleCloudApihubV1Header.properties.count.description - schemas.GoogleCloudApihubV1Header.properties.count.format - schemas.GoogleCloudApihubV1Header.properties.count.type - schemas.GoogleCloudApihubV1Header.properties.dataType.description - schemas.GoogleCloudApihubV1Header.properties.dataType.enum - schemas.GoogleCloudApihubV1Header.properties.dataType.enumDescriptions - schemas.GoogleCloudApihubV1Header.properties.dataType.type - schemas.GoogleCloudApihubV1Header.properties.name.description - schemas.GoogleCloudApihubV1Header.properties.name.type - schemas.GoogleCloudApihubV1Header.type - schemas.GoogleCloudApihubV1HttpOperationDetails.description - schemas.GoogleCloudApihubV1HttpOperationDetails.id - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.httpOperation.$ref - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.httpOperation.description - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.pathParams.description - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.pathParams.items.$ref - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.pathParams.type - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.queryParams.additionalProperties.$ref - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.queryParams.description - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.queryParams.type - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.request.$ref - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.request.description - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.response.$ref - schemas.GoogleCloudApihubV1HttpOperationDetails.properties.response.description - schemas.GoogleCloudApihubV1HttpOperationDetails.type - schemas.GoogleCloudApihubV1HttpRequest.description - schemas.GoogleCloudApihubV1HttpRequest.id - schemas.GoogleCloudApihubV1HttpRequest.properties.headers.additionalProperties.$ref - schemas.GoogleCloudApihubV1HttpRequest.properties.headers.description - schemas.GoogleCloudApihubV1HttpRequest.properties.headers.type - schemas.GoogleCloudApihubV1HttpRequest.type - schemas.GoogleCloudApihubV1HttpResponse.description - schemas.GoogleCloudApihubV1HttpResponse.id - schemas.GoogleCloudApihubV1HttpResponse.properties.headers.additionalProperties.$ref - schemas.GoogleCloudApihubV1HttpResponse.properties.headers.description - schemas.GoogleCloudApihubV1HttpResponse.properties.headers.type - schemas.GoogleCloudApihubV1HttpResponse.properties.responseCodes.additionalProperties.format - schemas.GoogleCloudApihubV1HttpResponse.properties.responseCodes.additionalProperties.type - schemas.GoogleCloudApihubV1HttpResponse.properties.responseCodes.description - schemas.GoogleCloudApihubV1HttpResponse.properties.responseCodes.type - schemas.GoogleCloudApihubV1HttpResponse.type - schemas.GoogleCloudApihubV1ListDiscoveredApiObservationsResponse.description - schemas.GoogleCloudApihubV1ListDiscoveredApiObservationsResponse.id - schemas.GoogleCloudApihubV1ListDiscoveredApiObservationsResponse.properties.discoveredApiObservations.description - schemas.GoogleCloudApihubV1ListDiscoveredApiObservationsResponse.properties.discoveredApiObservations.items.$ref - schemas.GoogleCloudApihubV1ListDiscoveredApiObservationsResponse.properties.discoveredApiObservations.type - schemas.GoogleCloudApihubV1ListDiscoveredApiObservationsResponse.properties.nextPageToken.description - schemas.GoogleCloudApihubV1ListDiscoveredApiObservationsResponse.properties.nextPageToken.type - schemas.GoogleCloudApihubV1ListDiscoveredApiObservationsResponse.type - schemas.GoogleCloudApihubV1ListDiscoveredApiOperationsResponse.description - schemas.GoogleCloudApihubV1ListDiscoveredApiOperationsResponse.id - schemas.GoogleCloudApihubV1ListDiscoveredApiOperationsResponse.properties.discoveredApiOperations.description - schemas.GoogleCloudApihubV1ListDiscoveredApiOperationsResponse.properties.discoveredApiOperations.items.$ref - schemas.GoogleCloudApihubV1ListDiscoveredApiOperationsResponse.properties.discoveredApiOperations.type - schemas.GoogleCloudApihubV1ListDiscoveredApiOperationsResponse.properties.nextPageToken.description - schemas.GoogleCloudApihubV1ListDiscoveredApiOperationsResponse.properties.nextPageToken.type - schemas.GoogleCloudApihubV1ListDiscoveredApiOperationsResponse.type - schemas.GoogleCloudApihubV1MatchResult.description - schemas.GoogleCloudApihubV1MatchResult.id - schemas.GoogleCloudApihubV1MatchResult.properties.name.description - schemas.GoogleCloudApihubV1MatchResult.properties.name.readOnly - schemas.GoogleCloudApihubV1MatchResult.properties.name.type - schemas.GoogleCloudApihubV1MatchResult.type - schemas.GoogleCloudApihubV1PathParam.description - schemas.GoogleCloudApihubV1PathParam.id - schemas.GoogleCloudApihubV1PathParam.properties.dataType.description - schemas.GoogleCloudApihubV1PathParam.properties.dataType.enum - schemas.GoogleCloudApihubV1PathParam.properties.dataType.enumDescriptions - schemas.GoogleCloudApihubV1PathParam.properties.dataType.type - schemas.GoogleCloudApihubV1PathParam.properties.position.description - schemas.GoogleCloudApihubV1PathParam.properties.position.format - schemas.GoogleCloudApihubV1PathParam.properties.position.type - schemas.GoogleCloudApihubV1PathParam.type - schemas.GoogleCloudApihubV1QueryParam.description - schemas.GoogleCloudApihubV1QueryParam.id - schemas.GoogleCloudApihubV1QueryParam.properties.count.description - schemas.GoogleCloudApihubV1QueryParam.properties.count.format - schemas.GoogleCloudApihubV1QueryParam.properties.count.type - schemas.GoogleCloudApihubV1QueryParam.properties.dataType.description - schemas.GoogleCloudApihubV1QueryParam.properties.dataType.enum - schemas.GoogleCloudApihubV1QueryParam.properties.dataType.enumDescriptions - schemas.GoogleCloudApihubV1QueryParam.properties.dataType.type - schemas.GoogleCloudApihubV1QueryParam.properties.name.description - schemas.GoogleCloudApihubV1QueryParam.properties.name.type - schemas.GoogleCloudApihubV1QueryParam.type The following keys were changed: - resources.projects.resources.locations.resources.deployments.methods.list.parameters.filter.description - schemas.GoogleCloudApihubV1Deployment.properties.managementUrl.description - schemas.GoogleCloudApihubV1Deployment.properties.resourceUri.description - schemas.GoogleCloudApihubV1Deployment.properties.sourceUri.description - schemas.GoogleCloudApihubV1Plugin.properties.actionsConfig.description - schemas.GoogleCloudApihubV1PluginInstance.properties.sourceProjectId.description --- discovery/apihub-v1.json | 542 +++++++++++++++++++++- src/apis/apihub/v1.ts | 942 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 1470 insertions(+), 14 deletions(-) diff --git a/discovery/apihub-v1.json b/discovery/apihub-v1.json index 9243ebc26ea..a9557fb5111 100644 --- a/discovery/apihub-v1.json +++ b/discovery/apihub-v1.json @@ -1701,7 +1701,7 @@ ], "parameters": { "filter": { - "description": "Optional. An expression that filters the list of Deployments. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: `<`, `>` or `=`. Filters are not case sensitive. The following fields in the `Deployments` are eligible for filtering: * `display_name` - The display name of the Deployment. Allowed comparison operators: `=`. * `create_time` - The time at which the Deployment was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: `>` and `<`. * `resource_uri` - A URI to the deployment resource. Allowed comparison operators: `=`. * `api_versions` - The API versions linked to this deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.id` - The allowed value id of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.display_name` - The allowed value display name of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `slo.string_values.values` -The allowed string value of the slo attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.id` - The allowed value id of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.display_name` - The allowed value display name of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id` - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name` - The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values` - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values` - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name. A filter function is also supported in the filter string. The filter function is `id(name)`. The `id(name)` function returns the id of the resource name. For example, `id(name) = \\\"deployment-1\\\"` is equivalent to `name = \\\"projects/test-project-id/locations/test-location-id/deployments/deployment-1\\\"` provided the parent is `projects/test-project-id/locations/test-location-id`. Expressions are combined with either `AND` logic operator or `OR` logical operator but not both of them together i.e. only one of the `AND` or `OR` operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then `INVALID_ARGUMENT` error is returned by the API. Here are a few examples: * `environment.enum_values.values.id: staging-id` - The allowed value id of the environment attribute associated with the Deployment is _staging-id_. * `environment.enum_values.values.display_name: \\\"Staging Deployment\\\"` - The allowed value display name of the environment attribute associated with the Deployment is `Staging Deployment`. * `environment.enum_values.values.id: production-id AND create_time < \\\"2021-08-15T14:50:00Z\\\" AND create_time > \\\"2021-08-10T12:00:00Z\\\"` - The allowed value id of the environment attribute associated with the Deployment is _production-id_ and Deployment was created before _2021-08-15 14:50:00 UTC_ and after _2021-08-10 12:00:00 UTC_. * `environment.enum_values.values.id: production-id OR slo.string_values.values: \\\"99.99%\\\"` - The allowed value id of the environment attribute Deployment is _production-id_ or string value of the slo attribute is _99.99%_. * `environment.enum_values.values.id: staging-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test` - The filter string specifies that the allowed value id of the environment attribute associated with the Deployment is _staging-id_ and the value of the user defined attribute of type string is _test_.", + "description": "Optional. An expression that filters the list of Deployments. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: `<`, `>` or `=`. Filters are not case sensitive. The following fields in the `Deployments` are eligible for filtering: * `display_name` - The display name of the Deployment. Allowed comparison operators: `=`. * `create_time` - The time at which the Deployment was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: `>` and `<`. * `resource_uri` - A URI to the deployment resource. Allowed comparison operators: `=`. * `api_versions` - The API versions linked to this deployment. Allowed comparison operators: `:`. * `source_project` - The project/organization at source for the deployment. Allowed comparison operators: `=`. * `source_environment` - The environment at source for the deployment. Allowed comparison operators: `=`. * `deployment_type.enum_values.values.id` - The allowed value id of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.display_name` - The allowed value display name of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `slo.string_values.values` -The allowed string value of the slo attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.id` - The allowed value id of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.display_name` - The allowed value display name of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id` - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name` - The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values` - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values` - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name. A filter function is also supported in the filter string. The filter function is `id(name)`. The `id(name)` function returns the id of the resource name. For example, `id(name) = \\\"deployment-1\\\"` is equivalent to `name = \\\"projects/test-project-id/locations/test-location-id/deployments/deployment-1\\\"` provided the parent is `projects/test-project-id/locations/test-location-id`. Expressions are combined with either `AND` logic operator or `OR` logical operator but not both of them together i.e. only one of the `AND` or `OR` operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then `INVALID_ARGUMENT` error is returned by the API. Here are a few examples: * `environment.enum_values.values.id: staging-id` - The allowed value id of the environment attribute associated with the Deployment is _staging-id_. * `environment.enum_values.values.display_name: \\\"Staging Deployment\\\"` - The allowed value display name of the environment attribute associated with the Deployment is `Staging Deployment`. * `environment.enum_values.values.id: production-id AND create_time < \\\"2021-08-15T14:50:00Z\\\" AND create_time > \\\"2021-08-10T12:00:00Z\\\"` - The allowed value id of the environment attribute associated with the Deployment is _production-id_ and Deployment was created before _2021-08-15 14:50:00 UTC_ and after _2021-08-10 12:00:00 UTC_. * `environment.enum_values.values.id: production-id OR slo.string_values.values: \\\"99.99%\\\"` - The allowed value id of the environment attribute Deployment is _production-id_ or string value of the slo attribute is _99.99%_. * `environment.enum_values.values.id: staging-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test` - The filter string specifies that the allowed value id of the environment attribute associated with the Deployment is _staging-id_ and the value of the user defined attribute of type string is _test_.", "location": "query", "type": "string" }, @@ -1768,6 +1768,138 @@ } } }, + "discoveredApiObservations": { + "methods": { + "get": { + "description": "Gets a DiscoveredAPIObservation in a given project, location and ApiObservation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredApiObservations/{discoveredApiObservationsId}", + "httpMethod": "GET", + "id": "apihub.projects.locations.discoveredApiObservations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DiscoveredApiObservation to retrieve. Format: projects/{project}/locations/{location}/discoveredApiObservations/{discovered_api_observation}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/discoveredApiObservations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApihubV1DiscoveredApiObservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the DiscoveredAPIObservations in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredApiObservations", + "httpMethod": "GET", + "id": "apihub.projects.locations.discoveredApiObservations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of ApiObservations to return. The service may return fewer than this value. If unspecified, at most 10 ApiObservations 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 `ListApiObservations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiObservations` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of ApiObservations. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/discoveredApiObservations", + "response": { + "$ref": "GoogleCloudApihubV1ListDiscoveredApiObservationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "discoveredApiOperations": { + "methods": { + "get": { + "description": "Gets a DiscoveredAPIOperation in a given project, location, ApiObservation and ApiOperation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredApiObservations/{discoveredApiObservationsId}/discoveredApiOperations/{discoveredApiOperationsId}", + "httpMethod": "GET", + "id": "apihub.projects.locations.discoveredApiObservations.discoveredApiOperations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DiscoveredApiOperation to retrieve. Format: projects/{project}/locations/{location}/discoveredApiObservations/{discovered_api_observation}/discoveredApiOperations/{discovered_api_operation}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/discoveredApiObservations/[^/]+/discoveredApiOperations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApihubV1DiscoveredApiOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the DiscoveredAPIOperations in a given project, location and ApiObservation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveredApiObservations/{discoveredApiObservationsId}/discoveredApiOperations", + "httpMethod": "GET", + "id": "apihub.projects.locations.discoveredApiObservations.discoveredApiOperations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. DiscoveredApiOperations 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 `ListDiscoveredApiApiOperations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDiscoveredApiApiOperations` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of DiscoveredApiOperations. Format: projects/{project}/locations/{location}/discoveredApiObservations/{discovered_api_observation}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/discoveredApiObservations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/discoveredApiOperations", + "response": { + "$ref": "GoogleCloudApihubV1ListDiscoveredApiOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "externalApis": { "methods": { "create": { @@ -2814,7 +2946,7 @@ } } }, - "revision": "20250701", + "revision": "20250731", "rootUrl": "https://apihub.googleapis.com/", "schemas": { "Empty": { @@ -3977,14 +4109,14 @@ }, "managementUrl": { "$ref": "GoogleCloudApihubV1AttributeValues", - "description": "Optional. The uri where users can navigate to for the management of the deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-management-url` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API." + "description": "Optional. The uri where users can navigate to for the management of the deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-management-url` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. The value of the attribute should be a valid URL." }, "name": { "description": "Identifier. The name of the deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}`", "type": "string" }, "resourceUri": { - "description": "Required. A uri that uniquely identfies the deployment within a particular gateway. For example, if the runtime resource is of type APIGEE_PROXY, then this field will be a combination of org, proxy name and environment.", + "description": "Required. The resource URI identifies the deployment within its gateway. For Apigee gateways, its recommended to use the format: organizations/{org}/environments/{env}/apis/{api}. For ex: if a proxy with name `orders` is deployed in `staging` environment of `cymbal` organization, the resource URI would be: `organizations/cymbal/environments/staging/apis/orders`.", "type": "string" }, "slo": { @@ -4009,7 +4141,7 @@ }, "sourceUri": { "$ref": "GoogleCloudApihubV1AttributeValues", - "description": "Optional. The uri where additional source specific information for this deployment can be found. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-source-uri` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API." + "description": "Optional. The uri where additional source specific information for this deployment can be found. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-source-uri` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. The value of the attribute should be a valid URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory." }, "updateTime": { "description": "Output only. The time at which the deployment was last updated.", @@ -4062,6 +4194,181 @@ "properties": {}, "type": "object" }, + "GoogleCloudApihubV1DiscoveredApiObservation": { + "description": "Respresents an API Observation observed in one of the sources.", + "id": "GoogleCloudApihubV1DiscoveredApiObservation", + "properties": { + "apiOperationCount": { + "description": "Optional. The number of observed API Operations.", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. Create time stamp of the observation in API Hub.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "hostname": { + "description": "Optional. The hostname of requests processed for this Observation.", + "type": "string" + }, + "knownOperationsCount": { + "description": "Output only. The number of known API Operations.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "lastEventDetectedTime": { + "description": "Optional. Last event detected time stamp", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Identifier. The name of the discovered API Observation. Format: `projects/{project}/locations/{location}/discoveredApiObservations/{discovered_api_observation}`", + "type": "string" + }, + "origin": { + "description": "Optional. For an observation pushed from a gcp resource, this would be the gcp project id.", + "type": "string" + }, + "serverIps": { + "description": "Optional. The IP address (IPv4 or IPv6) of the origin server that the request was sent to. This field can include port information. Examples: `\"192.168.1.1\"`, `\"10.0.0.1:80\"`, `\"FE80::0202:B3FF:FE1E:8329\"`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceLocations": { + "description": "Optional. The location of the observation source.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceMetadata": { + "$ref": "GoogleCloudApihubV1SourceMetadata", + "description": "Output only. The metadata of the source from which the observation was collected.", + "readOnly": true + }, + "sourceTypes": { + "description": "Optional. The type of the source from which the observation was collected.", + "items": { + "enum": [ + "SOURCE_TYPE_UNSPECIFIED", + "GCP_XLB", + "GCP_ILB" + ], + "enumDescriptions": [ + "Source type not specified.", + "GCP external load balancer.", + "GCP internal load balancer." + ], + "type": "string" + }, + "type": "array" + }, + "style": { + "description": "Optional. Style of ApiObservation", + "enum": [ + "STYLE_UNSPECIFIED", + "REST", + "GRPC", + "GRAPHQL" + ], + "enumDescriptions": [ + "Unknown style", + "Style is Rest API", + "Style is Grpc API", + "Style is GraphQL API" + ], + "type": "string" + }, + "unknownOperationsCount": { + "description": "Output only. The number of unknown API Operations.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Update time stamp of the observation in API Hub.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApihubV1DiscoveredApiOperation": { + "description": "DiscoveredApiOperation represents an API Operation observed in one of the sources.", + "id": "GoogleCloudApihubV1DiscoveredApiOperation", + "properties": { + "classification": { + "description": "Output only. The classification of the discovered API operation.", + "enum": [ + "CLASSIFICATION_UNSPECIFIED", + "KNOWN", + "UNKNOWN" + ], + "enumDescriptions": [ + "Operation is not classified as known or unknown.", + "Operation has a matched catalog operation.", + "Operation does not have a matched catalog operation." + ], + "readOnly": true, + "type": "string" + }, + "count": { + "description": "Optional. The number of occurrences of this API Operation.", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. Create time stamp of the discovered API operation in API Hub.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "firstSeenTime": { + "description": "Optional. First seen time stamp", + "format": "google-datetime", + "type": "string" + }, + "httpOperation": { + "$ref": "GoogleCloudApihubV1HttpOperationDetails", + "description": "Optional. An HTTP Operation." + }, + "lastSeenTime": { + "description": "Optional. Last seen time stamp", + "format": "google-datetime", + "type": "string" + }, + "matchResults": { + "description": "Output only. The list of matched results for the discovered API operation. This will be populated only if the classification is known. The current usecase is for a single match. Keeping it repeated to support multiple matches in future.", + "items": { + "$ref": "GoogleCloudApihubV1MatchResult" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Identifier. The name of the discovered API Operation. Format: `projects/{project}/locations/{location}/discoveredApiObservations/{discovered_api_observation}/discoveredApiOperations/{discovered_api_operation}`", + "type": "string" + }, + "sourceMetadata": { + "$ref": "GoogleCloudApihubV1SourceMetadata", + "description": "Output only. The metadata of the source from which the api operation was collected.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. Update time stamp of the discovered API operation in API Hub.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApihubV1Documentation": { "description": "Documentation details.", "id": "GoogleCloudApihubV1Documentation", @@ -4220,6 +4527,42 @@ }, "type": "object" }, + "GoogleCloudApihubV1Header": { + "description": "An aggregation of HTTP header occurrences.", + "id": "GoogleCloudApihubV1Header", + "properties": { + "count": { + "description": "The number of occurrences of this Header across transactions.", + "format": "int64", + "type": "string" + }, + "dataType": { + "description": "Data type of header", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "BOOL", + "INTEGER", + "FLOAT", + "STRING", + "UUID" + ], + "enumDescriptions": [ + "Unspecified data type", + "Boolean data type", + "Integer data type", + "Float data type", + "String data type", + "UUID data type" + ], + "type": "string" + }, + "name": { + "description": "Header name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApihubV1HostProjectRegistration": { "description": "Host project registration refers to the registration of a Google cloud project with Api Hub as a host project. This is the project where Api Hub is provisioned. It acts as the consumer project for the Api Hub instance provisioned. Multiple runtime projects can be attached to the host project and these attachments define the scope of Api Hub.", "id": "GoogleCloudApihubV1HostProjectRegistration", @@ -4289,6 +4632,75 @@ }, "type": "object" }, + "GoogleCloudApihubV1HttpOperationDetails": { + "description": "An HTTP-based API Operation, sometimes called a \"REST\" Operation.", + "id": "GoogleCloudApihubV1HttpOperationDetails", + "properties": { + "httpOperation": { + "$ref": "GoogleCloudApihubV1HttpOperation", + "description": "Required. An HTTP Operation." + }, + "pathParams": { + "description": "Optional. Path params of HttpOperation", + "items": { + "$ref": "GoogleCloudApihubV1PathParam" + }, + "type": "array" + }, + "queryParams": { + "additionalProperties": { + "$ref": "GoogleCloudApihubV1QueryParam" + }, + "description": "Optional. Query params of HttpOperation", + "type": "object" + }, + "request": { + "$ref": "GoogleCloudApihubV1HttpRequest", + "description": "Optional. Request metadata." + }, + "response": { + "$ref": "GoogleCloudApihubV1HttpResponse", + "description": "Optional. Response metadata." + } + }, + "type": "object" + }, + "GoogleCloudApihubV1HttpRequest": { + "description": "An aggregation of HTTP requests.", + "id": "GoogleCloudApihubV1HttpRequest", + "properties": { + "headers": { + "additionalProperties": { + "$ref": "GoogleCloudApihubV1Header" + }, + "description": "Optional. Unordered map from header name to header metadata", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudApihubV1HttpResponse": { + "description": "An aggregation of HTTP responses.", + "id": "GoogleCloudApihubV1HttpResponse", + "properties": { + "headers": { + "additionalProperties": { + "$ref": "GoogleCloudApihubV1Header" + }, + "description": "Optional. Unordered map from header name to header metadata", + "type": "object" + }, + "responseCodes": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Optional. Map of status code to observed count", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudApihubV1Issue": { "description": "Issue contains the details of a single issue found by the linter.", "id": "GoogleCloudApihubV1Issue", @@ -4544,6 +4956,42 @@ }, "type": "object" }, + "GoogleCloudApihubV1ListDiscoveredApiObservationsResponse": { + "description": "Message for response to listing DiscoveredApiObservations", + "id": "GoogleCloudApihubV1ListDiscoveredApiObservationsResponse", + "properties": { + "discoveredApiObservations": { + "description": "The DiscoveredApiObservation from the specified project and location.", + "items": { + "$ref": "GoogleCloudApihubV1DiscoveredApiObservation" + }, + "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" + }, + "GoogleCloudApihubV1ListDiscoveredApiOperationsResponse": { + "description": "Message for response to listing DiscoveredApiOperations", + "id": "GoogleCloudApihubV1ListDiscoveredApiOperationsResponse", + "properties": { + "discoveredApiOperations": { + "description": "The DiscoveredApiOperations from the specified project, location and DiscoveredApiObservation.", + "items": { + "$ref": "GoogleCloudApihubV1DiscoveredApiOperation" + }, + "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" + }, "GoogleCloudApihubV1ListExternalApisResponse": { "description": "The ListExternalApis method's response.", "id": "GoogleCloudApihubV1ListExternalApisResponse", @@ -4692,6 +5140,18 @@ }, "type": "object" }, + "GoogleCloudApihubV1MatchResult": { + "description": "MatchResult represents the result of matching a discovered API operation with a catalog API operation.", + "id": "GoogleCloudApihubV1MatchResult", + "properties": { + "name": { + "description": "Output only. The name of the matched API Operation. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApihubV1MultiIntValues": { "description": "The config variable value of data type multi int.", "id": "GoogleCloudApihubV1MultiIntValues", @@ -4881,12 +5341,44 @@ }, "type": "object" }, + "GoogleCloudApihubV1PathParam": { + "description": "HTTP Path parameter.", + "id": "GoogleCloudApihubV1PathParam", + "properties": { + "dataType": { + "description": "Optional. Data type of path param", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "BOOL", + "INTEGER", + "FLOAT", + "STRING", + "UUID" + ], + "enumDescriptions": [ + "Unspecified data type", + "Boolean data type", + "Integer data type", + "Float data type", + "String data type", + "UUID data type" + ], + "type": "string" + }, + "position": { + "description": "Optional. Segment location in the path, 1-indexed", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudApihubV1Plugin": { "description": "A plugin resource in the API Hub.", "id": "GoogleCloudApihubV1Plugin", "properties": { "actionsConfig": { - "description": "Optional. The configuration of actions supported by the plugin.", + "description": "Required. The configuration of actions supported by the plugin.", "items": { "$ref": "GoogleCloudApihubV1PluginActionConfig" }, @@ -5080,7 +5572,7 @@ "type": "string" }, "sourceProjectId": { - "description": "Optional. The source project id of the plugin instance. This will be the id of runtime project in case of gcp based plugins and org id in case of non gcp based plugins. This is a required field.", + "description": "Optional. The source project id of the plugin instance. This will be the id of runtime project in case of gcp based plugins and org id in case of non gcp based plugins. This field will be a required field for Google provided on-ramp plugins.", "type": "string" }, "state": { @@ -5223,6 +5715,42 @@ }, "type": "object" }, + "GoogleCloudApihubV1QueryParam": { + "description": "An aggregation of HTTP query parameter occurrences.", + "id": "GoogleCloudApihubV1QueryParam", + "properties": { + "count": { + "description": "Optional. The number of occurrences of this query parameter across transactions.", + "format": "int64", + "type": "string" + }, + "dataType": { + "description": "Optional. Data type of path param", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "BOOL", + "INTEGER", + "FLOAT", + "STRING", + "UUID" + ], + "enumDescriptions": [ + "Unspecified data type", + "Boolean data type", + "Integer data type", + "Float data type", + "String data type", + "UUID data type" + ], + "type": "string" + }, + "name": { + "description": "Required. Name of query param", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApihubV1Range": { "description": "Object describing where in the file the issue was found.", "id": "GoogleCloudApihubV1Range", diff --git a/src/apis/apihub/v1.ts b/src/apis/apihub/v1.ts index 13e56b6d3b3..ec46fe45f22 100644 --- a/src/apis/apihub/v1.ts +++ b/src/apis/apihub/v1.ts @@ -899,7 +899,7 @@ export namespace apihub_v1 { */ environment?: Schema$GoogleCloudApihubV1AttributeValues; /** - * Optional. The uri where users can navigate to for the management of the deployment. This maps to the following system defined attribute: `projects/{project\}/locations/{location\}/attributes/system-management-url` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. + * Optional. The uri where users can navigate to for the management of the deployment. This maps to the following system defined attribute: `projects/{project\}/locations/{location\}/attributes/system-management-url` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. The value of the attribute should be a valid URL. */ managementUrl?: Schema$GoogleCloudApihubV1AttributeValues; /** @@ -907,7 +907,7 @@ export namespace apihub_v1 { */ name?: string | null; /** - * Required. A uri that uniquely identfies the deployment within a particular gateway. For example, if the runtime resource is of type APIGEE_PROXY, then this field will be a combination of org, proxy name and environment. + * Required. The resource URI identifies the deployment within its gateway. For Apigee gateways, its recommended to use the format: organizations/{org\}/environments/{env\}/apis/{api\}. For ex: if a proxy with name `orders` is deployed in `staging` environment of `cymbal` organization, the resource URI would be: `organizations/cymbal/environments/staging/apis/orders`. */ resourceUri?: string | null; /** @@ -927,7 +927,7 @@ export namespace apihub_v1 { */ sourceProject?: string | null; /** - * Optional. The uri where additional source specific information for this deployment can be found. This maps to the following system defined attribute: `projects/{project\}/locations/{location\}/attributes/system-source-uri` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. + * Optional. The uri where additional source specific information for this deployment can be found. This maps to the following system defined attribute: `projects/{project\}/locations/{location\}/attributes/system-source-uri` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. The value of the attribute should be a valid URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory. */ sourceUri?: Schema$GoogleCloudApihubV1AttributeValues; /** @@ -969,6 +969,112 @@ export namespace apihub_v1 { * The DisablePlugin method's request. */ export interface Schema$GoogleCloudApihubV1DisablePluginRequest {} + /** + * Respresents an API Observation observed in one of the sources. + */ + export interface Schema$GoogleCloudApihubV1DiscoveredApiObservation { + /** + * Optional. The number of observed API Operations. + */ + apiOperationCount?: string | null; + /** + * Output only. Create time stamp of the observation in API Hub. + */ + createTime?: string | null; + /** + * Optional. The hostname of requests processed for this Observation. + */ + hostname?: string | null; + /** + * Output only. The number of known API Operations. + */ + knownOperationsCount?: string | null; + /** + * Optional. Last event detected time stamp + */ + lastEventDetectedTime?: string | null; + /** + * Identifier. The name of the discovered API Observation. Format: `projects/{project\}/locations/{location\}/discoveredApiObservations/{discovered_api_observation\}` + */ + name?: string | null; + /** + * Optional. For an observation pushed from a gcp resource, this would be the gcp project id. + */ + origin?: string | null; + /** + * Optional. The IP address (IPv4 or IPv6) of the origin server that the request was sent to. This field can include port information. Examples: `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`. + */ + serverIps?: string[] | null; + /** + * Optional. The location of the observation source. + */ + sourceLocations?: string[] | null; + /** + * Output only. The metadata of the source from which the observation was collected. + */ + sourceMetadata?: Schema$GoogleCloudApihubV1SourceMetadata; + /** + * Optional. The type of the source from which the observation was collected. + */ + sourceTypes?: string[] | null; + /** + * Optional. Style of ApiObservation + */ + style?: string | null; + /** + * Output only. The number of unknown API Operations. + */ + unknownOperationsCount?: string | null; + /** + * Output only. Update time stamp of the observation in API Hub. + */ + updateTime?: string | null; + } + /** + * DiscoveredApiOperation represents an API Operation observed in one of the sources. + */ + export interface Schema$GoogleCloudApihubV1DiscoveredApiOperation { + /** + * Output only. The classification of the discovered API operation. + */ + classification?: string | null; + /** + * Optional. The number of occurrences of this API Operation. + */ + count?: string | null; + /** + * Output only. Create time stamp of the discovered API operation in API Hub. + */ + createTime?: string | null; + /** + * Optional. First seen time stamp + */ + firstSeenTime?: string | null; + /** + * Optional. An HTTP Operation. + */ + httpOperation?: Schema$GoogleCloudApihubV1HttpOperationDetails; + /** + * Optional. Last seen time stamp + */ + lastSeenTime?: string | null; + /** + * Output only. The list of matched results for the discovered API operation. This will be populated only if the classification is known. The current usecase is for a single match. Keeping it repeated to support multiple matches in future. + */ + matchResults?: Schema$GoogleCloudApihubV1MatchResult[]; + /** + * Identifier. The name of the discovered API Operation. Format: `projects/{project\}/locations/{location\}/discoveredApiObservations/{discovered_api_observation\}/discoveredApiOperations/{discovered_api_operation\}` + */ + name?: string | null; + /** + * Output only. The metadata of the source from which the api operation was collected. + */ + sourceMetadata?: Schema$GoogleCloudApihubV1SourceMetadata; + /** + * Output only. Update time stamp of the discovered API operation in API Hub. + */ + updateTime?: string | null; + } /** * Documentation details. */ @@ -1083,6 +1189,23 @@ export namespace apihub_v1 { */ serviceAccount?: string | null; } + /** + * An aggregation of HTTP header occurrences. + */ + export interface Schema$GoogleCloudApihubV1Header { + /** + * The number of occurrences of this Header across transactions. + */ + count?: string | null; + /** + * Data type of header + */ + dataType?: string | null; + /** + * Header name. + */ + name?: string | null; + } /** * The information related to the service implemented by the plugin developer, used to invoke the plugin's functionality. */ @@ -1122,6 +1245,53 @@ export namespace apihub_v1 { */ path?: Schema$GoogleCloudApihubV1Path; } + /** + * An HTTP-based API Operation, sometimes called a "REST" Operation. + */ + export interface Schema$GoogleCloudApihubV1HttpOperationDetails { + /** + * Required. An HTTP Operation. + */ + httpOperation?: Schema$GoogleCloudApihubV1HttpOperation; + /** + * Optional. Path params of HttpOperation + */ + pathParams?: Schema$GoogleCloudApihubV1PathParam[]; + /** + * Optional. Query params of HttpOperation + */ + queryParams?: {[key: string]: Schema$GoogleCloudApihubV1QueryParam} | null; + /** + * Optional. Request metadata. + */ + request?: Schema$GoogleCloudApihubV1HttpRequest; + /** + * Optional. Response metadata. + */ + response?: Schema$GoogleCloudApihubV1HttpResponse; + } + /** + * An aggregation of HTTP requests. + */ + export interface Schema$GoogleCloudApihubV1HttpRequest { + /** + * Optional. Unordered map from header name to header metadata + */ + headers?: {[key: string]: Schema$GoogleCloudApihubV1Header} | null; + } + /** + * An aggregation of HTTP responses. + */ + export interface Schema$GoogleCloudApihubV1HttpResponse { + /** + * Optional. Unordered map from header name to header metadata + */ + headers?: {[key: string]: Schema$GoogleCloudApihubV1Header} | null; + /** + * Optional. Map of status code to observed count + */ + responseCodes?: {[key: string]: string} | null; + } /** * Issue contains the details of a single issue found by the linter. */ @@ -1279,6 +1449,32 @@ export namespace apihub_v1 { */ nextPageToken?: string | null; } + /** + * Message for response to listing DiscoveredApiObservations + */ + export interface Schema$GoogleCloudApihubV1ListDiscoveredApiObservationsResponse { + /** + * The DiscoveredApiObservation from the specified project and location. + */ + discoveredApiObservations?: Schema$GoogleCloudApihubV1DiscoveredApiObservation[]; + /** + * 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 for response to listing DiscoveredApiOperations + */ + export interface Schema$GoogleCloudApihubV1ListDiscoveredApiOperationsResponse { + /** + * The DiscoveredApiOperations from the specified project, location and DiscoveredApiObservation. + */ + discoveredApiOperations?: Schema$GoogleCloudApihubV1DiscoveredApiOperation[]; + /** + * 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 ListExternalApis method's response. */ @@ -1388,6 +1584,15 @@ export namespace apihub_v1 { */ runtimeProjectAttachment?: Schema$GoogleCloudApihubV1RuntimeProjectAttachment; } + /** + * MatchResult represents the result of matching a discovered API operation with a catalog API operation. + */ + export interface Schema$GoogleCloudApihubV1MatchResult { + /** + * Output only. The name of the matched API Operation. Format: `projects/{project\}/locations/{location\}/apis/{api\}/versions/{version\}/operations/{operation\}` + */ + name?: string | null; + } /** * The config variable value of data type multi int. */ @@ -1525,12 +1730,25 @@ export namespace apihub_v1 { */ path?: string | null; } + /** + * HTTP Path parameter. + */ + export interface Schema$GoogleCloudApihubV1PathParam { + /** + * Optional. Data type of path param + */ + dataType?: string | null; + /** + * Optional. Segment location in the path, 1-indexed + */ + position?: number | null; + } /** * A plugin resource in the API Hub. */ export interface Schema$GoogleCloudApihubV1Plugin { /** - * Optional. The configuration of actions supported by the plugin. + * Required. The configuration of actions supported by the plugin. */ actionsConfig?: Schema$GoogleCloudApihubV1PluginActionConfig[]; /** @@ -1642,7 +1860,7 @@ export namespace apihub_v1 { */ name?: string | null; /** - * Optional. The source project id of the plugin instance. This will be the id of runtime project in case of gcp based plugins and org id in case of non gcp based plugins. This is a required field. + * Optional. The source project id of the plugin instance. This will be the id of runtime project in case of gcp based plugins and org id in case of non gcp based plugins. This field will be a required field for Google provided on-ramp plugins. */ sourceProjectId?: string | null; /** @@ -1730,6 +1948,23 @@ export namespace apihub_v1 { */ line?: number | null; } + /** + * An aggregation of HTTP query parameter occurrences. + */ + export interface Schema$GoogleCloudApihubV1QueryParam { + /** + * Optional. The number of occurrences of this query parameter across transactions. + */ + count?: string | null; + /** + * Optional. Data type of path param + */ + dataType?: string | null; + /** + * Required. Name of query param + */ + name?: string | null; + } /** * Object describing where in the file the issue was found. */ @@ -2282,6 +2517,7 @@ export namespace apihub_v1 { curations: Resource$Projects$Locations$Curations; dependencies: Resource$Projects$Locations$Dependencies; deployments: Resource$Projects$Locations$Deployments; + discoveredApiObservations: Resource$Projects$Locations$Discoveredapiobservations; externalApis: Resource$Projects$Locations$Externalapis; hostProjectRegistrations: Resource$Projects$Locations$Hostprojectregistrations; operations: Resource$Projects$Locations$Operations; @@ -2303,6 +2539,8 @@ export namespace apihub_v1 { this.deployments = new Resource$Projects$Locations$Deployments( this.context ); + this.discoveredApiObservations = + new Resource$Projects$Locations$Discoveredapiobservations(this.context); this.externalApis = new Resource$Projects$Locations$Externalapis( this.context ); @@ -10781,7 +11019,7 @@ export namespace apihub_v1 { * * // Do the magic * const res = await apihub.projects.locations.deployments.list({ - * // Optional. An expression that filters the list of Deployments. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: `<`, `\>` or `=`. Filters are not case sensitive. The following fields in the `Deployments` are eligible for filtering: * `display_name` - The display name of the Deployment. Allowed comparison operators: `=`. * `create_time` - The time at which the Deployment was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: `\>` and `<`. * `resource_uri` - A URI to the deployment resource. Allowed comparison operators: `=`. * `api_versions` - The API versions linked to this deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.id` - The allowed value id of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.display_name` - The allowed value display name of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `slo.string_values.values` -The allowed string value of the slo attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.id` - The allowed value id of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.display_name` - The allowed value display name of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id` - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name` - The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values` - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values` - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name. A filter function is also supported in the filter string. The filter function is `id(name)`. The `id(name)` function returns the id of the resource name. For example, `id(name) = \"deployment-1\"` is equivalent to `name = \"projects/test-project-id/locations/test-location-id/deployments/deployment-1\"` provided the parent is `projects/test-project-id/locations/test-location-id`. Expressions are combined with either `AND` logic operator or `OR` logical operator but not both of them together i.e. only one of the `AND` or `OR` operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then `INVALID_ARGUMENT` error is returned by the API. Here are a few examples: * `environment.enum_values.values.id: staging-id` - The allowed value id of the environment attribute associated with the Deployment is _staging-id_. * `environment.enum_values.values.display_name: \"Staging Deployment\"` - The allowed value display name of the environment attribute associated with the Deployment is `Staging Deployment`. * `environment.enum_values.values.id: production-id AND create_time < \"2021-08-15T14:50:00Z\" AND create_time \> \"2021-08-10T12:00:00Z\"` - The allowed value id of the environment attribute associated with the Deployment is _production-id_ and Deployment was created before _2021-08-15 14:50:00 UTC_ and after _2021-08-10 12:00:00 UTC_. * `environment.enum_values.values.id: production-id OR slo.string_values.values: \"99.99%\"` - The allowed value id of the environment attribute Deployment is _production-id_ or string value of the slo attribute is _99.99%_. * `environment.enum_values.values.id: staging-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test` - The filter string specifies that the allowed value id of the environment attribute associated with the Deployment is _staging-id_ and the value of the user defined attribute of type string is _test_. + * // Optional. An expression that filters the list of Deployments. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: `<`, `\>` or `=`. Filters are not case sensitive. The following fields in the `Deployments` are eligible for filtering: * `display_name` - The display name of the Deployment. Allowed comparison operators: `=`. * `create_time` - The time at which the Deployment was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: `\>` and `<`. * `resource_uri` - A URI to the deployment resource. Allowed comparison operators: `=`. * `api_versions` - The API versions linked to this deployment. Allowed comparison operators: `:`. * `source_project` - The project/organization at source for the deployment. Allowed comparison operators: `=`. * `source_environment` - The environment at source for the deployment. Allowed comparison operators: `=`. * `deployment_type.enum_values.values.id` - The allowed value id of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.display_name` - The allowed value display name of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `slo.string_values.values` -The allowed string value of the slo attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.id` - The allowed value id of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.display_name` - The allowed value display name of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id` - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name` - The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values` - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values` - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name. A filter function is also supported in the filter string. The filter function is `id(name)`. The `id(name)` function returns the id of the resource name. For example, `id(name) = \"deployment-1\"` is equivalent to `name = \"projects/test-project-id/locations/test-location-id/deployments/deployment-1\"` provided the parent is `projects/test-project-id/locations/test-location-id`. Expressions are combined with either `AND` logic operator or `OR` logical operator but not both of them together i.e. only one of the `AND` or `OR` operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then `INVALID_ARGUMENT` error is returned by the API. Here are a few examples: * `environment.enum_values.values.id: staging-id` - The allowed value id of the environment attribute associated with the Deployment is _staging-id_. * `environment.enum_values.values.display_name: \"Staging Deployment\"` - The allowed value display name of the environment attribute associated with the Deployment is `Staging Deployment`. * `environment.enum_values.values.id: production-id AND create_time < \"2021-08-15T14:50:00Z\" AND create_time \> \"2021-08-10T12:00:00Z\"` - The allowed value id of the environment attribute associated with the Deployment is _production-id_ and Deployment was created before _2021-08-15 14:50:00 UTC_ and after _2021-08-10 12:00:00 UTC_. * `environment.enum_values.values.id: production-id OR slo.string_values.values: \"99.99%\"` - The allowed value id of the environment attribute Deployment is _production-id_ or string value of the slo attribute is _99.99%_. * `environment.enum_values.values.id: staging-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test` - The filter string specifies that the allowed value id of the environment attribute associated with the Deployment is _staging-id_ and the value of the user defined attribute of type string is _test_. * filter: 'placeholder-value', * // Optional. The maximum number of deployment resources to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', @@ -11122,7 +11360,7 @@ export namespace apihub_v1 { export interface Params$Resource$Projects$Locations$Deployments$List extends StandardParameters { /** - * Optional. An expression that filters the list of Deployments. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: `<`, `\>` or `=`. Filters are not case sensitive. The following fields in the `Deployments` are eligible for filtering: * `display_name` - The display name of the Deployment. Allowed comparison operators: `=`. * `create_time` - The time at which the Deployment was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: `\>` and `<`. * `resource_uri` - A URI to the deployment resource. Allowed comparison operators: `=`. * `api_versions` - The API versions linked to this deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.id` - The allowed value id of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.display_name` - The allowed value display name of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `slo.string_values.values` -The allowed string value of the slo attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.id` - The allowed value id of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.display_name` - The allowed value display name of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id` - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name` - The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values` - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values` - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name. A filter function is also supported in the filter string. The filter function is `id(name)`. The `id(name)` function returns the id of the resource name. For example, `id(name) = \"deployment-1\"` is equivalent to `name = \"projects/test-project-id/locations/test-location-id/deployments/deployment-1\"` provided the parent is `projects/test-project-id/locations/test-location-id`. Expressions are combined with either `AND` logic operator or `OR` logical operator but not both of them together i.e. only one of the `AND` or `OR` operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then `INVALID_ARGUMENT` error is returned by the API. Here are a few examples: * `environment.enum_values.values.id: staging-id` - The allowed value id of the environment attribute associated with the Deployment is _staging-id_. * `environment.enum_values.values.display_name: \"Staging Deployment\"` - The allowed value display name of the environment attribute associated with the Deployment is `Staging Deployment`. * `environment.enum_values.values.id: production-id AND create_time < \"2021-08-15T14:50:00Z\" AND create_time \> \"2021-08-10T12:00:00Z\"` - The allowed value id of the environment attribute associated with the Deployment is _production-id_ and Deployment was created before _2021-08-15 14:50:00 UTC_ and after _2021-08-10 12:00:00 UTC_. * `environment.enum_values.values.id: production-id OR slo.string_values.values: \"99.99%\"` - The allowed value id of the environment attribute Deployment is _production-id_ or string value of the slo attribute is _99.99%_. * `environment.enum_values.values.id: staging-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test` - The filter string specifies that the allowed value id of the environment attribute associated with the Deployment is _staging-id_ and the value of the user defined attribute of type string is _test_. + * Optional. An expression that filters the list of Deployments. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. The comparison operator must be one of: `<`, `\>` or `=`. Filters are not case sensitive. The following fields in the `Deployments` are eligible for filtering: * `display_name` - The display name of the Deployment. Allowed comparison operators: `=`. * `create_time` - The time at which the Deployment was created. The value should be in the (RFC3339)[https://tools.ietf.org/html/rfc3339] format. Allowed comparison operators: `\>` and `<`. * `resource_uri` - A URI to the deployment resource. Allowed comparison operators: `=`. * `api_versions` - The API versions linked to this deployment. Allowed comparison operators: `:`. * `source_project` - The project/organization at source for the deployment. Allowed comparison operators: `=`. * `source_environment` - The environment at source for the deployment. Allowed comparison operators: `=`. * `deployment_type.enum_values.values.id` - The allowed value id of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `deployment_type.enum_values.values.display_name` - The allowed value display name of the deployment_type attribute associated with the Deployment. Allowed comparison operators: `:`. * `slo.string_values.values` -The allowed string value of the slo attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.id` - The allowed value id of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `environment.enum_values.values.display_name` - The allowed value display name of the environment attribute associated with the deployment. Allowed comparison operators: `:`. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.id` - The allowed value id of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-id is a placeholder that can be replaced with any user defined enum attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.enum_values.values.display_name` - The allowed value display name of the user defined enum attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-enum-display-name is a placeholder that can be replaced with any user defined enum attribute enum name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.string_values.values` - The allowed value of the user defined string attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-string is a placeholder that can be replaced with any user defined string attribute name. * `attributes.projects/test-project-id/locations/test-location-id/ attributes/user-defined-attribute-id.json_values.values` - The allowed value of the user defined JSON attribute associated with the Resource. Allowed comparison operator is `:`. Here user-defined-attribute-json is a placeholder that can be replaced with any user defined JSON attribute name. A filter function is also supported in the filter string. The filter function is `id(name)`. The `id(name)` function returns the id of the resource name. For example, `id(name) = \"deployment-1\"` is equivalent to `name = \"projects/test-project-id/locations/test-location-id/deployments/deployment-1\"` provided the parent is `projects/test-project-id/locations/test-location-id`. Expressions are combined with either `AND` logic operator or `OR` logical operator but not both of them together i.e. only one of the `AND` or `OR` operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then `INVALID_ARGUMENT` error is returned by the API. Here are a few examples: * `environment.enum_values.values.id: staging-id` - The allowed value id of the environment attribute associated with the Deployment is _staging-id_. * `environment.enum_values.values.display_name: \"Staging Deployment\"` - The allowed value display name of the environment attribute associated with the Deployment is `Staging Deployment`. * `environment.enum_values.values.id: production-id AND create_time < \"2021-08-15T14:50:00Z\" AND create_time \> \"2021-08-10T12:00:00Z\"` - The allowed value id of the environment attribute associated with the Deployment is _production-id_ and Deployment was created before _2021-08-15 14:50:00 UTC_ and after _2021-08-10 12:00:00 UTC_. * `environment.enum_values.values.id: production-id OR slo.string_values.values: \"99.99%\"` - The allowed value id of the environment attribute Deployment is _production-id_ or string value of the slo attribute is _99.99%_. * `environment.enum_values.values.id: staging-id AND attributes.projects/test-project-id/locations/test-location-id/ attributes/17650f90-4a29-4971-b3c0-d5532da3764b.string_values.values: test` - The filter string specifies that the allowed value id of the environment attribute associated with the Deployment is _staging-id_ and the value of the user defined attribute of type string is _test_. */ filter?: string; /** @@ -11155,6 +11393,696 @@ export namespace apihub_v1 { requestBody?: Schema$GoogleCloudApihubV1Deployment; } + export class Resource$Projects$Locations$Discoveredapiobservations { + context: APIRequestContext; + discoveredApiOperations: Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations; + constructor(context: APIRequestContext) { + this.context = context; + this.discoveredApiOperations = + new Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations( + this.context + ); + } + + /** + * Gets a DiscoveredAPIObservation in a given project, location and ApiObservation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/apihub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const apihub = google.apihub('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 apihub.projects.locations.discoveredApiObservations.get({ + * // Required. The name of the DiscoveredApiObservation to retrieve. Format: projects/{project\}/locations/{location\}/discoveredApiObservations/{discovered_api_observation\} + * name: 'projects/my-project/locations/my-location/discoveredApiObservations/my-discoveredApiObservation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "apiOperationCount": "my_apiOperationCount", + * // "createTime": "my_createTime", + * // "hostname": "my_hostname", + * // "knownOperationsCount": "my_knownOperationsCount", + * // "lastEventDetectedTime": "my_lastEventDetectedTime", + * // "name": "my_name", + * // "origin": "my_origin", + * // "serverIps": [], + * // "sourceLocations": [], + * // "sourceMetadata": {}, + * // "sourceTypes": [], + * // "style": "my_style", + * // "unknownOperationsCount": "my_unknownOperationsCount", + * // "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$Discoveredapiobservations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Discoveredapiobservations$Get, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + get( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Discoveredapiobservations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Discoveredapiobservations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Discoveredapiobservations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://apihub.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 DiscoveredAPIObservations in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/apihub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const apihub = google.apihub('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 apihub.projects.locations.discoveredApiObservations.list({ + * // Optional. The maximum number of ApiObservations to return. The service may return fewer than this value. If unspecified, at most 10 ApiObservations 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 `ListApiObservations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiObservations` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of ApiObservations. Format: projects/{project\}/locations/{location\} + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "discoveredApiObservations": [], + * // "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$Discoveredapiobservations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Discoveredapiobservations$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Discoveredapiobservations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Discoveredapiobservations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Discoveredapiobservations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://apihub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/discoveredApiObservations').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$Discoveredapiobservations$Get + extends StandardParameters { + /** + * Required. The name of the DiscoveredApiObservation to retrieve. Format: projects/{project\}/locations/{location\}/discoveredApiObservations/{discovered_api_observation\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Discoveredapiobservations$List + extends StandardParameters { + /** + * Optional. The maximum number of ApiObservations to return. The service may return fewer than this value. If unspecified, at most 10 ApiObservations 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 `ListApiObservations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiObservations` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of ApiObservations. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + } + + export class Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a DiscoveredAPIOperation in a given project, location, ApiObservation and ApiOperation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/apihub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const apihub = google.apihub('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 apihub.projects.locations.discoveredApiObservations.discoveredApiOperations.get( + * { + * // Required. The name of the DiscoveredApiOperation to retrieve. Format: projects/{project\}/locations/{location\}/discoveredApiObservations/{discovered_api_observation\}/discoveredApiOperations/{discovered_api_operation\} + * name: 'projects/my-project/locations/my-location/discoveredApiObservations/my-discoveredApiObservation/discoveredApiOperations/my-discoveredApiOperation', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "classification": "my_classification", + * // "count": "my_count", + * // "createTime": "my_createTime", + * // "firstSeenTime": "my_firstSeenTime", + * // "httpOperation": {}, + * // "lastSeenTime": "my_lastSeenTime", + * // "matchResults": [], + * // "name": "my_name", + * // "sourceMetadata": {}, + * // "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$Discoveredapiobservations$Discoveredapioperations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$Get, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + get( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://apihub.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 DiscoveredAPIOperations in a given project, location and ApiObservation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/apihub.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const apihub = google.apihub('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 apihub.projects.locations.discoveredApiObservations.discoveredApiOperations.list( + * { + * // Optional. DiscoveredApiOperations 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 `ListDiscoveredApiApiOperations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDiscoveredApiApiOperations` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent, which owns this collection of DiscoveredApiOperations. Format: projects/{project\}/locations/{location\}/discoveredApiObservations/{discovered_api_observation\} + * parent: + * 'projects/my-project/locations/my-location/discoveredApiObservations/my-discoveredApiObservation', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "discoveredApiOperations": [], + * // "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$Discoveredapiobservations$Discoveredapioperations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://apihub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/discoveredApiOperations').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$Discoveredapiobservations$Discoveredapioperations$Get + extends StandardParameters { + /** + * Required. The name of the DiscoveredApiOperation to retrieve. Format: projects/{project\}/locations/{location\}/discoveredApiObservations/{discovered_api_observation\}/discoveredApiOperations/{discovered_api_operation\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Discoveredapiobservations$Discoveredapioperations$List + extends StandardParameters { + /** + * Optional. DiscoveredApiOperations 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 `ListDiscoveredApiApiOperations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDiscoveredApiApiOperations` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which owns this collection of DiscoveredApiOperations. Format: projects/{project\}/locations/{location\}/discoveredApiObservations/{discovered_api_observation\} + */ + parent?: string; + } + export class Resource$Projects$Locations$Externalapis { context: APIRequestContext; constructor(context: APIRequestContext) { From beef082a2cde8b7a4d1050c834771565f147dc3e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 03/37] fix(backupdr): update the API #### backupdr:v1 The following keys were changed: - resources.projects.resources.locations.resources.backupPlanAssociations.methods.patch.description - resources.projects.resources.locations.resources.backupPlans.methods.patch.description - schemas.BackupPlan.properties.backupRules.description - schemas.BackupPlan.properties.logRetentionDays.description - schemas.BackupPlan.properties.resourceType.description - schemas.BackupPlanAssociation.properties.resourceType.description - schemas.CloudSqlInstanceBackupProperties.description - schemas.CloudSqlInstanceDataSourceProperties.description - schemas.CloudSqlInstanceDataSourceReferenceProperties.description - schemas.DiskRestoreProperties.properties.name.description - schemas.TriggerBackupRequest.properties.ruleId.description --- discovery/backupdr-v1.json | 24 ++++++++++++------------ src/apis/backupdr/v1.ts | 22 +++++++++++----------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/discovery/backupdr-v1.json b/discovery/backupdr-v1.json index 1f9b42ec869..9fce1235d28 100644 --- a/discovery/backupdr-v1.json +++ b/discovery/backupdr-v1.json @@ -371,7 +371,7 @@ ] }, "patch": { - "description": "Update a BackupPlanAssociation", + "description": "Update a BackupPlanAssociation.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlanAssociations/{backupPlanAssociationsId}", "httpMethod": "PATCH", "id": "backupdr.projects.locations.backupPlanAssociations.patch", @@ -581,7 +581,7 @@ ] }, "patch": { - "description": "Update a BackupPlan", + "description": "Update a BackupPlan.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPlans/{backupPlansId}", "httpMethod": "PATCH", "id": "backupdr.projects.locations.backupPlans.patch", @@ -2060,7 +2060,7 @@ } } }, - "revision": "20250720", + "revision": "20250723", "rootUrl": "https://backupdr.googleapis.com/", "schemas": { "AbandonBackupRequest": { @@ -2899,7 +2899,7 @@ "id": "BackupPlan", "properties": { "backupRules": { - "description": "Optional. The backup rules for this `BackupPlan`. There must be at least one `BackupRule` message if on_demand_retention_limit_days is not set.", + "description": "Optional. The backup rules for this `BackupPlan`.", "items": { "$ref": "BackupRule" }, @@ -2936,7 +2936,7 @@ "type": "object" }, "logRetentionDays": { - "description": "Optional. Required for CloudSQL 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.", + "description": "Optional. Applicable only for CloudSQL 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" }, @@ -2946,7 +2946,7 @@ "type": "string" }, "resourceType": { - "description": "Required. ", + "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": { @@ -3041,7 +3041,7 @@ "type": "string" }, "resourceType": { - "description": "Required. Immutable. ", + "description": "Required. Immutable. Resource type of workload on which backupplan is applied", "type": "string" }, "rulesConfigInfo": { @@ -3329,7 +3329,7 @@ "type": "object" }, "CloudSqlInstanceBackupProperties": { - "description": "CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties. .", + "description": "CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties.", "id": "CloudSqlInstanceBackupProperties", "properties": { "databaseInstalledVersion": { @@ -3356,7 +3356,7 @@ "type": "object" }, "CloudSqlInstanceDataSourceProperties": { - "description": "CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource. .", + "description": "CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource.", "id": "CloudSqlInstanceDataSourceProperties", "properties": { "databaseInstalledVersion": { @@ -3384,7 +3384,7 @@ "type": "object" }, "CloudSqlInstanceDataSourceReferenceProperties": { - "description": "CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference. .", + "description": "CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference.", "id": "CloudSqlInstanceDataSourceReferenceProperties", "properties": { "databaseInstalledVersion": { @@ -4182,7 +4182,7 @@ "type": "array" }, "name": { - "description": "Required. Name of the disk..", + "description": "Required. Name of the disk.", "type": "string" }, "physicalBlockSizeBytes": { @@ -5955,7 +5955,7 @@ "type": "string" }, "ruleId": { - "description": "Required. backup rule_id for which a backup needs to be triggered.", + "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" } }, diff --git a/src/apis/backupdr/v1.ts b/src/apis/backupdr/v1.ts index d1162bfeefa..c787463657c 100644 --- a/src/apis/backupdr/v1.ts +++ b/src/apis/backupdr/v1.ts @@ -649,7 +649,7 @@ export namespace backupdr_v1 { */ export interface Schema$BackupPlan { /** - * Optional. The backup rules for this `BackupPlan`. There must be at least one `BackupRule` message if on_demand_retention_limit_days is not set. + * Optional. The backup rules for this `BackupPlan`. */ backupRules?: Schema$BackupRule[]; /** @@ -677,7 +677,7 @@ export namespace backupdr_v1 { */ labels?: {[key: string]: string} | null; /** - * Optional. Required for CloudSQL 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. + * Optional. Applicable only for CloudSQL 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; /** @@ -685,7 +685,7 @@ export namespace backupdr_v1 { */ name?: string | null; /** - * Required. + * 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; /** @@ -746,7 +746,7 @@ export namespace backupdr_v1 { */ resource?: string | null; /** - * Required. Immutable. + * Required. Immutable. Resource type of workload on which backupplan is applied */ resourceType?: string | null; /** @@ -917,7 +917,7 @@ export namespace backupdr_v1 { instanceCreateTime?: string | null; } /** - * CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties. . + * CloudSqlInstanceBackupProperties represents Cloud SQL Instance Backup properties. */ export interface Schema$CloudSqlInstanceBackupProperties { /** @@ -938,7 +938,7 @@ export namespace backupdr_v1 { sourceInstance?: string | null; } /** - * CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource. . + * CloudSqlInstanceDataSourceProperties represents the properties of a Cloud SQL resource that are stored in the DataSource. */ export interface Schema$CloudSqlInstanceDataSourceProperties { /** @@ -959,7 +959,7 @@ export namespace backupdr_v1 { name?: string | null; } /** - * CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference. . + * CloudSqlInstanceDataSourceReferenceProperties represents the properties of a Cloud SQL resource that are stored in the DataSourceReference. */ export interface Schema$CloudSqlInstanceDataSourceReferenceProperties { /** @@ -1511,7 +1511,7 @@ export namespace backupdr_v1 { */ licenses?: string[] | null; /** - * Required. Name of the disk.. + * Required. Name of the disk. */ name?: string | null; /** @@ -2673,7 +2673,7 @@ export namespace backupdr_v1 { */ requestId?: string | null; /** - * Required. backup rule_id for which a backup needs to be triggered. + * 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; } @@ -3857,7 +3857,7 @@ export namespace backupdr_v1 { } /** - * Update a BackupPlanAssociation + * Update a BackupPlanAssociation. * @example * ```js * // Before running the sample: @@ -4903,7 +4903,7 @@ export namespace backupdr_v1 { } /** - * Update a BackupPlan + * Update a BackupPlan. * @example * ```js * // Before running the sample: From 17b6acdf2ac7f7330850daa3e4f16bbd6f97d270 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 04/37] fix(beyondcorp): update the API #### beyondcorp:v1alpha The following keys were changed: - resources.projects.resources.locations.resources.securityGateways.methods.create.description - resources.projects.resources.locations.resources.securityGateways.methods.create.parameters.requestId.description - resources.projects.resources.locations.resources.securityGateways.resources.applications.methods.delete.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1alphaApplication.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1alphaApplication.properties.displayName.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1alphaApplication.properties.endpointMatchers.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGateway.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGateway.properties.state.enumDescriptions #### beyondcorp:v1 The following keys were changed: - resources.projects.resources.locations.resources.securityGateways.methods.create.description - resources.projects.resources.locations.resources.securityGateways.methods.create.parameters.requestId.description - resources.projects.resources.locations.resources.securityGateways.resources.applications.methods.delete.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1Application.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1Application.properties.displayName.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1Application.properties.endpointMatchers.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway.description - schemas.GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway.properties.state.enumDescriptions --- discovery/beyondcorp-v1.json | 18 +++++++++--------- discovery/beyondcorp-v1alpha.json | 18 +++++++++--------- src/apis/beyondcorp/v1.ts | 16 ++++++++-------- src/apis/beyondcorp/v1alpha.ts | 16 ++++++++-------- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/discovery/beyondcorp-v1.json b/discovery/beyondcorp-v1.json index 41047603899..39fa8045c90 100644 --- a/discovery/beyondcorp-v1.json +++ b/discovery/beyondcorp-v1.json @@ -1347,7 +1347,7 @@ "securityGateways": { "methods": { "create": { - "description": "Creates a new SecurityGateway in a given project and location.", + "description": "Creates a new Security Gateway in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways", "httpMethod": "POST", "id": "beyondcorp.projects.locations.securityGateways.create", @@ -1363,7 +1363,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.", "location": "query", "type": "string" }, @@ -1659,7 +1659,7 @@ ] }, "delete": { - "description": "Deletes a single Application.", + "description": "Deletes a single application.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}", "httpMethod": "DELETE", "id": "beyondcorp.projects.locations.securityGateways.applications.delete", @@ -1899,7 +1899,7 @@ } } }, - "revision": "20250714", + "revision": "20250723", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { @@ -3131,7 +3131,7 @@ "type": "object" }, "GoogleCloudBeyondcorpSecuritygatewaysV1Application": { - "description": "A Beyondcorp Application resource information.", + "description": "The information about an application resource.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1Application", "properties": { "createTime": { @@ -3141,11 +3141,11 @@ "type": "string" }, "displayName": { - "description": "Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.", + "description": "Optional. An arbitrary user-provided name for the application resource. Cannot exceed 64 characters.", "type": "string" }, "endpointMatchers": { - "description": "Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - (\"*.abc.com\"), (\"xyz.abc.com\") Hostname and Ports - (\"abc.com\" and \"22\"), (\"abc.com\" and \"22,33\") etc", + "description": "Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matchers is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one of the conditions is met. The conditions can be one of the following combinations (Hostname), (Hostname & Ports) EXAMPLES: Hostname - (\"*.example.com\"), (\"xyz.example.com\") Hostname and Ports - (\"example.com\" and \"22\"), (\"example.com\" and \"22,33\") etc", "items": { "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher" }, @@ -3307,7 +3307,7 @@ "type": "object" }, "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway": { - "description": "Information about a BeyondCorp SecurityGateway resource.", + "description": "The information about a security gateway resource.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway", "properties": { "createTime": { @@ -3361,7 +3361,7 @@ "SecurityGateway is being updated.", "SecurityGateway is being deleted.", "SecurityGateway is running.", - "SecurityGateway is down and may be restored in the future. This happens when CCFE sends ProjectState = OFF.", + "SecurityGateway is down and may be restored in the future.", "SecurityGateway encountered an error and is in an indeterministic state." ], "readOnly": true, diff --git a/discovery/beyondcorp-v1alpha.json b/discovery/beyondcorp-v1alpha.json index e5e2f1f99ac..e5ebdc9ca61 100644 --- a/discovery/beyondcorp-v1alpha.json +++ b/discovery/beyondcorp-v1alpha.json @@ -2880,7 +2880,7 @@ "securityGateways": { "methods": { "create": { - "description": "Creates a new SecurityGateway in a given project and location.", + "description": "Creates a new Security Gateway in a given project and location.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/securityGateways", "httpMethod": "POST", "id": "beyondcorp.projects.locations.securityGateways.create", @@ -2896,7 +2896,7 @@ "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.", "location": "query", "type": "string" }, @@ -3192,7 +3192,7 @@ ] }, "delete": { - "description": "Deletes a single Application.", + "description": "Deletes a single application.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}", "httpMethod": "DELETE", "id": "beyondcorp.projects.locations.securityGateways.applications.delete", @@ -3432,7 +3432,7 @@ } } }, - "revision": "20250714", + "revision": "20250723", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { @@ -5479,7 +5479,7 @@ "type": "object" }, "GoogleCloudBeyondcorpSecuritygatewaysV1alphaApplication": { - "description": "A Beyondcorp Application resource information.", + "description": "The information about an application resource.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaApplication", "properties": { "createTime": { @@ -5489,11 +5489,11 @@ "type": "string" }, "displayName": { - "description": "Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.", + "description": "Optional. An arbitrary user-provided name for the application resource. Cannot exceed 64 characters.", "type": "string" }, "endpointMatchers": { - "description": "Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - (\"*.abc.com\"), (\"xyz.abc.com\") Hostname and Ports - (\"abc.com\" and \"22\"), (\"abc.com\" and \"22,33\") etc", + "description": "Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matchers is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one of the conditions is met. The conditions can be one of the following combinations (Hostname), (Hostname & Ports) EXAMPLES: Hostname - (\"*.example.com\"), (\"xyz.example.com\") Hostname and Ports - (\"example.com\" and \"22\"), (\"example.com\" and \"22,33\") etc", "items": { "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaEndpointMatcher" }, @@ -5655,7 +5655,7 @@ "type": "object" }, "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGateway": { - "description": "Information about a BeyondCorp SecurityGateway resource.", + "description": "The information about a security gateway resource.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGateway", "properties": { "createTime": { @@ -5709,7 +5709,7 @@ "SecurityGateway is being updated.", "SecurityGateway is being deleted.", "SecurityGateway is running.", - "SecurityGateway is down and may be restored in the future. This happens when CCFE sends ProjectState = OFF.", + "SecurityGateway is down and may be restored in the future.", "SecurityGateway encountered an error and is in an indeterministic state." ], "readOnly": true, diff --git a/src/apis/beyondcorp/v1.ts b/src/apis/beyondcorp/v1.ts index c895728ca9a..7e3ab670088 100644 --- a/src/apis/beyondcorp/v1.ts +++ b/src/apis/beyondcorp/v1.ts @@ -1030,7 +1030,7 @@ export namespace beyondcorp_v1 { verb?: string | null; } /** - * A Beyondcorp Application resource information. + * The information about an application resource. */ export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1Application { /** @@ -1038,11 +1038,11 @@ export namespace beyondcorp_v1 { */ createTime?: string | null; /** - * Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters. + * Optional. An arbitrary user-provided name for the application resource. Cannot exceed 64 characters. */ displayName?: string | null; /** - * Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc + * Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matchers is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one of the conditions is met. The conditions can be one of the following combinations (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.example.com"), ("xyz.example.com") Hostname and Ports - ("example.com" and "22"), ("example.com" and "22,33") etc */ endpointMatchers?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher[]; /** @@ -1155,7 +1155,7 @@ export namespace beyondcorp_v1 { unreachable?: string[] | null; } /** - * Information about a BeyondCorp SecurityGateway resource. + * The information about a security gateway resource. */ export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway { /** @@ -7589,7 +7589,7 @@ export namespace beyondcorp_v1 { } /** - * Creates a new SecurityGateway in a given project and location. + * Creates a new Security Gateway in a given project and location. * @example * ```js * // Before running the sample: @@ -7621,7 +7621,7 @@ export namespace beyondcorp_v1 { * const res = await beyondcorp.projects.locations.securityGateways.create({ * // Required. The resource project name of the SecurityGateway location using the form: `projects/{project_id\}/locations/{location_id\}` * 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 request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. + * // 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. * requestId: 'placeholder-value', * // Optional. User-settable SecurityGateway resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or letter. * securityGatewayId: 'placeholder-value', @@ -8839,7 +8839,7 @@ export namespace beyondcorp_v1 { */ 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 request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. + * 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. */ requestId?: string; /** @@ -9125,7 +9125,7 @@ export namespace beyondcorp_v1 { } /** - * Deletes a single Application. + * Deletes a single application. * @example * ```js * // Before running the sample: diff --git a/src/apis/beyondcorp/v1alpha.ts b/src/apis/beyondcorp/v1alpha.ts index b76d65ca0ac..98a8c6220c9 100644 --- a/src/apis/beyondcorp/v1alpha.ts +++ b/src/apis/beyondcorp/v1alpha.ts @@ -1488,7 +1488,7 @@ export namespace beyondcorp_v1alpha { type?: string | null; } /** - * A Beyondcorp Application resource information. + * The information about an application resource. */ export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaApplication { /** @@ -1496,11 +1496,11 @@ export namespace beyondcorp_v1alpha { */ createTime?: string | null; /** - * Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters. + * Optional. An arbitrary user-provided name for the application resource. Cannot exceed 64 characters. */ displayName?: string | null; /** - * Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc + * Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matchers is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one of the conditions is met. The conditions can be one of the following combinations (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.example.com"), ("xyz.example.com") Hostname and Ports - ("example.com" and "22"), ("example.com" and "22,33") etc */ endpointMatchers?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaEndpointMatcher[]; /** @@ -1613,7 +1613,7 @@ export namespace beyondcorp_v1alpha { unreachable?: string[] | null; } /** - * Information about a BeyondCorp SecurityGateway resource. + * The information about a security gateway resource. */ export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGateway { /** @@ -14873,7 +14873,7 @@ export namespace beyondcorp_v1alpha { } /** - * Creates a new SecurityGateway in a given project and location. + * Creates a new Security Gateway in a given project and location. * @example * ```js * // Before running the sample: @@ -14905,7 +14905,7 @@ export namespace beyondcorp_v1alpha { * const res = await beyondcorp.projects.locations.securityGateways.create({ * // Required. The resource project name of the SecurityGateway location using the form: `projects/{project_id\}/locations/{location_id\}` * 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 request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. + * // 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. * requestId: 'placeholder-value', * // Optional. User-settable SecurityGateway resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or letter. * securityGatewayId: 'placeholder-value', @@ -16123,7 +16123,7 @@ export namespace beyondcorp_v1alpha { */ 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 request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. + * 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. */ requestId?: string; /** @@ -16409,7 +16409,7 @@ export namespace beyondcorp_v1alpha { } /** - * Deletes a single Application. + * Deletes a single application. * @example * ```js * // Before running the sample: From 34795cbc19bc26eec0bce0f8921b3594e91c6653 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 05/37] feat(bigquery): update the API #### bigquery:v2 The following keys were added: - resources.jobs.methods.getQueryResults.parameters.formatOptions.timestampOutputFormat.description - resources.jobs.methods.getQueryResults.parameters.formatOptions.timestampOutputFormat.enum - resources.jobs.methods.getQueryResults.parameters.formatOptions.timestampOutputFormat.enumDescriptions - resources.jobs.methods.getQueryResults.parameters.formatOptions.timestampOutputFormat.location - resources.jobs.methods.getQueryResults.parameters.formatOptions.timestampOutputFormat.type - resources.tabledata.methods.list.parameters.formatOptions.timestampOutputFormat.description - resources.tabledata.methods.list.parameters.formatOptions.timestampOutputFormat.enum - resources.tabledata.methods.list.parameters.formatOptions.timestampOutputFormat.enumDescriptions - resources.tabledata.methods.list.parameters.formatOptions.timestampOutputFormat.location - resources.tabledata.methods.list.parameters.formatOptions.timestampOutputFormat.type - schemas.DataFormatOptions.properties.timestampOutputFormat.description - schemas.DataFormatOptions.properties.timestampOutputFormat.enum - schemas.DataFormatOptions.properties.timestampOutputFormat.enumDescriptions - schemas.DataFormatOptions.properties.timestampOutputFormat.type - schemas.QueryParameterType.properties.timestampPrecision.default - schemas.QueryParameterType.properties.timestampPrecision.description - schemas.QueryParameterType.properties.timestampPrecision.format - schemas.QueryParameterType.properties.timestampPrecision.type The following keys were changed: - schemas.ExternalRuntimeOptions.properties.containerCpu.description - schemas.ExternalRuntimeOptions.properties.containerMemory.description - schemas.ExternalRuntimeOptions.properties.runtimeVersion.description - schemas.PythonOptions.properties.entryPoint.description - schemas.PythonOptions.properties.packages.description - schemas.Routine.properties.pythonOptions.description --- discovery/bigquery-v2.json | 70 ++++++++++++++++++++++++++++++++++---- src/apis/bigquery/v2.ts | 32 +++++++++++++---- 2 files changed, 89 insertions(+), 13 deletions(-) diff --git a/discovery/bigquery-v2.json b/discovery/bigquery-v2.json index 905ebfcfd38..b18cadad2ea 100644 --- a/discovery/bigquery-v2.json +++ b/discovery/bigquery-v2.json @@ -695,6 +695,23 @@ "jobId" ], "parameters": { + "formatOptions.timestampOutputFormat": { + "description": "Optional. The API output format for a timestamp. This offers more explicit control over the timestamp output format as compared to the existing `use_int64_timestamp` option.", + "enum": [ + "TIMESTAMP_OUTPUT_FORMAT_UNSPECIFIED", + "FLOAT64", + "INT64", + "ISO8601_STRING" + ], + "enumDescriptions": [ + "Corresponds to default API output behavior, which is FLOAT64.", + "Timestamp is output as float64 seconds since Unix epoch.", + "Timestamp is output as int64 microseconds since Unix epoch.", + "Timestamp is output as ISO 8601 String (\"YYYY-MM-DDTHH:MM:SS.FFFFFFFFFFFFZ\")." + ], + "location": "query", + "type": "string" + }, "formatOptions.useInt64Timestamp": { "description": "Optional. Output timestamp as usec int64. Default is false.", "location": "query", @@ -1910,6 +1927,23 @@ "required": true, "type": "string" }, + "formatOptions.timestampOutputFormat": { + "description": "Optional. The API output format for a timestamp. This offers more explicit control over the timestamp output format as compared to the existing `use_int64_timestamp` option.", + "enum": [ + "TIMESTAMP_OUTPUT_FORMAT_UNSPECIFIED", + "FLOAT64", + "INT64", + "ISO8601_STRING" + ], + "enumDescriptions": [ + "Corresponds to default API output behavior, which is FLOAT64.", + "Timestamp is output as float64 seconds since Unix epoch.", + "Timestamp is output as int64 microseconds since Unix epoch.", + "Timestamp is output as ISO 8601 String (\"YYYY-MM-DDTHH:MM:SS.FFFFFFFFFFFFZ\")." + ], + "location": "query", + "type": "string" + }, "formatOptions.useInt64Timestamp": { "description": "Optional. Output timestamp as usec int64. Default is false.", "location": "query", @@ -2345,7 +2379,7 @@ } } }, - "revision": "20250706", + "revision": "20250713", "rootUrl": "https://bigquery.googleapis.com/", "schemas": { "AggregateClassificationMetrics": { @@ -3497,6 +3531,22 @@ "description": "Options for data format adjustments.", "id": "DataFormatOptions", "properties": { + "timestampOutputFormat": { + "description": "Optional. The API output format for a timestamp. This offers more explicit control over the timestamp output format as compared to the existing `use_int64_timestamp` option.", + "enum": [ + "TIMESTAMP_OUTPUT_FORMAT_UNSPECIFIED", + "FLOAT64", + "INT64", + "ISO8601_STRING" + ], + "enumDescriptions": [ + "Corresponds to default API output behavior, which is FLOAT64.", + "Timestamp is output as float64 seconds since Unix epoch.", + "Timestamp is output as int64 microseconds since Unix epoch.", + "Timestamp is output as ISO 8601 String (\"YYYY-MM-DDTHH:MM:SS.FFFFFFFFFFFFZ\")." + ], + "type": "string" + }, "useInt64Timestamp": { "description": "Optional. Output timestamp as usec int64. Default is false.", "type": "boolean" @@ -4609,12 +4659,12 @@ "id": "ExternalRuntimeOptions", "properties": { "containerCpu": { - "description": "Optional. Amount of CPU provisioned for the container instance. If not specified, the default value is 0.33 vCPUs.", + "description": "Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)", "format": "double", "type": "number" }, "containerMemory": { - "description": "Optional. Amount of memory provisioned for the container instance. Format: {number}{unit} where unit is one of \"M\", \"G\", \"Mi\" and \"Gi\" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi.", + "description": "Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of \"M\", \"G\", \"Mi\" and \"Gi\" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)", "type": "string" }, "maxBatchingRows": { @@ -4627,7 +4677,7 @@ "type": "string" }, "runtimeVersion": { - "description": "Optional. Language runtime version (e.g. python-3.11).", + "description": "Optional. Language runtime version. Example: `python-3.11`.", "type": "string" } }, @@ -7541,11 +7591,11 @@ "id": "PythonOptions", "properties": { "entryPoint": { - "description": "Required. The entry point function in the user's Python code.", + "description": "Required. The name of the function defined in Python code as the entry point when the Python UDF is invoked.", "type": "string" }, "packages": { - "description": "Optional. A list of package names along with versions to be installed. Follows requirements.txt syntax (e.g. numpy==2.0, permutation, urllib3<2.2.1)", + "description": "Optional. A list of Python package names along with versions to be installed. Example: [\"pandas>=2.1\", \"google-cloud-translate==3.11\"]. For more information, see [Use third-party packages](https://cloud.google.com/bigquery/docs/user-defined-functions-python#third-party-packages).", "items": { "type": "string" }, @@ -7623,6 +7673,12 @@ }, "type": "array" }, + "timestampPrecision": { + "default": "6", + "description": "Optional. Precision (maximum number of total digits in base 10) for seconds of TIMESTAMP type. Possible values include: * 6 (Default, for TIMESTAMP type with microsecond precision) * 12 (For TIMESTAMP type with picosecond precision)", + "format": "int64", + "type": "string" + }, "type": { "description": "Required. The top level type of this field.", "type": "string" @@ -8244,7 +8300,7 @@ }, "pythonOptions": { "$ref": "PythonOptions", - "description": "Optional. Options for Python UDF. [Preview](https://cloud.google.com/products/#product-launch-stages)" + "description": "Optional. Options for the Python UDF. [Preview](https://cloud.google.com/products/#product-launch-stages)" }, "remoteFunctionOptions": { "$ref": "RemoteFunctionOptions", diff --git a/src/apis/bigquery/v2.ts b/src/apis/bigquery/v2.ts index 5b48017b316..033baa7b976 100644 --- a/src/apis/bigquery/v2.ts +++ b/src/apis/bigquery/v2.ts @@ -871,6 +871,10 @@ export namespace bigquery_v2 { * Options for data format adjustments. */ export interface Schema$DataFormatOptions { + /** + * Optional. The API output format for a timestamp. This offers more explicit control over the timestamp output format as compared to the existing `use_int64_timestamp` option. + */ + timestampOutputFormat?: string | null; /** * Optional. Output timestamp as usec int64. Default is false. */ @@ -1644,11 +1648,11 @@ export namespace bigquery_v2 { */ export interface Schema$ExternalRuntimeOptions { /** - * Optional. Amount of CPU provisioned for the container instance. If not specified, the default value is 0.33 vCPUs. + * Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) */ containerCpu?: number | null; /** - * Optional. Amount of memory provisioned for the container instance. Format: {number\}{unit\} where unit is one of "M", "G", "Mi" and "Gi" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. + * Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number\}{unit\} where unit is one of "M", "G", "Mi" and "Gi" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) */ containerMemory?: string | null; /** @@ -1660,7 +1664,7 @@ export namespace bigquery_v2 { */ runtimeConnection?: string | null; /** - * Optional. Language runtime version (e.g. python-3.11). + * Optional. Language runtime version. Example: `python-3.11`. */ runtimeVersion?: string | null; } @@ -3564,11 +3568,11 @@ export namespace bigquery_v2 { */ export interface Schema$PythonOptions { /** - * Required. The entry point function in the user's Python code. + * Required. The name of the function defined in Python code as the entry point when the Python UDF is invoked. */ entryPoint?: string | null; /** - * Optional. A list of package names along with versions to be installed. Follows requirements.txt syntax (e.g. numpy==2.0, permutation, urllib3<2.2.1) + * Optional. A list of Python package names along with versions to be installed. Example: ["pandas\>=2.1", "google-cloud-translate==3.11"]. For more information, see [Use third-party packages](https://cloud.google.com/bigquery/docs/user-defined-functions-python#third-party-packages). */ packages?: string[] | null; } @@ -3618,6 +3622,10 @@ export namespace bigquery_v2 { name?: string; type?: Schema$QueryParameterType; }> | null; + /** + * Optional. Precision (maximum number of total digits in base 10) for seconds of TIMESTAMP type. Possible values include: * 6 (Default, for TIMESTAMP type with microsecond precision) * 12 (For TIMESTAMP type with picosecond precision) + */ + timestampPrecision?: string | null; /** * Required. The top level type of this field. */ @@ -4038,7 +4046,7 @@ export namespace bigquery_v2 { */ lastModifiedTime?: string | null; /** - * Optional. Options for Python UDF. [Preview](https://cloud.google.com/products/#product-launch-stages) + * Optional. Options for the Python UDF. [Preview](https://cloud.google.com/products/#product-launch-stages) */ pythonOptions?: Schema$PythonOptions; /** @@ -7488,6 +7496,8 @@ export namespace bigquery_v2 { * * // Do the magic * const res = await bigquery.jobs.getQueryResults({ + * // Optional. The API output format for a timestamp. This offers more explicit control over the timestamp output format as compared to the existing `use_int64_timestamp` option. + * 'formatOptions.timestampOutputFormat': 'placeholder-value', * // Optional. Output timestamp as usec int64. Default is false. * 'formatOptions.useInt64Timestamp': 'placeholder-value', * // Required. Job ID of the query job. @@ -8194,6 +8204,10 @@ export namespace bigquery_v2 { } export interface Params$Resource$Jobs$Getqueryresults extends StandardParameters { + /** + * Optional. The API output format for a timestamp. This offers more explicit control over the timestamp output format as compared to the existing `use_int64_timestamp` option. + */ + 'formatOptions.timestampOutputFormat'?: string; /** * Optional. Output timestamp as usec int64. Default is false. */ @@ -12350,6 +12364,8 @@ export namespace bigquery_v2 { * const res = await bigquery.tabledata.list({ * // Required. Dataset id of the table to list. * datasetId: '[^/]+', + * // Optional. The API output format for a timestamp. This offers more explicit control over the timestamp output format as compared to the existing `use_int64_timestamp` option. + * 'formatOptions.timestampOutputFormat': 'placeholder-value', * // Optional. Output timestamp as usec int64. Default is false. * 'formatOptions.useInt64Timestamp': 'placeholder-value', * // Row limit of the table. @@ -12497,6 +12513,10 @@ export namespace bigquery_v2 { * Required. Dataset id of the table to list. */ datasetId?: string; + /** + * Optional. The API output format for a timestamp. This offers more explicit control over the timestamp output format as compared to the existing `use_int64_timestamp` option. + */ + 'formatOptions.timestampOutputFormat'?: string; /** * Optional. Output timestamp as usec int64. Default is false. */ From 750afcb91c30078eacf375266c6d5f4fb84f15ce Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 06/37] feat(bigtableadmin): update the API #### bigtableadmin:v2 The following keys were added: - resources.projects.resources.instances.resources.tables.resources.schemaBundles.methods.list.parameters.view.description - resources.projects.resources.instances.resources.tables.resources.schemaBundles.methods.list.parameters.view.enum - resources.projects.resources.instances.resources.tables.resources.schemaBundles.methods.list.parameters.view.enumDescriptions - resources.projects.resources.instances.resources.tables.resources.schemaBundles.methods.list.parameters.view.location - resources.projects.resources.instances.resources.tables.resources.schemaBundles.methods.list.parameters.view.type - schemas.GoogleBigtableAdminV2TypeEnum.description - schemas.GoogleBigtableAdminV2TypeEnum.id - schemas.GoogleBigtableAdminV2TypeEnum.properties.enumName.description - schemas.GoogleBigtableAdminV2TypeEnum.properties.enumName.type - schemas.GoogleBigtableAdminV2TypeEnum.properties.schemaBundleId.description - schemas.GoogleBigtableAdminV2TypeEnum.properties.schemaBundleId.type - schemas.GoogleBigtableAdminV2TypeEnum.type - schemas.GoogleBigtableAdminV2TypeProto.description - schemas.GoogleBigtableAdminV2TypeProto.id - schemas.GoogleBigtableAdminV2TypeProto.properties.messageName.description - schemas.GoogleBigtableAdminV2TypeProto.properties.messageName.type - schemas.GoogleBigtableAdminV2TypeProto.properties.schemaBundleId.description - schemas.GoogleBigtableAdminV2TypeProto.properties.schemaBundleId.type - schemas.GoogleBigtableAdminV2TypeProto.type - schemas.Type.properties.enumType.$ref - schemas.Type.properties.enumType.description - schemas.Type.properties.protoType.$ref - schemas.Type.properties.protoType.description --- discovery/bigtableadmin-v2.json | 57 ++++++++++++++++++++++++++++++++- src/apis/bigtableadmin/v2.ts | 40 +++++++++++++++++++++++ 2 files changed, 96 insertions(+), 1 deletion(-) diff --git a/discovery/bigtableadmin-v2.json b/discovery/bigtableadmin-v2.json index a64787b8418..62fa8027885 100644 --- a/discovery/bigtableadmin-v2.json +++ b/discovery/bigtableadmin-v2.json @@ -2933,6 +2933,23 @@ "pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. The resource_view to be applied to the returned SchemaBundles' fields. Defaults to NAME_ONLY.", + "enum": [ + "SCHEMA_BUNDLE_VIEW_UNSPECIFIED", + "NAME_ONLY", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "Uses the default view for each method as documented in the request.", + "Only populates `name`.", + "Only populates the SchemaBundle's basic metadata. This includes: name, etag, create_time, update_time.", + "Populates every field." + ], + "location": "query", + "type": "string" } }, "path": "v2/{+parent}/schemaBundles", @@ -3151,7 +3168,7 @@ } } }, - "revision": "20250624", + "revision": "20250724", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -4343,6 +4360,21 @@ "properties": {}, "type": "object" }, + "GoogleBigtableAdminV2TypeEnum": { + "description": "A protobuf enum type. Values of type `Enum` are stored in `Value.int_value`.", + "id": "GoogleBigtableAdminV2TypeEnum", + "properties": { + "enumName": { + "description": "The fully qualified name of the protobuf enum message, including package. In the format of \"foo.bar.EnumMessage\".", + "type": "string" + }, + "schemaBundleId": { + "description": "The ID of the schema bundle that this enum is defined in.", + "type": "string" + } + }, + "type": "object" + }, "GoogleBigtableAdminV2TypeFloat32": { "description": "Float32 Values of type `Float32` are stored in `Value.float_value`.", "id": "GoogleBigtableAdminV2TypeFloat32", @@ -4414,6 +4446,21 @@ }, "type": "object" }, + "GoogleBigtableAdminV2TypeProto": { + "description": "A protobuf message type. Values of type `Proto` are stored in `Value.bytes_value`.", + "id": "GoogleBigtableAdminV2TypeProto", + "properties": { + "messageName": { + "description": "The fully qualified name of the protobuf message, including package. In the format of \"foo.bar.Message\".", + "type": "string" + }, + "schemaBundleId": { + "description": "The ID of the schema bundle that this proto is defined in.", + "type": "string" + } + }, + "type": "object" + }, "GoogleBigtableAdminV2TypeString": { "description": "String Values of type `String` are stored in `Value.string_value`.", "id": "GoogleBigtableAdminV2TypeString", @@ -5628,6 +5675,10 @@ "$ref": "GoogleBigtableAdminV2TypeDate", "description": "Date" }, + "enumType": { + "$ref": "GoogleBigtableAdminV2TypeEnum", + "description": "Enum" + }, "float32Type": { "$ref": "GoogleBigtableAdminV2TypeFloat32", "description": "Float32" @@ -5644,6 +5695,10 @@ "$ref": "GoogleBigtableAdminV2TypeMap", "description": "Map" }, + "protoType": { + "$ref": "GoogleBigtableAdminV2TypeProto", + "description": "Proto" + }, "stringType": { "$ref": "GoogleBigtableAdminV2TypeString", "description": "String" diff --git a/src/apis/bigtableadmin/v2.ts b/src/apis/bigtableadmin/v2.ts index bf9dfed2436..e1a69687c0e 100644 --- a/src/apis/bigtableadmin/v2.ts +++ b/src/apis/bigtableadmin/v2.ts @@ -994,6 +994,19 @@ export namespace bigtableadmin_v2 { * Date Values of type `Date` are stored in `Value.date_value`. */ export interface Schema$GoogleBigtableAdminV2TypeDate {} + /** + * A protobuf enum type. Values of type `Enum` are stored in `Value.int_value`. + */ + export interface Schema$GoogleBigtableAdminV2TypeEnum { + /** + * The fully qualified name of the protobuf enum message, including package. In the format of "foo.bar.EnumMessage". + */ + enumName?: string | null; + /** + * The ID of the schema bundle that this enum is defined in. + */ + schemaBundleId?: string | null; + } /** * Float32 Values of type `Float32` are stored in `Value.float_value`. */ @@ -1050,6 +1063,19 @@ export namespace bigtableadmin_v2 { */ valueType?: Schema$Type; } + /** + * A protobuf message type. Values of type `Proto` are stored in `Value.bytes_value`. + */ + export interface Schema$GoogleBigtableAdminV2TypeProto { + /** + * The fully qualified name of the protobuf message, including package. In the format of "foo.bar.Message". + */ + messageName?: string | null; + /** + * The ID of the schema bundle that this proto is defined in. + */ + schemaBundleId?: string | null; + } /** * String Values of type `String` are stored in `Value.string_value`. */ @@ -1934,6 +1960,10 @@ export namespace bigtableadmin_v2 { * Date */ dateType?: Schema$GoogleBigtableAdminV2TypeDate; + /** + * Enum + */ + enumType?: Schema$GoogleBigtableAdminV2TypeEnum; /** * Float32 */ @@ -1950,6 +1980,10 @@ export namespace bigtableadmin_v2 { * Map */ mapType?: Schema$GoogleBigtableAdminV2TypeMap; + /** + * Proto + */ + protoType?: Schema$GoogleBigtableAdminV2TypeProto; /** * String */ @@ -15047,6 +15081,8 @@ export namespace bigtableadmin_v2 { * pageToken: 'placeholder-value', * // Required. The parent, which owns this collection of schema bundles. Values are of the form `projects/{project\}/instances/{instance\}/tables/{table\}`. * parent: 'projects/my-project/instances/my-instance/tables/my-table', + * // Optional. The resource_view to be applied to the returned SchemaBundles' fields. Defaults to NAME_ONLY. + * view: 'placeholder-value', * }); * console.log(res.data); * @@ -15701,6 +15737,10 @@ export namespace bigtableadmin_v2 { * Required. The parent, which owns this collection of schema bundles. Values are of the form `projects/{project\}/instances/{instance\}/tables/{table\}`. */ parent?: string; + /** + * Optional. The resource_view to be applied to the returned SchemaBundles' fields. Defaults to NAME_ONLY. + */ + view?: string; } export interface Params$Resource$Projects$Instances$Tables$Schemabundles$Patch extends StandardParameters { From a3a3dc8dabde226637742d15295ba832418d91b6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 07/37] feat(chat)!: update the API BREAKING CHANGE: This release has breaking changes. #### chat:v1 The following keys were deleted: - schemas.Message.properties.quotedMessageMetadata.readOnly - schemas.QuotedMessageMetadata.properties.lastUpdateTime.readOnly - schemas.QuotedMessageMetadata.properties.name.readOnly The following keys were changed: - resources.spaces.methods.create.description - resources.spaces.methods.delete.description - resources.spaces.methods.patch.description - resources.spaces.resources.members.methods.create.description - resources.spaces.resources.members.methods.delete.description - resources.spaces.resources.members.methods.patch.description - schemas.AccessSettings.properties.audience.description - schemas.Annotation.description - schemas.MeetSpaceLinkData.properties.huddleStatus.enumDescriptions - schemas.MeetSpaceLinkData.properties.type.enumDescriptions - schemas.Message.properties.annotations.description - schemas.Message.properties.quotedMessageMetadata.description - schemas.QuotedMessageMetadata.properties.lastUpdateTime.description - schemas.QuotedMessageMetadata.properties.name.description - schemas.RichLinkMetadata.description - schemas.RichLinkMetadata.properties.calendarEventLinkData.description - schemas.RichLinkMetadata.properties.meetSpaceLinkData.description - schemas.Space.properties.customer.description - schemas.Space.properties.permissionSettings.description - schemas.Space.properties.predefinedPermissionSettings.description --- discovery/chat-v1.json | 49 ++++++++++++++++++++---------------------- src/apis/chat/v1.ts | 36 +++++++++++++++---------------- 2 files changed, 41 insertions(+), 44 deletions(-) diff --git a/discovery/chat-v1.json b/discovery/chat-v1.json index c42fb3a2db5..c09b62b707c 100644 --- a/discovery/chat-v1.json +++ b/discovery/chat-v1.json @@ -405,7 +405,7 @@ ] }, "create": { - "description": "Creates a space. Can be used to create a named space, or a group chat in `Import mode`. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces.create` - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) When authenticating as an app, the `space.customer` field must be set in the request. When authenticating as an app, the Chat app is added as a member of the space. However, unlike human authentication, the Chat app is not added as a space manager. By default, the Chat app can be removed from the space by all space members. To allow only space managers to remove the app from a space, set `space.permission_settings.manage_apps` to `managers_allowed`. Space membership upon creation depends on whether the space is created in `Import mode`: * **Import mode:** No members are created. * **All other modes:** The calling user is added as a member. This is: * The app itself when using app authentication. * The human user when using user authentication. If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name.", + "description": "Creates a space. Can be used to create a named space, or a group chat in `Import mode`. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces.create` - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) When authenticating as an app, the `space.customer` field must be set in the request. When authenticating as an app, the Chat app is added as a member of the space. However, unlike human authentication, the Chat app is not added as a space manager. By default, the Chat app can be removed from the space by all space members. To allow only space managers to remove the app from a space, set `space.permission_settings.manage_apps` to `managers_allowed`. Space membership upon creation depends on whether the space is created in `Import mode`: * **Import mode:** No members are created. * **All other modes:** The calling user is added as a member. This is: * The app itself when using app authentication. * The human user when using user authentication. If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name.", "flatPath": "v1/spaces", "httpMethod": "POST", "id": "chat.spaces.create", @@ -433,7 +433,7 @@ ] }, "delete": { - "description": "Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.delete` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.delete`", + "description": "Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.delete` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.delete`", "flatPath": "v1/spaces/{spacesId}", "httpMethod": "DELETE", "id": "chat.spaces.delete", @@ -558,7 +558,7 @@ ] }, "patch": { - "description": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scopes is used: - `https://www.googleapis.com/auth/chat.admin.spaces` App authentication has the following limitations: - To update either `space.predefined_permission_settings` or `space.permission_settings`, the app must be the space creator. - Updating the `space.access_settings.audience` is not supported for app authentication.", + "description": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scopes is used: - `https://www.googleapis.com/auth/chat.admin.spaces` App authentication has the following limitations: - To update either `space.predefined_permission_settings` or `space.permission_settings`, the app must be the space creator. - Updating the `space.access_settings.audience` is not supported for app authentication.", "flatPath": "v1/spaces/{spacesId}", "httpMethod": "PATCH", "id": "chat.spaces.patch", @@ -666,7 +666,7 @@ "members": { "methods": { "create": { - "description": "Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.memberships.app` (to add the calling app to the space) - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` App authentication is not supported for the following use cases: - Inviting users external to the Workspace organization that owns the space. - Adding a Google Group to a space. - Adding a Chat app to a space. For example usage, see: - [Invite or add a user to a space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api).", + "description": "Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.memberships.app` (to add the calling app to the space) - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` App authentication is not supported for the following use cases: - Inviting users external to the Workspace organization that owns the space. - Adding a Google Group to a space. - Adding a Chat app to a space. For example usage, see: - [Invite or add a user to a space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api).", "flatPath": "v1/spaces/{spacesId}/members", "httpMethod": "POST", "id": "chat.spaces.members.create", @@ -703,7 +703,7 @@ ] }, "delete": { - "description": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.memberships.app` (to remove the calling app from the space) - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` App authentication is not supported for the following use cases: - Removing a Google Group from a space. - Removing a Chat app from a space. To delete memberships for space managers, the requester must be a space manager. If you're using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator.", + "description": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.memberships.app` (to remove the calling app from the space) - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` App authentication is not supported for the following use cases: - Removing a Google Group from a space. - Removing a Chat app from a space. To delete memberships for space managers, the requester must be a space manager. If you're using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator.", "flatPath": "v1/spaces/{spacesId}/members/{membersId}", "httpMethod": "DELETE", "id": "chat.spaces.members.delete", @@ -834,7 +834,7 @@ ] }, "patch": { - "description": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships`", + "description": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships`", "flatPath": "v1/spaces/{spacesId}/members/{membersId}", "httpMethod": "PATCH", "id": "chat.spaces.members.patch", @@ -1528,7 +1528,7 @@ } } }, - "revision": "20250720", + "revision": "20250727", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessSettings": { @@ -1551,7 +1551,7 @@ "type": "string" }, "audience": { - "description": "Optional. The resource name of the [target audience](https://support.google.com/a/answer/9934697) who can discover the space, join the space, and preview the messages in the space. If unset, only users or Google Groups who have been individually invited or added to the space can access it. For details, see [Make a space discoverable to a target audience](https://developers.google.com/workspace/chat/space-target-audience). Format: `audiences/{audience}` To use the default target audience for the Google Workspace organization, set to `audiences/default`. Reading the target audience supports: - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope in [Developer Preview](https://developers.google.com/workspace/preview). This field is not populated when using the `chat.bot` scope with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). Setting the target audience requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + "description": "Optional. The resource name of the [target audience](https://support.google.com/a/answer/9934697) who can discover the space, join the space, and preview the messages in the space. If unset, only users or Google Groups who have been individually invited or added to the space can access it. For details, see [Make a space discoverable to a target audience](https://developers.google.com/workspace/chat/space-target-audience). Format: `audiences/{audience}` To use the default target audience for the Google Workspace organization, set to `audiences/default`. Reading the target audience supports: - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. This field is not populated when using the `chat.bot` scope with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). Setting the target audience requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "type": "string" } }, @@ -1678,7 +1678,7 @@ "type": "object" }, "Annotation": { - "description": "Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with a `start_index` and `length` of 0. To add basic formatting to a text message, see [Format text messages](https://developers.google.com/workspace/chat/format-messages). Example plain-text message body: ``` Hello @FooBot how are you!\" ``` The corresponding annotations metadata: ``` \"annotations\":[{ \"type\":\"USER_MENTION\", \"startIndex\":6, \"length\":7, \"userMention\": { \"user\": { \"name\":\"users/{user}\", \"displayName\":\"FooBot\", \"avatarUrl\":\"https://goo.gl/aeDtrS\", \"type\":\"BOT\" }, \"type\":\"MENTION\" } }] ```", + "description": "Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0. To add basic formatting to a text message, see [Format text messages](https://developers.google.com/workspace/chat/format-messages). Example plain-text message body: ``` Hello @FooBot how are you!\" ``` The corresponding annotations metadata: ``` \"annotations\":[{ \"type\":\"USER_MENTION\", \"startIndex\":6, \"length\":7, \"userMention\": { \"user\": { \"name\":\"users/{user}\", \"displayName\":\"FooBot\", \"avatarUrl\":\"https://goo.gl/aeDtrS\", \"type\":\"BOT\" }, \"type\":\"MENTION\" } }] ```", "id": "Annotation", "properties": { "customEmojiMetadata": { @@ -4187,8 +4187,8 @@ "enumDescriptions": [ "Default value for the enum. Don't use.", "The huddle has started.", - "The huddle has ended. In this case the meet space URI and identifiers will no longer be valid.", - "The huddle has been missed. In this case the meet space URI and identifiers will no longer be valid." + "The huddle has ended. In this case the Meet space URI and identifiers will no longer be valid.", + "The huddle has been missed. In this case the Meet space URI and identifiers will no longer be valid." ], "readOnly": true, "type": "string" @@ -4206,8 +4206,8 @@ ], "enumDescriptions": [ "Default value for the enum. Don't use.", - "The meet space is a meeting.", - "The meet space is a huddle." + "The Meet space is a meeting.", + "The Meet space is a huddle." ], "type": "string" } @@ -4384,7 +4384,7 @@ "description": "Input only. Parameters that a Chat app can use to configure how its response is posted." }, "annotations": { - "description": "Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with a `start_index` and `length` of 0.", + "description": "Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0.", "items": { "$ref": "Annotation" }, @@ -4484,8 +4484,7 @@ }, "quotedMessageMetadata": { "$ref": "QuotedMessageMetadata", - "description": "Output only. Information about a message that's quoted by a Google Chat user in a space. Google Chat users can quote a message to reply to it.", - "readOnly": true + "description": "Optional. Information about a message that's quoted by a Google Chat user in a space. Google Chat users can quote a message to reply to it." }, "sender": { "$ref": "User", @@ -4679,14 +4678,12 @@ "id": "QuotedMessageMetadata", "properties": { "lastUpdateTime": { - "description": "Output only. The timestamp when the quoted message was created or when the quoted message was last updated.", + "description": "Required. The timestamp when the quoted message was created or when the quoted message was last updated.", "format": "google-datetime", - "readOnly": true, "type": "string" }, "name": { - "description": "Output only. Resource name of the quoted message. Format: `spaces/{space}/messages/{message}`", - "readOnly": true, + "description": "Required. Resource name of the message that is quoted. Format: `spaces/{space}/messages/{message}`", "type": "string" } }, @@ -4763,12 +4760,12 @@ "type": "object" }, "RichLinkMetadata": { - "description": "A rich link to a resource. Rich links can be associated with the plain-text body of the message or represent chips that link to Google Workspace resources like Google Docs or Sheets with a with `start_index` and `length` of 0.", + "description": "A rich link to a resource. Rich links can be associated with the plain-text body of the message or represent chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0.", "id": "RichLinkMetadata", "properties": { "calendarEventLinkData": { "$ref": "CalendarEventLinkData", - "description": "Data for a calendar event link." + "description": "Data for a Calendar event link." }, "chatSpaceLinkData": { "$ref": "ChatSpaceLinkData", @@ -4780,7 +4777,7 @@ }, "meetSpaceLinkData": { "$ref": "MeetSpaceLinkData", - "description": "Data for a meet space link." + "description": "Data for a Meet space link." }, "richLinkType": { "description": "The rich link type.", @@ -4953,7 +4950,7 @@ "type": "string" }, "customer": { - "description": "Optional. Immutable. The customer id of the domain of the space. Required only when creating a space with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and `SpaceType` is `SPACE`, otherwise should not be set. In the format `customers/{customer}`, where `customer` is the `id` from the [Admin SDK customer resource]( https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). Private apps can also use the `customers/my_customer` alias to create the space in the same Google Workspace organization as the app. For DMs, this field isn't populated. [Developer Preview](https://developers.google.com/workspace/preview).", + "description": "Optional. Immutable. The customer id of the domain of the space. Required only when creating a space with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and `SpaceType` is `SPACE`, otherwise should not be set. In the format `customers/{customer}`, where `customer` is the `id` from the [Admin SDK customer resource]( https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). Private apps can also use the `customers/my_customer` alias to create the space in the same Google Workspace organization as the app. For DMs, this field isn't populated.", "type": "string" }, "displayName": { @@ -4991,10 +4988,10 @@ }, "permissionSettings": { "$ref": "PermissionSettings", - "description": "Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)" + "description": "Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)" }, "predefinedPermissionSettings": { - "description": "Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", "enum": [ "PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED", "COLLABORATION_SPACE", diff --git a/src/apis/chat/v1.ts b/src/apis/chat/v1.ts index 4ada2e8e4c5..ad75df4b035 100644 --- a/src/apis/chat/v1.ts +++ b/src/apis/chat/v1.ts @@ -148,7 +148,7 @@ export namespace chat_v1 { */ accessState?: string | null; /** - * Optional. The resource name of the [target audience](https://support.google.com/a/answer/9934697) who can discover the space, join the space, and preview the messages in the space. If unset, only users or Google Groups who have been individually invited or added to the space can access it. For details, see [Make a space discoverable to a target audience](https://developers.google.com/workspace/chat/space-target-audience). Format: `audiences/{audience\}` To use the default target audience for the Google Workspace organization, set to `audiences/default`. Reading the target audience supports: - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope in [Developer Preview](https://developers.google.com/workspace/preview). This field is not populated when using the `chat.bot` scope with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). Setting the target audience requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). + * Optional. The resource name of the [target audience](https://support.google.com/a/answer/9934697) who can discover the space, join the space, and preview the messages in the space. If unset, only users or Google Groups who have been individually invited or added to the space can access it. For details, see [Make a space discoverable to a target audience](https://developers.google.com/workspace/chat/space-target-audience). Format: `audiences/{audience\}` To use the default target audience for the Google Workspace organization, set to `audiences/default`. Reading the target audience supports: - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. This field is not populated when using the `chat.bot` scope with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). Setting the target audience requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). */ audience?: string | null; } @@ -200,7 +200,7 @@ export namespace chat_v1 { userFacingMessage?: string | null; } /** - * Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with a `start_index` and `length` of 0. To add basic formatting to a text message, see [Format text messages](https://developers.google.com/workspace/chat/format-messages). Example plain-text message body: ``` Hello @FooBot how are you!" ``` The corresponding annotations metadata: ``` "annotations":[{ "type":"USER_MENTION", "startIndex":6, "length":7, "userMention": { "user": { "name":"users/{user\}", "displayName":"FooBot", "avatarUrl":"https://goo.gl/aeDtrS", "type":"BOT" \}, "type":"MENTION" \} \}] ``` + * Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0. To add basic formatting to a text message, see [Format text messages](https://developers.google.com/workspace/chat/format-messages). Example plain-text message body: ``` Hello @FooBot how are you!" ``` The corresponding annotations metadata: ``` "annotations":[{ "type":"USER_MENTION", "startIndex":6, "length":7, "userMention": { "user": { "name":"users/{user\}", "displayName":"FooBot", "avatarUrl":"https://goo.gl/aeDtrS", "type":"BOT" \}, "type":"MENTION" \} \}] ``` */ export interface Schema$Annotation { /** @@ -2006,7 +2006,7 @@ export namespace chat_v1 { */ actionResponse?: Schema$ActionResponse; /** - * Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with a `start_index` and `length` of 0. + * Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0. */ annotations?: Schema$Annotation[]; /** @@ -2074,7 +2074,7 @@ export namespace chat_v1 { */ privateMessageViewer?: Schema$User; /** - * Output only. Information about a message that's quoted by a Google Chat user in a space. Google Chat users can quote a message to reply to it. + * Optional. Information about a message that's quoted by a Google Chat user in a space. Google Chat users can quote a message to reply to it. */ quotedMessageMetadata?: Schema$QuotedMessageMetadata; /** @@ -2233,11 +2233,11 @@ export namespace chat_v1 { */ export interface Schema$QuotedMessageMetadata { /** - * Output only. The timestamp when the quoted message was created or when the quoted message was last updated. + * Required. The timestamp when the quoted message was created or when the quoted message was last updated. */ lastUpdateTime?: string | null; /** - * Output only. Resource name of the quoted message. Format: `spaces/{space\}/messages/{message\}` + * Required. Resource name of the message that is quoted. Format: `spaces/{space\}/messages/{message\}` */ name?: string | null; } @@ -2295,11 +2295,11 @@ export namespace chat_v1 { reaction?: Schema$Reaction; } /** - * A rich link to a resource. Rich links can be associated with the plain-text body of the message or represent chips that link to Google Workspace resources like Google Docs or Sheets with a with `start_index` and `length` of 0. + * A rich link to a resource. Rich links can be associated with the plain-text body of the message or represent chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0. */ export interface Schema$RichLinkMetadata { /** - * Data for a calendar event link. + * Data for a Calendar event link. */ calendarEventLinkData?: Schema$CalendarEventLinkData; /** @@ -2311,7 +2311,7 @@ export namespace chat_v1 { */ driveLinkData?: Schema$DriveLinkData; /** - * Data for a meet space link. + * Data for a Meet space link. */ meetSpaceLinkData?: Schema$MeetSpaceLinkData; /** @@ -2430,7 +2430,7 @@ export namespace chat_v1 { */ createTime?: string | null; /** - * Optional. Immutable. The customer id of the domain of the space. Required only when creating a space with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and `SpaceType` is `SPACE`, otherwise should not be set. In the format `customers/{customer\}`, where `customer` is the `id` from the [Admin SDK customer resource]( https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). Private apps can also use the `customers/my_customer` alias to create the space in the same Google Workspace organization as the app. For DMs, this field isn't populated. [Developer Preview](https://developers.google.com/workspace/preview). + * Optional. Immutable. The customer id of the domain of the space. Required only when creating a space with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and `SpaceType` is `SPACE`, otherwise should not be set. In the format `customers/{customer\}`, where `customer` is the `id` from the [Admin SDK customer resource]( https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). Private apps can also use the `customers/my_customer` alias to create the space in the same Google Workspace organization as the app. For DMs, this field isn't populated. */ customer?: string | null; /** @@ -2462,11 +2462,11 @@ export namespace chat_v1 { */ name?: string | null; /** - * Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) */ permissionSettings?: Schema$PermissionSettings; /** - * Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) */ predefinedPermissionSettings?: string | null; /** @@ -3955,7 +3955,7 @@ export namespace chat_v1 { } /** - * Creates a space. Can be used to create a named space, or a group chat in `Import mode`. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces.create` - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) When authenticating as an app, the `space.customer` field must be set in the request. When authenticating as an app, the Chat app is added as a member of the space. However, unlike human authentication, the Chat app is not added as a space manager. By default, the Chat app can be removed from the space by all space members. To allow only space managers to remove the app from a space, set `space.permission_settings.manage_apps` to `managers_allowed`. Space membership upon creation depends on whether the space is created in `Import mode`: * **Import mode:** No members are created. * **All other modes:** The calling user is added as a member. This is: * The app itself when using app authentication. * The human user when using user authentication. If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. + * Creates a space. Can be used to create a named space, or a group chat in `Import mode`. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces.create` - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) When authenticating as an app, the `space.customer` field must be set in the request. When authenticating as an app, the Chat app is added as a member of the space. However, unlike human authentication, the Chat app is not added as a space manager. By default, the Chat app can be removed from the space by all space members. To allow only space managers to remove the app from a space, set `space.permission_settings.manage_apps` to `managers_allowed`. Space membership upon creation depends on whether the space is created in `Import mode`: * **Import mode:** No members are created. * **All other modes:** The calling user is added as a member. This is: * The app itself when using app authentication. * The human user when using user authentication. If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. * @example * ```js * // Before running the sample: @@ -4142,7 +4142,7 @@ export namespace chat_v1 { } /** - * Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.delete` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.delete` + * Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.delete` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.delete` * @example * ```js * // Before running the sample: @@ -4745,7 +4745,7 @@ export namespace chat_v1 { } /** - * Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scopes is used: - `https://www.googleapis.com/auth/chat.admin.spaces` App authentication has the following limitations: - To update either `space.predefined_permission_settings` or `space.permission_settings`, the app must be the space creator. - Updating the `space.access_settings.audience` is not supported for app authentication. + * Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scopes is used: - `https://www.googleapis.com/auth/chat.admin.spaces` App authentication has the following limitations: - To update either `space.predefined_permission_settings` or `space.permission_settings`, the app must be the space creator. - Updating the `space.access_settings.audience` is not supported for app authentication. * @example * ```js * // Before running the sample: @@ -5365,7 +5365,7 @@ export namespace chat_v1 { } /** - * Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.memberships.app` (to add the calling app to the space) - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` App authentication is not supported for the following use cases: - Inviting users external to the Workspace organization that owns the space. - Adding a Google Group to a space. - Adding a Chat app to a space. For example usage, see: - [Invite or add a user to a space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api). + * Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.memberships.app` (to add the calling app to the space) - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` App authentication is not supported for the following use cases: - Inviting users external to the Workspace organization that owns the space. - Adding a Google Group to a space. - Adding a Chat app to a space. For example usage, see: - [Invite or add a user to a space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api). * @example * ```js * // Before running the sample: @@ -5530,7 +5530,7 @@ export namespace chat_v1 { } /** - * Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.memberships.app` (to remove the calling app from the space) - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` App authentication is not supported for the following use cases: - Removing a Google Group from a space. - Removing a Chat app from a space. To delete memberships for space managers, the requester must be a space manager. If you're using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator. + * Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.memberships.app` (to remove the calling app from the space) - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` App authentication is not supported for the following use cases: - Removing a Google Group from a space. - Removing a Chat app from a space. To delete memberships for space managers, the requester must be a space manager. If you're using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator. * @example * ```js * // Before running the sample: @@ -5987,7 +5987,7 @@ export namespace chat_v1 { } /** - * Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` + * Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.memberships` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scope is used: - `https://www.googleapis.com/auth/chat.admin.memberships` * @example * ```js * // Before running the sample: From 8729eca449b500cda2f8631651a53532b6c8e001 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 08/37] feat(chromemanagement): update the API #### chromemanagement:v1 The following keys were added: - resources.customers.resources.thirdPartyProfileUsers.methods.move.description - resources.customers.resources.thirdPartyProfileUsers.methods.move.flatPath - resources.customers.resources.thirdPartyProfileUsers.methods.move.httpMethod - resources.customers.resources.thirdPartyProfileUsers.methods.move.id - resources.customers.resources.thirdPartyProfileUsers.methods.move.parameterOrder - resources.customers.resources.thirdPartyProfileUsers.methods.move.parameters.name.description - resources.customers.resources.thirdPartyProfileUsers.methods.move.parameters.name.location - resources.customers.resources.thirdPartyProfileUsers.methods.move.parameters.name.pattern - resources.customers.resources.thirdPartyProfileUsers.methods.move.parameters.name.required - resources.customers.resources.thirdPartyProfileUsers.methods.move.parameters.name.type - resources.customers.resources.thirdPartyProfileUsers.methods.move.path - resources.customers.resources.thirdPartyProfileUsers.methods.move.request.$ref - resources.customers.resources.thirdPartyProfileUsers.methods.move.response.$ref - resources.customers.resources.thirdPartyProfileUsers.methods.move.scopes - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest.description - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest.id - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest.properties.destinationOrgUnit.description - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest.properties.destinationOrgUnit.type - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest.type - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse.description - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse.id - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse.properties.thirdPartyProfileUser.$ref - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse.properties.thirdPartyProfileUser.description - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse.properties.thirdPartyProfileUser.readOnly - schemas.GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse.type - schemas.GoogleChromeManagementVersionsV1ThirdPartyProfileUser.description - schemas.GoogleChromeManagementVersionsV1ThirdPartyProfileUser.id - schemas.GoogleChromeManagementVersionsV1ThirdPartyProfileUser.properties.name.description - schemas.GoogleChromeManagementVersionsV1ThirdPartyProfileUser.properties.name.type - schemas.GoogleChromeManagementVersionsV1ThirdPartyProfileUser.properties.orgUnitId.description - schemas.GoogleChromeManagementVersionsV1ThirdPartyProfileUser.properties.orgUnitId.readOnly - schemas.GoogleChromeManagementVersionsV1ThirdPartyProfileUser.properties.orgUnitId.type - schemas.GoogleChromeManagementVersionsV1ThirdPartyProfileUser.type --- discovery/chromemanagement-v1.json | 73 +++++++++- src/apis/chromemanagement/v1.ts | 207 +++++++++++++++++++++++++++++ 2 files changed, 279 insertions(+), 1 deletion(-) diff --git a/discovery/chromemanagement-v1.json b/discovery/chromemanagement-v1.json index d7b41649af1..5be12dda999 100644 --- a/discovery/chromemanagement-v1.json +++ b/discovery/chromemanagement-v1.json @@ -1373,11 +1373,43 @@ } } } + }, + "thirdPartyProfileUsers": { + "methods": { + "move": { + "description": "Moves a third party chrome profile user to a destination OU. All profiles associated to that user will be moved to the destination OU.", + "flatPath": "v1/customers/{customersId}/thirdPartyProfileUsers/{thirdPartyProfileUsersId}:move", + "httpMethod": "POST", + "id": "chromemanagement.customers.thirdPartyProfileUsers.move", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: customers/{customer_id}/thirdPartyProfileUsers/{third_party_profile_user_id}", + "location": "path", + "pattern": "^customers/[^/]+/thirdPartyProfileUsers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:move", + "request": { + "$ref": "GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest" + }, + "response": { + "$ref": "GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.profiles" + ] + } + } } } } }, - "revision": "20250721", + "revision": "20250730", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -5680,6 +5712,29 @@ }, "type": "object" }, + "GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest": { + "description": "Request to MoveThirdPartyProfileUser method.", + "id": "GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest", + "properties": { + "destinationOrgUnit": { + "description": "Required. Destination organizational unit where the third party chrome profile user will be moved to.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse": { + "description": "Response for MoveThirdPartyProfileUser method.", + "id": "GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse", + "properties": { + "thirdPartyProfileUser": { + "$ref": "GoogleChromeManagementVersionsV1ThirdPartyProfileUser", + "description": "Output only. The moved third party profile user.", + "readOnly": true + } + }, + "type": "object" + }, "GoogleChromeManagementVersionsV1ReportingData": { "description": "Reporting data of a Chrome browser profile.", "id": "GoogleChromeManagementVersionsV1ReportingData", @@ -5953,6 +6008,22 @@ }, "type": "object" }, + "GoogleChromeManagementVersionsV1ThirdPartyProfileUser": { + "description": "A representation of non-Google (third party) user that is associated with a managed Chrome profile.", + "id": "GoogleChromeManagementVersionsV1ThirdPartyProfileUser", + "properties": { + "name": { + "description": "Identifier. Format: customers/{customer_id}/thirdPartyProfileUsers/{third_party_profile_user_id}", + "type": "string" + }, + "orgUnitId": { + "description": "Output only. The ID of the organizational unit assigned to the user.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleProtobufEmpty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "GoogleProtobufEmpty", diff --git a/src/apis/chromemanagement/v1.ts b/src/apis/chromemanagement/v1.ts index b4145adf47a..246f6ac0b8a 100644 --- a/src/apis/chromemanagement/v1.ts +++ b/src/apis/chromemanagement/v1.ts @@ -2603,6 +2603,24 @@ export namespace chromemanagement_v1 { */ totalSize?: string | null; } + /** + * Request to MoveThirdPartyProfileUser method. + */ + export interface Schema$GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest { + /** + * Required. Destination organizational unit where the third party chrome profile user will be moved to. + */ + destinationOrgUnit?: string | null; + } + /** + * Response for MoveThirdPartyProfileUser method. + */ + export interface Schema$GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserResponse { + /** + * Output only. The moved third party profile user. + */ + thirdPartyProfileUser?: Schema$GoogleChromeManagementVersionsV1ThirdPartyProfileUser; + } /** * Reporting data of a Chrome browser profile. */ @@ -2750,6 +2768,19 @@ export namespace chromemanagement_v1 { */ certificateProvisioningProcess?: Schema$GoogleChromeManagementVersionsV1CertificateProvisioningProcess; } + /** + * A representation of non-Google (third party) user that is associated with a managed Chrome profile. + */ + export interface Schema$GoogleChromeManagementVersionsV1ThirdPartyProfileUser { + /** + * Identifier. Format: customers/{customer_id\}/thirdPartyProfileUsers/{third_party_profile_user_id\} + */ + name?: string | null; + /** + * Output only. The ID of the organizational unit assigned to the user. + */ + orgUnitId?: 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); \} */ @@ -2795,12 +2826,15 @@ export namespace chromemanagement_v1 { profiles: Resource$Customers$Profiles; reports: Resource$Customers$Reports; telemetry: Resource$Customers$Telemetry; + thirdPartyProfileUsers: Resource$Customers$Thirdpartyprofileusers; constructor(context: APIRequestContext) { this.context = context; this.apps = new Resource$Customers$Apps(this.context); this.profiles = new Resource$Customers$Profiles(this.context); this.reports = new Resource$Customers$Reports(this.context); this.telemetry = new Resource$Customers$Telemetry(this.context); + this.thirdPartyProfileUsers = + new Resource$Customers$Thirdpartyprofileusers(this.context); } } @@ -8397,4 +8431,177 @@ export namespace chromemanagement_v1 { */ readMask?: string; } + + export class Resource$Customers$Thirdpartyprofileusers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Moves a third party chrome profile user to a destination OU. All profiles associated to that user will be moved to the destination OU. + * @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.profiles'], + * }); + * + * // Acquire an 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.thirdPartyProfileUsers.move({ + * // Required. Format: customers/{customer_id\}/thirdPartyProfileUsers/{third_party_profile_user_id\} + * name: 'customers/my-customer/thirdPartyProfileUsers/my-thirdPartyProfileUser', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "destinationOrgUnit": "my_destinationOrgUnit" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "thirdPartyProfileUser": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Customers$Thirdpartyprofileusers$Move, + options: StreamMethodOptions + ): Promise>; + move( + params?: Params$Resource$Customers$Thirdpartyprofileusers$Move, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + move( + params: Params$Resource$Customers$Thirdpartyprofileusers$Move, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + move( + params: Params$Resource$Customers$Thirdpartyprofileusers$Move, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + move( + params: Params$Resource$Customers$Thirdpartyprofileusers$Move, + callback: BodyResponseCallback + ): void; + move( + callback: BodyResponseCallback + ): void; + move( + paramsOrCallback?: + | Params$Resource$Customers$Thirdpartyprofileusers$Move + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Thirdpartyprofileusers$Move; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Thirdpartyprofileusers$Move; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:move').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$Customers$Thirdpartyprofileusers$Move + extends StandardParameters { + /** + * Required. Format: customers/{customer_id\}/thirdPartyProfileUsers/{third_party_profile_user_id\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleChromeManagementVersionsV1MoveThirdPartyProfileUserRequest; + } } From 2ed182f6c78fdf1f4df2acd920f73cf35c3ed997 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:34 +0000 Subject: [PATCH 09/37] feat(compute)!: update the API BREAKING CHANGE: This release has breaking changes. #### compute:alpha The following keys were deleted: - schemas.CompositeHealthChecksScopedList.properties.resources.description - schemas.CompositeHealthChecksScopedList.properties.resources.items.$ref - schemas.CompositeHealthChecksScopedList.properties.resources.type - schemas.HealthSourcesScopedList.properties.resources.description - schemas.HealthSourcesScopedList.properties.resources.items.$ref - schemas.HealthSourcesScopedList.properties.resources.type - schemas.MultiMig.properties.selfLinkWithId.description - schemas.MultiMig.properties.selfLinkWithId.type - schemas.MultiMigMember.properties.description.description - schemas.MultiMigMember.properties.description.type - schemas.MultiMigMember.properties.selfLinkWithId.description - schemas.MultiMigMember.properties.selfLinkWithId.type - schemas.MultiMigsList.properties.etag.type - schemas.MultiMigsList.properties.unreachables.description - schemas.MultiMigsList.properties.unreachables.items.type - schemas.MultiMigsList.properties.unreachables.type - schemas.PreviewFeatureRolloutOperation.properties.rolloutStatus.$ref - schemas.PreviewFeatureRolloutOperation.properties.rolloutStatus.readOnly - schemas.PreviewFeatureRolloutOperationRolloutInput.properties.retryUuid.description - schemas.PreviewFeatureRolloutOperationRolloutInput.properties.retryUuid.type - schemas.PreviewFeatureRolloutOperationRolloutStatus.id - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.ongoingRollouts.description - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.ongoingRollouts.items.$ref - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.ongoingRollouts.readOnly - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.ongoingRollouts.type - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.previousRollout.$ref - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.previousRollout.description - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.previousRollout.readOnly - schemas.PreviewFeatureRolloutOperationRolloutStatus.type - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.id - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.rollout.description - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.rollout.type - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.rolloutPlan.description - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.rolloutPlan.type - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.status.$ref - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.status.description - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.type - schemas.Route.properties.tags.annotations.required The following keys were added: - resources.disks.methods.delete.parameters.disk.pattern - resources.firewallPolicies.methods.forceStartProgressiveRollout.description - resources.firewallPolicies.methods.forceStartProgressiveRollout.flatPath - resources.firewallPolicies.methods.forceStartProgressiveRollout.httpMethod - resources.firewallPolicies.methods.forceStartProgressiveRollout.id - resources.firewallPolicies.methods.forceStartProgressiveRollout.parameterOrder - resources.firewallPolicies.methods.forceStartProgressiveRollout.parameters.firewallPolicy.description - resources.firewallPolicies.methods.forceStartProgressiveRollout.parameters.firewallPolicy.location - resources.firewallPolicies.methods.forceStartProgressiveRollout.parameters.firewallPolicy.pattern - resources.firewallPolicies.methods.forceStartProgressiveRollout.parameters.firewallPolicy.required - resources.firewallPolicies.methods.forceStartProgressiveRollout.parameters.firewallPolicy.type - resources.firewallPolicies.methods.forceStartProgressiveRollout.path - resources.firewallPolicies.methods.forceStartProgressiveRollout.response.$ref - resources.firewallPolicies.methods.forceStartProgressiveRollout.scopes - resources.haControllers.methods.failover.description - resources.haControllers.methods.failover.flatPath - resources.haControllers.methods.failover.httpMethod - resources.haControllers.methods.failover.id - resources.haControllers.methods.failover.parameterOrder - resources.haControllers.methods.failover.parameters.haController.description - resources.haControllers.methods.failover.parameters.haController.location - resources.haControllers.methods.failover.parameters.haController.pattern - resources.haControllers.methods.failover.parameters.haController.required - resources.haControllers.methods.failover.parameters.haController.type - resources.haControllers.methods.failover.parameters.project.description - resources.haControllers.methods.failover.parameters.project.location - resources.haControllers.methods.failover.parameters.project.pattern - resources.haControllers.methods.failover.parameters.project.required - resources.haControllers.methods.failover.parameters.project.type - resources.haControllers.methods.failover.parameters.region.description - resources.haControllers.methods.failover.parameters.region.location - resources.haControllers.methods.failover.parameters.region.pattern - resources.haControllers.methods.failover.parameters.region.required - resources.haControllers.methods.failover.parameters.region.type - resources.haControllers.methods.failover.parameters.requestId.description - resources.haControllers.methods.failover.parameters.requestId.location - resources.haControllers.methods.failover.parameters.requestId.type - resources.haControllers.methods.failover.path - resources.haControllers.methods.failover.request.$ref - resources.haControllers.methods.failover.response.$ref - resources.haControllers.methods.failover.scopes - resources.regionDisks.methods.delete.parameters.disk.pattern - resources.zoneVmExtensionPolicies.methods.delete.description - resources.zoneVmExtensionPolicies.methods.delete.flatPath - resources.zoneVmExtensionPolicies.methods.delete.httpMethod - resources.zoneVmExtensionPolicies.methods.delete.id - resources.zoneVmExtensionPolicies.methods.delete.parameterOrder - resources.zoneVmExtensionPolicies.methods.delete.parameters.project.description - resources.zoneVmExtensionPolicies.methods.delete.parameters.project.location - resources.zoneVmExtensionPolicies.methods.delete.parameters.project.pattern - resources.zoneVmExtensionPolicies.methods.delete.parameters.project.required - resources.zoneVmExtensionPolicies.methods.delete.parameters.project.type - resources.zoneVmExtensionPolicies.methods.delete.parameters.requestId.description - resources.zoneVmExtensionPolicies.methods.delete.parameters.requestId.location - resources.zoneVmExtensionPolicies.methods.delete.parameters.requestId.type - resources.zoneVmExtensionPolicies.methods.delete.parameters.vmExtensionPolicy.description - resources.zoneVmExtensionPolicies.methods.delete.parameters.vmExtensionPolicy.location - resources.zoneVmExtensionPolicies.methods.delete.parameters.vmExtensionPolicy.required - resources.zoneVmExtensionPolicies.methods.delete.parameters.vmExtensionPolicy.type - resources.zoneVmExtensionPolicies.methods.delete.parameters.zone.description - resources.zoneVmExtensionPolicies.methods.delete.parameters.zone.location - resources.zoneVmExtensionPolicies.methods.delete.parameters.zone.pattern - resources.zoneVmExtensionPolicies.methods.delete.parameters.zone.required - resources.zoneVmExtensionPolicies.methods.delete.parameters.zone.type - resources.zoneVmExtensionPolicies.methods.delete.path - resources.zoneVmExtensionPolicies.methods.delete.response.$ref - resources.zoneVmExtensionPolicies.methods.delete.scopes - resources.zoneVmExtensionPolicies.methods.get.description - resources.zoneVmExtensionPolicies.methods.get.flatPath - resources.zoneVmExtensionPolicies.methods.get.httpMethod - resources.zoneVmExtensionPolicies.methods.get.id - resources.zoneVmExtensionPolicies.methods.get.parameterOrder - resources.zoneVmExtensionPolicies.methods.get.parameters.project.description - resources.zoneVmExtensionPolicies.methods.get.parameters.project.location - resources.zoneVmExtensionPolicies.methods.get.parameters.project.pattern - resources.zoneVmExtensionPolicies.methods.get.parameters.project.required - resources.zoneVmExtensionPolicies.methods.get.parameters.project.type - resources.zoneVmExtensionPolicies.methods.get.parameters.vmExtensionPolicy.description - resources.zoneVmExtensionPolicies.methods.get.parameters.vmExtensionPolicy.location - resources.zoneVmExtensionPolicies.methods.get.parameters.vmExtensionPolicy.pattern - resources.zoneVmExtensionPolicies.methods.get.parameters.vmExtensionPolicy.required - resources.zoneVmExtensionPolicies.methods.get.parameters.vmExtensionPolicy.type - resources.zoneVmExtensionPolicies.methods.get.parameters.zone.description - resources.zoneVmExtensionPolicies.methods.get.parameters.zone.location - resources.zoneVmExtensionPolicies.methods.get.parameters.zone.pattern - resources.zoneVmExtensionPolicies.methods.get.parameters.zone.required - resources.zoneVmExtensionPolicies.methods.get.parameters.zone.type - resources.zoneVmExtensionPolicies.methods.get.path - resources.zoneVmExtensionPolicies.methods.get.response.$ref - resources.zoneVmExtensionPolicies.methods.get.scopes - resources.zoneVmExtensionPolicies.methods.insert.description - resources.zoneVmExtensionPolicies.methods.insert.flatPath - resources.zoneVmExtensionPolicies.methods.insert.httpMethod - resources.zoneVmExtensionPolicies.methods.insert.id - resources.zoneVmExtensionPolicies.methods.insert.parameterOrder - resources.zoneVmExtensionPolicies.methods.insert.parameters.project.description - resources.zoneVmExtensionPolicies.methods.insert.parameters.project.location - resources.zoneVmExtensionPolicies.methods.insert.parameters.project.pattern - resources.zoneVmExtensionPolicies.methods.insert.parameters.project.required - resources.zoneVmExtensionPolicies.methods.insert.parameters.project.type - resources.zoneVmExtensionPolicies.methods.insert.parameters.requestId.description - resources.zoneVmExtensionPolicies.methods.insert.parameters.requestId.location - resources.zoneVmExtensionPolicies.methods.insert.parameters.requestId.type - resources.zoneVmExtensionPolicies.methods.insert.parameters.zone.description - resources.zoneVmExtensionPolicies.methods.insert.parameters.zone.location - resources.zoneVmExtensionPolicies.methods.insert.parameters.zone.pattern - resources.zoneVmExtensionPolicies.methods.insert.parameters.zone.required - resources.zoneVmExtensionPolicies.methods.insert.parameters.zone.type - resources.zoneVmExtensionPolicies.methods.insert.path - resources.zoneVmExtensionPolicies.methods.insert.request.$ref - resources.zoneVmExtensionPolicies.methods.insert.response.$ref - resources.zoneVmExtensionPolicies.methods.insert.scopes - resources.zoneVmExtensionPolicies.methods.list.description - resources.zoneVmExtensionPolicies.methods.list.flatPath - resources.zoneVmExtensionPolicies.methods.list.httpMethod - resources.zoneVmExtensionPolicies.methods.list.id - resources.zoneVmExtensionPolicies.methods.list.parameterOrder - resources.zoneVmExtensionPolicies.methods.list.parameters.filter.description - resources.zoneVmExtensionPolicies.methods.list.parameters.filter.location - resources.zoneVmExtensionPolicies.methods.list.parameters.filter.type - resources.zoneVmExtensionPolicies.methods.list.parameters.maxResults.default - resources.zoneVmExtensionPolicies.methods.list.parameters.maxResults.description - resources.zoneVmExtensionPolicies.methods.list.parameters.maxResults.format - resources.zoneVmExtensionPolicies.methods.list.parameters.maxResults.location - resources.zoneVmExtensionPolicies.methods.list.parameters.maxResults.minimum - resources.zoneVmExtensionPolicies.methods.list.parameters.maxResults.type - resources.zoneVmExtensionPolicies.methods.list.parameters.orderBy.description - resources.zoneVmExtensionPolicies.methods.list.parameters.orderBy.location - resources.zoneVmExtensionPolicies.methods.list.parameters.orderBy.type - resources.zoneVmExtensionPolicies.methods.list.parameters.pageToken.description - resources.zoneVmExtensionPolicies.methods.list.parameters.pageToken.location - resources.zoneVmExtensionPolicies.methods.list.parameters.pageToken.type - resources.zoneVmExtensionPolicies.methods.list.parameters.project.description - resources.zoneVmExtensionPolicies.methods.list.parameters.project.location - resources.zoneVmExtensionPolicies.methods.list.parameters.project.pattern - resources.zoneVmExtensionPolicies.methods.list.parameters.project.required - resources.zoneVmExtensionPolicies.methods.list.parameters.project.type - resources.zoneVmExtensionPolicies.methods.list.parameters.returnPartialSuccess.description - resources.zoneVmExtensionPolicies.methods.list.parameters.returnPartialSuccess.location - resources.zoneVmExtensionPolicies.methods.list.parameters.returnPartialSuccess.type - resources.zoneVmExtensionPolicies.methods.list.parameters.zone.description - resources.zoneVmExtensionPolicies.methods.list.parameters.zone.location - resources.zoneVmExtensionPolicies.methods.list.parameters.zone.pattern - resources.zoneVmExtensionPolicies.methods.list.parameters.zone.required - resources.zoneVmExtensionPolicies.methods.list.parameters.zone.type - resources.zoneVmExtensionPolicies.methods.list.path - resources.zoneVmExtensionPolicies.methods.list.response.$ref - resources.zoneVmExtensionPolicies.methods.list.scopes - resources.zoneVmExtensionPolicies.methods.update.description - resources.zoneVmExtensionPolicies.methods.update.flatPath - resources.zoneVmExtensionPolicies.methods.update.httpMethod - resources.zoneVmExtensionPolicies.methods.update.id - resources.zoneVmExtensionPolicies.methods.update.parameterOrder - resources.zoneVmExtensionPolicies.methods.update.parameters.project.description - resources.zoneVmExtensionPolicies.methods.update.parameters.project.location - resources.zoneVmExtensionPolicies.methods.update.parameters.project.pattern - resources.zoneVmExtensionPolicies.methods.update.parameters.project.required - resources.zoneVmExtensionPolicies.methods.update.parameters.project.type - resources.zoneVmExtensionPolicies.methods.update.parameters.requestId.description - resources.zoneVmExtensionPolicies.methods.update.parameters.requestId.location - resources.zoneVmExtensionPolicies.methods.update.parameters.requestId.type - resources.zoneVmExtensionPolicies.methods.update.parameters.vmExtensionPolicy.description - resources.zoneVmExtensionPolicies.methods.update.parameters.vmExtensionPolicy.location - resources.zoneVmExtensionPolicies.methods.update.parameters.vmExtensionPolicy.required - resources.zoneVmExtensionPolicies.methods.update.parameters.vmExtensionPolicy.type - resources.zoneVmExtensionPolicies.methods.update.parameters.zone.description - resources.zoneVmExtensionPolicies.methods.update.parameters.zone.location - resources.zoneVmExtensionPolicies.methods.update.parameters.zone.pattern - resources.zoneVmExtensionPolicies.methods.update.parameters.zone.required - resources.zoneVmExtensionPolicies.methods.update.parameters.zone.type - resources.zoneVmExtensionPolicies.methods.update.path - resources.zoneVmExtensionPolicies.methods.update.request.$ref - resources.zoneVmExtensionPolicies.methods.update.response.$ref - resources.zoneVmExtensionPolicies.methods.update.scopes - schemas.BackendBucket.properties.params.$ref - schemas.BackendBucket.properties.params.description - schemas.BackendBucketParams.description - schemas.BackendBucketParams.id - schemas.BackendBucketParams.properties.resourceManagerTags.additionalProperties.type - schemas.BackendBucketParams.properties.resourceManagerTags.description - schemas.BackendBucketParams.properties.resourceManagerTags.type - schemas.BackendBucketParams.type - schemas.BackendService.properties.allowMultinetwork.description - schemas.BackendService.properties.allowMultinetwork.type - schemas.BackendService.properties.params.$ref - schemas.BackendService.properties.params.description - schemas.BackendServiceParams.description - schemas.BackendServiceParams.id - schemas.BackendServiceParams.properties.resourceManagerTags.additionalProperties.type - schemas.BackendServiceParams.properties.resourceManagerTags.description - schemas.BackendServiceParams.properties.resourceManagerTags.type - schemas.BackendServiceParams.type - schemas.BgpRouteAsPath.properties.asns32.description - schemas.BgpRouteAsPath.properties.asns32.items.format - schemas.BgpRouteAsPath.properties.asns32.items.type - schemas.BgpRouteAsPath.properties.asns32.type - schemas.CompositeHealthChecksScopedList.properties.compositeHealthChecks.description - schemas.CompositeHealthChecksScopedList.properties.compositeHealthChecks.items.$ref - schemas.CompositeHealthChecksScopedList.properties.compositeHealthChecks.type - schemas.ForwardingRule.properties.allowPscPacketInjection.deprecated - schemas.ForwardingRule.properties.trafficDisabled.description - schemas.ForwardingRule.properties.trafficDisabled.type - schemas.HaControllersFailoverRequest.id - schemas.HaControllersFailoverRequest.properties.primaryZone.description - schemas.HaControllersFailoverRequest.properties.primaryZone.pattern - schemas.HaControllersFailoverRequest.properties.primaryZone.type - schemas.HaControllersFailoverRequest.type - schemas.HealthSourcesScopedList.properties.healthSources.description - schemas.HealthSourcesScopedList.properties.healthSources.items.$ref - schemas.HealthSourcesScopedList.properties.healthSources.type - schemas.InstanceFlexibilityPolicyInstanceSelection.properties.disks.description - schemas.InstanceFlexibilityPolicyInstanceSelection.properties.disks.items.$ref - schemas.InstanceFlexibilityPolicyInstanceSelection.properties.disks.type - schemas.PreviewFeatureRolloutOperation.properties.rolloutInput.description - schemas.PreviewFeatureRolloutOperationRolloutInput.description - schemas.PreviewFeatureStatusReleaseStatus.description - schemas.PublicDelegatedPrefix.properties.purpose.description - schemas.PublicDelegatedPrefix.properties.purpose.enum - schemas.PublicDelegatedPrefix.properties.purpose.enumDescriptions - schemas.PublicDelegatedPrefix.properties.purpose.type - schemas.PublicDelegatedPrefixPublicDelegatedSubPrefix.properties.purpose.description - schemas.PublicDelegatedPrefixPublicDelegatedSubPrefix.properties.purpose.enum - schemas.PublicDelegatedPrefixPublicDelegatedSubPrefix.properties.purpose.enumDescriptions - schemas.PublicDelegatedPrefixPublicDelegatedSubPrefix.properties.purpose.type - schemas.Reservation.properties.advancedDeploymentControl.$ref - schemas.Reservation.properties.advancedDeploymentControl.description - schemas.ReservationAdvancedDeploymentControl.description - schemas.ReservationAdvancedDeploymentControl.id - schemas.ReservationAdvancedDeploymentControl.properties.reservationOperationalMode.description - schemas.ReservationAdvancedDeploymentControl.properties.reservationOperationalMode.enum - schemas.ReservationAdvancedDeploymentControl.properties.reservationOperationalMode.enumDescriptions - schemas.ReservationAdvancedDeploymentControl.properties.reservationOperationalMode.type - schemas.ReservationAdvancedDeploymentControl.type - schemas.ServiceAttachment.properties.metadata.additionalProperties.type - schemas.ServiceAttachment.properties.metadata.description - schemas.ServiceAttachment.properties.metadata.type - schemas.StoragePool.properties.exapoolProvisionedCapacityGb.$ref - schemas.StoragePool.properties.exapoolProvisionedCapacityGb.description - schemas.StoragePoolExapoolProvisionedCapacityGb.description - schemas.StoragePoolExapoolProvisionedCapacityGb.id - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.capacityOptimized.description - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.capacityOptimized.format - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.capacityOptimized.type - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.readOptimized.description - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.readOptimized.format - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.readOptimized.type - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.writeOptimized.description - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.writeOptimized.format - schemas.StoragePoolExapoolProvisionedCapacityGb.properties.writeOptimized.type - schemas.StoragePoolExapoolProvisionedCapacityGb.type - schemas.StoragePoolResourceStatus.properties.exapoolMaxReadIops.description - schemas.StoragePoolResourceStatus.properties.exapoolMaxReadIops.format - schemas.StoragePoolResourceStatus.properties.exapoolMaxReadIops.type - schemas.StoragePoolResourceStatus.properties.exapoolMaxReadThroughput.description - schemas.StoragePoolResourceStatus.properties.exapoolMaxReadThroughput.format - schemas.StoragePoolResourceStatus.properties.exapoolMaxReadThroughput.type - schemas.StoragePoolResourceStatus.properties.exapoolMaxWriteIops.description - schemas.StoragePoolResourceStatus.properties.exapoolMaxWriteIops.format - schemas.StoragePoolResourceStatus.properties.exapoolMaxWriteIops.type - schemas.StoragePoolResourceStatus.properties.exapoolMaxWriteThroughput.description - schemas.StoragePoolResourceStatus.properties.exapoolMaxWriteThroughput.format - schemas.StoragePoolResourceStatus.properties.exapoolMaxWriteThroughput.type - schemas.Subnetwork.properties.resolveSubnetMask.description - schemas.Subnetwork.properties.resolveSubnetMask.enum - schemas.Subnetwork.properties.resolveSubnetMask.enumDescriptions - schemas.Subnetwork.properties.resolveSubnetMask.type - schemas.VmExtensionPolicy.description - schemas.VmExtensionPolicy.id - schemas.VmExtensionPolicy.properties.creationTimestamp.description - schemas.VmExtensionPolicy.properties.creationTimestamp.type - schemas.VmExtensionPolicy.properties.description.description - schemas.VmExtensionPolicy.properties.description.type - schemas.VmExtensionPolicy.properties.extensionPolicies.additionalProperties.$ref - schemas.VmExtensionPolicy.properties.extensionPolicies.description - schemas.VmExtensionPolicy.properties.extensionPolicies.type - schemas.VmExtensionPolicy.properties.globalResourceLink.description - schemas.VmExtensionPolicy.properties.globalResourceLink.type - schemas.VmExtensionPolicy.properties.id.description - schemas.VmExtensionPolicy.properties.id.format - schemas.VmExtensionPolicy.properties.id.type - schemas.VmExtensionPolicy.properties.instanceSelectors.description - schemas.VmExtensionPolicy.properties.instanceSelectors.items.$ref - schemas.VmExtensionPolicy.properties.instanceSelectors.type - schemas.VmExtensionPolicy.properties.kind.default - schemas.VmExtensionPolicy.properties.kind.description - schemas.VmExtensionPolicy.properties.kind.type - schemas.VmExtensionPolicy.properties.managedByGlobal.description - schemas.VmExtensionPolicy.properties.managedByGlobal.type - schemas.VmExtensionPolicy.properties.name.description - schemas.VmExtensionPolicy.properties.name.pattern - schemas.VmExtensionPolicy.properties.name.type - schemas.VmExtensionPolicy.properties.priority.description - schemas.VmExtensionPolicy.properties.priority.format - schemas.VmExtensionPolicy.properties.priority.type - schemas.VmExtensionPolicy.properties.selfLink.description - schemas.VmExtensionPolicy.properties.selfLink.type - schemas.VmExtensionPolicy.properties.selfLinkWithId.description - schemas.VmExtensionPolicy.properties.selfLinkWithId.type - schemas.VmExtensionPolicy.properties.state.description - schemas.VmExtensionPolicy.properties.state.enum - schemas.VmExtensionPolicy.properties.state.enumDescriptions - schemas.VmExtensionPolicy.properties.state.type - schemas.VmExtensionPolicy.properties.updateTimestamp.description - schemas.VmExtensionPolicy.properties.updateTimestamp.type - schemas.VmExtensionPolicy.type - schemas.VmExtensionPolicyExtensionPolicy.description - schemas.VmExtensionPolicyExtensionPolicy.id - schemas.VmExtensionPolicyExtensionPolicy.properties.pinnedVersion.description - schemas.VmExtensionPolicyExtensionPolicy.properties.pinnedVersion.type - schemas.VmExtensionPolicyExtensionPolicy.properties.stringConfig.description - schemas.VmExtensionPolicyExtensionPolicy.properties.stringConfig.type - schemas.VmExtensionPolicyExtensionPolicy.type - schemas.VmExtensionPolicyInstanceSelector.description - schemas.VmExtensionPolicyInstanceSelector.id - schemas.VmExtensionPolicyInstanceSelector.properties.labelSelector.$ref - schemas.VmExtensionPolicyInstanceSelector.properties.labelSelector.description - schemas.VmExtensionPolicyInstanceSelector.type - schemas.VmExtensionPolicyLabelSelector.description - schemas.VmExtensionPolicyLabelSelector.id - schemas.VmExtensionPolicyLabelSelector.properties.inclusionLabels.additionalProperties.type - schemas.VmExtensionPolicyLabelSelector.properties.inclusionLabels.description - schemas.VmExtensionPolicyLabelSelector.properties.inclusionLabels.type - schemas.VmExtensionPolicyLabelSelector.type - schemas.VmExtensionPolicyList.id - schemas.VmExtensionPolicyList.properties.etag.description - schemas.VmExtensionPolicyList.properties.etag.type - schemas.VmExtensionPolicyList.properties.id.description - schemas.VmExtensionPolicyList.properties.id.type - schemas.VmExtensionPolicyList.properties.items.description - schemas.VmExtensionPolicyList.properties.items.items.$ref - schemas.VmExtensionPolicyList.properties.items.type - schemas.VmExtensionPolicyList.properties.kind.default - schemas.VmExtensionPolicyList.properties.kind.description - schemas.VmExtensionPolicyList.properties.kind.type - schemas.VmExtensionPolicyList.properties.nextPageToken.description - schemas.VmExtensionPolicyList.properties.nextPageToken.type - schemas.VmExtensionPolicyList.properties.selfLink.description - schemas.VmExtensionPolicyList.properties.selfLink.type - schemas.VmExtensionPolicyList.properties.unreachables.description - schemas.VmExtensionPolicyList.properties.unreachables.items.type - schemas.VmExtensionPolicyList.properties.unreachables.type - schemas.VmExtensionPolicyList.properties.warning.description - schemas.VmExtensionPolicyList.properties.warning.properties.code.description - schemas.VmExtensionPolicyList.properties.warning.properties.code.enum - schemas.VmExtensionPolicyList.properties.warning.properties.code.enumDeprecated - schemas.VmExtensionPolicyList.properties.warning.properties.code.enumDescriptions - schemas.VmExtensionPolicyList.properties.warning.properties.code.type - schemas.VmExtensionPolicyList.properties.warning.properties.data.description - schemas.VmExtensionPolicyList.properties.warning.properties.data.items.properties.key.description - schemas.VmExtensionPolicyList.properties.warning.properties.data.items.properties.key.type - schemas.VmExtensionPolicyList.properties.warning.properties.data.items.properties.value.description - schemas.VmExtensionPolicyList.properties.warning.properties.data.items.properties.value.type - schemas.VmExtensionPolicyList.properties.warning.properties.data.items.type - schemas.VmExtensionPolicyList.properties.warning.properties.data.type - schemas.VmExtensionPolicyList.properties.warning.properties.message.description - schemas.VmExtensionPolicyList.properties.warning.properties.message.type - schemas.VmExtensionPolicyList.properties.warning.type - schemas.VmExtensionPolicyList.type The following keys were changed: - resources.globalOrganizationOperations.methods.get.parameters.operation.description - resources.globalOrganizationOperations.methods.get.parameters.parentId.description - resources.images.methods.insert.scopes - resources.recoverableSnapshots.methods.recover.parameters.snapshotName.description - schemas.Address.properties.purpose.enum - schemas.Address.properties.purpose.enumDescriptions - schemas.BackendCustomMetric.properties.name.description - schemas.BackendService.properties.loadBalancingScheme.enum - schemas.BackendService.properties.loadBalancingScheme.enumDescriptions - schemas.BackendService.properties.localityLbPolicy.description - schemas.BackendService.properties.localityLbPolicy.enumDescriptions - schemas.BackendServiceCustomMetric.properties.name.description - schemas.BackendServiceLocalityLoadBalancingPolicyConfigPolicy.properties.name.enumDescriptions - schemas.Commitment.properties.plan.enum - schemas.Commitment.properties.plan.enumDescriptions - schemas.ForwardingRule.properties.allowPscPacketInjection.description - schemas.ForwardingRule.properties.loadBalancingScheme.enum - schemas.ForwardingRule.properties.loadBalancingScheme.enumDescriptions - schemas.FutureReservationCommitmentInfo.properties.commitmentPlan.enum - schemas.FutureReservationCommitmentInfo.properties.commitmentPlan.enumDescriptions - schemas.InstanceParams.properties.requestValidForDuration.description - schemas.InterconnectAttachment.properties.bandwidth.enum - schemas.InterconnectAttachment.properties.bandwidth.enumDescriptions - schemas.InterconnectAttachmentGroupsCreateMembersInterconnectAttachmentInput.properties.bandwidth.enum - schemas.InterconnectAttachmentGroupsCreateMembersInterconnectAttachmentInput.properties.bandwidth.enumDescriptions - schemas.NetworkProfileNetworkFeatures.properties.addressPurposes.items.enum - schemas.NetworkProfileNetworkFeatures.properties.addressPurposes.items.enumDescriptions - schemas.PreviewFeatureStatusReleaseStatus.properties.stage.enum - schemas.PreviewFeatureStatusReleaseStatus.properties.stage.enumDescriptions - schemas.Quota.properties.metric.enum - schemas.Quota.properties.metric.enumDescriptions - schemas.ResourceStatusLastInstanceTerminationDetails.properties.terminationReason.enum - schemas.ResourceStatusLastInstanceTerminationDetails.properties.terminationReason.enumDescriptions - schemas.SecurityPolicyRuleRedirectOptions.properties.type.description - schemas.ServiceAttachment.properties.consumerAcceptLists.description - schemas.ServiceAttachmentConsumerProjectLimit.properties.connectionLimit.description - schemas.StoragePool.properties.poolProvisionedCapacityGb.description - schemas.StoragePool.properties.poolProvisionedThroughput.description - schemas.StoragePoolResourceStatus.properties.maxTotalProvisionedDiskCapacityGb.description - schemas.StoragePoolResourceStatus.properties.poolUsedThroughput.description - schemas.StoragePoolResourceStatus.properties.totalProvisionedDiskCapacityGb.description - schemas.StoragePoolResourceStatus.properties.totalProvisionedDiskThroughput.description - schemas.UpcomingMaintenance.properties.maintenanceReasons.items.enum - schemas.UpcomingMaintenance.properties.maintenanceReasons.items.enumDescriptions - schemas.UpcomingMaintenance.properties.type.enum - schemas.UpcomingMaintenance.properties.type.enumDescriptions #### compute:beta The following keys were deleted: - schemas.MultiMigsList.properties.etag.type - schemas.MultiMigsList.properties.unreachables.description - schemas.MultiMigsList.properties.unreachables.items.type - schemas.MultiMigsList.properties.unreachables.type - schemas.PreviewFeatureRolloutOperation.properties.rolloutStatus.$ref - schemas.PreviewFeatureRolloutOperation.properties.rolloutStatus.readOnly - schemas.PreviewFeatureRolloutOperationRolloutInput.properties.retryUuid.description - schemas.PreviewFeatureRolloutOperationRolloutInput.properties.retryUuid.type - schemas.PreviewFeatureRolloutOperationRolloutStatus.id - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.ongoingRollouts.description - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.ongoingRollouts.items.$ref - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.ongoingRollouts.readOnly - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.ongoingRollouts.type - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.previousRollout.$ref - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.previousRollout.description - schemas.PreviewFeatureRolloutOperationRolloutStatus.properties.previousRollout.readOnly - schemas.PreviewFeatureRolloutOperationRolloutStatus.type - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.id - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.rollout.description - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.rollout.type - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.rolloutPlan.description - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.rolloutPlan.type - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.status.$ref - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.properties.status.description - schemas.PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata.type - schemas.Route.properties.tags.annotations.required The following keys were added: - resources.disks.methods.delete.parameters.disk.pattern - resources.regionDisks.methods.delete.parameters.disk.pattern - resources.subnetworks.methods.get.parameters.views.description - resources.subnetworks.methods.get.parameters.views.enum - resources.subnetworks.methods.get.parameters.views.enumDescriptions - resources.subnetworks.methods.get.parameters.views.location - resources.subnetworks.methods.get.parameters.views.repeated - resources.subnetworks.methods.get.parameters.views.type - resources.subnetworks.methods.list.parameters.views.description - resources.subnetworks.methods.list.parameters.views.enum - resources.subnetworks.methods.list.parameters.views.enumDescriptions - resources.subnetworks.methods.list.parameters.views.location - resources.subnetworks.methods.list.parameters.views.repeated - resources.subnetworks.methods.list.parameters.views.type - schemas.BackendBucket.properties.params.$ref - schemas.BackendBucket.properties.params.description - schemas.BackendBucketParams.description - schemas.BackendBucketParams.id - schemas.BackendBucketParams.properties.resourceManagerTags.additionalProperties.type - schemas.BackendBucketParams.properties.resourceManagerTags.description - schemas.BackendBucketParams.properties.resourceManagerTags.type - schemas.BackendBucketParams.type - schemas.BackendService.properties.params.$ref - schemas.BackendService.properties.params.description - schemas.BackendServiceParams.description - schemas.BackendServiceParams.id - schemas.BackendServiceParams.properties.resourceManagerTags.additionalProperties.type - schemas.BackendServiceParams.properties.resourceManagerTags.description - schemas.BackendServiceParams.properties.resourceManagerTags.type - schemas.BackendServiceParams.type - schemas.ForwardingRule.properties.allowPscPacketInjection.deprecated - schemas.PreviewFeatureRolloutOperation.properties.rolloutInput.description - schemas.PreviewFeatureRolloutOperationRolloutInput.description - schemas.PreviewFeatureStatus.properties.helpLink.description - schemas.PreviewFeatureStatus.properties.helpLink.type - schemas.PreviewFeatureStatusReleaseStatus.description - schemas.Reservation.properties.protectionTier.description - schemas.Reservation.properties.protectionTier.enum - schemas.Reservation.properties.protectionTier.enumDescriptions - schemas.Reservation.properties.protectionTier.type - schemas.ServiceAttachment.properties.metadata.additionalProperties.type - schemas.ServiceAttachment.properties.metadata.description - schemas.ServiceAttachment.properties.metadata.type - schemas.Subnetwork.properties.resolveSubnetMask.description - schemas.Subnetwork.properties.resolveSubnetMask.enum - schemas.Subnetwork.properties.resolveSubnetMask.enumDescriptions - schemas.Subnetwork.properties.resolveSubnetMask.type - schemas.Subnetwork.properties.utilizationDetails.$ref - schemas.Subnetwork.properties.utilizationDetails.description - schemas.Subnetwork.properties.utilizationDetails.readOnly - schemas.SubnetworkUtilizationDetails.description - schemas.SubnetworkUtilizationDetails.id - schemas.SubnetworkUtilizationDetails.properties.externalIpv6InstanceUtilization.$ref - schemas.SubnetworkUtilizationDetails.properties.externalIpv6InstanceUtilization.description - schemas.SubnetworkUtilizationDetails.properties.externalIpv6LbUtilization.$ref - schemas.SubnetworkUtilizationDetails.properties.externalIpv6LbUtilization.description - schemas.SubnetworkUtilizationDetails.properties.internalIpv6Utilization.$ref - schemas.SubnetworkUtilizationDetails.properties.internalIpv6Utilization.description - schemas.SubnetworkUtilizationDetails.properties.ipv4Utilizations.description - schemas.SubnetworkUtilizationDetails.properties.ipv4Utilizations.items.$ref - schemas.SubnetworkUtilizationDetails.properties.ipv4Utilizations.type - schemas.SubnetworkUtilizationDetails.type - schemas.SubnetworkUtilizationDetailsIPV4Utilization.description - schemas.SubnetworkUtilizationDetailsIPV4Utilization.id - schemas.SubnetworkUtilizationDetailsIPV4Utilization.properties.rangeName.description - schemas.SubnetworkUtilizationDetailsIPV4Utilization.properties.rangeName.type - schemas.SubnetworkUtilizationDetailsIPV4Utilization.properties.totalAllocatedIp.format - schemas.SubnetworkUtilizationDetailsIPV4Utilization.properties.totalAllocatedIp.type - schemas.SubnetworkUtilizationDetailsIPV4Utilization.properties.totalFreeIp.format - schemas.SubnetworkUtilizationDetailsIPV4Utilization.properties.totalFreeIp.type - schemas.SubnetworkUtilizationDetailsIPV4Utilization.type - schemas.SubnetworkUtilizationDetailsIPV6Utilization.description - schemas.SubnetworkUtilizationDetailsIPV6Utilization.id - schemas.SubnetworkUtilizationDetailsIPV6Utilization.properties.totalAllocatedIp.$ref - schemas.SubnetworkUtilizationDetailsIPV6Utilization.properties.totalFreeIp.$ref - schemas.SubnetworkUtilizationDetailsIPV6Utilization.type The following keys were changed: - resources.globalOrganizationOperations.methods.get.parameters.operation.description - resources.globalOrganizationOperations.methods.get.parameters.parentId.description - resources.images.methods.insert.scopes - schemas.BackendCustomMetric.properties.name.description - schemas.BackendService.properties.localityLbPolicy.description - schemas.BackendService.properties.localityLbPolicy.enumDescriptions - schemas.BackendServiceCustomMetric.properties.name.description - schemas.BackendServiceLocalityLoadBalancingPolicyConfigPolicy.properties.name.enumDescriptions - schemas.ForwardingRule.properties.allowPscPacketInjection.description - schemas.PreviewFeatureStatusReleaseStatus.properties.stage.enum - schemas.PreviewFeatureStatusReleaseStatus.properties.stage.enumDescriptions - schemas.SecurityPolicyRuleRedirectOptions.properties.type.description - schemas.ServiceAttachment.properties.consumerAcceptLists.description - schemas.ServiceAttachmentConsumerProjectLimit.properties.connectionLimit.description - schemas.StoragePool.properties.poolProvisionedCapacityGb.description - schemas.StoragePool.properties.poolProvisionedThroughput.description - schemas.StoragePoolResourceStatus.properties.maxTotalProvisionedDiskCapacityGb.description - schemas.StoragePoolResourceStatus.properties.poolUsedThroughput.description - schemas.StoragePoolResourceStatus.properties.totalProvisionedDiskCapacityGb.description - schemas.StoragePoolResourceStatus.properties.totalProvisionedDiskThroughput.description - schemas.UpcomingMaintenance.properties.maintenanceReasons.items.enum - schemas.UpcomingMaintenance.properties.maintenanceReasons.items.enumDescriptions - schemas.UpcomingMaintenance.properties.type.enum - schemas.UpcomingMaintenance.properties.type.enumDescriptions #### compute:v1 The following keys were deleted: - schemas.Route.properties.tags.annotations.required The following keys were added: - resources.disks.methods.delete.parameters.disk.pattern - resources.regionDisks.methods.delete.parameters.disk.pattern - resources.subnetworks.methods.listUsable.parameters.serviceProject.description - resources.subnetworks.methods.listUsable.parameters.serviceProject.location - resources.subnetworks.methods.listUsable.parameters.serviceProject.type - schemas.ServiceAttachment.properties.metadata.additionalProperties.type - schemas.ServiceAttachment.properties.metadata.description - schemas.ServiceAttachment.properties.metadata.type The following keys were changed: - resources.globalOrganizationOperations.methods.get.parameters.operation.description - resources.globalOrganizationOperations.methods.get.parameters.parentId.description - resources.images.methods.insert.scopes - schemas.BackendCustomMetric.properties.name.description - schemas.BackendService.properties.localityLbPolicy.description - schemas.BackendService.properties.localityLbPolicy.enumDescriptions - schemas.BackendServiceCustomMetric.properties.name.description - schemas.BackendServiceLocalityLoadBalancingPolicyConfigPolicy.properties.name.enumDescriptions - schemas.SecurityPolicyRuleRedirectOptions.properties.type.description - schemas.ServiceAttachment.properties.consumerAcceptLists.description - schemas.ServiceAttachmentConsumerProjectLimit.properties.connectionLimit.description - schemas.StoragePool.properties.poolProvisionedCapacityGb.description - schemas.StoragePool.properties.poolProvisionedThroughput.description - schemas.StoragePoolResourceStatus.properties.maxTotalProvisionedDiskCapacityGb.description - schemas.StoragePoolResourceStatus.properties.poolUsedThroughput.description - schemas.StoragePoolResourceStatus.properties.totalProvisionedDiskCapacityGb.description - schemas.StoragePoolResourceStatus.properties.totalProvisionedDiskThroughput.description - schemas.UpcomingMaintenance.properties.maintenanceReasons.items.enum - schemas.UpcomingMaintenance.properties.maintenanceReasons.items.enumDescriptions - schemas.UpcomingMaintenance.properties.type.enum - schemas.UpcomingMaintenance.properties.type.enumDescriptions --- discovery/compute-alpha.json | 976 ++++++++++++-- discovery/compute-beta.json | 285 +++-- discovery/compute-v1.json | 68 +- src/apis/compute/alpha.ts | 2304 +++++++++++++++++++++++++++++----- src/apis/compute/beta.ts | 213 +++- src/apis/compute/v1.ts | 52 +- 6 files changed, 3264 insertions(+), 634 deletions(-) diff --git a/discovery/compute-alpha.json b/discovery/compute-alpha.json index 71e3abaecc9..ea32609a8cd 100644 --- a/discovery/compute-alpha.json +++ b/discovery/compute-alpha.json @@ -3245,6 +3245,7 @@ "disk": { "description": "Name of the persistent disk to delete.", "location": "path", + "pattern": "\\S{1,66}", "required": true, "type": "string" }, @@ -4431,6 +4432,32 @@ "https://www.googleapis.com/auth/compute" ] }, + "forceStartProgressiveRollout": { + "description": "Starts a brand new progressive rollout of hierarchical firewall policy. This API will return an error when there is an ongoing progressive rollout.", + "flatPath": "locations/global/firewallPolicies/{firewallPoliciesId}/forceStartProgressiveRollout", + "httpMethod": "POST", + "id": "compute.firewallPolicies.forceStartProgressiveRollout", + "parameterOrder": [ + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the target firewall policy.", + "location": "path", + "pattern": "(firewallPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" + } + }, + "path": "locations/global/{+firewallPolicy}/forceStartProgressiveRollout", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "get": { "description": "Returns the specified firewall policy.", "flatPath": "locations/global/firewallPolicies/{firewallPolicy}", @@ -7341,14 +7368,14 @@ ], "parameters": { "operation": { - "description": "Name of the Operations resource to return, or its unique numeric identifier.", + "description": "Name of the Operations resource to return. Parent is derived from this field.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, "parentId": { - "description": "Parent ID for this request.", + "description": "Parent ID for this request. Not used. Parent is derived from resource_id.", "location": "query", "type": "string" } @@ -7624,6 +7651,60 @@ } } }, + "haControllers": { + "methods": { + "failover": { + "description": "Fails over a VM targeted by the specified HaController to the selected zone.", + "flatPath": "projects/{project}/regions/{region}/haControllers/{haController}/failover", + "httpMethod": "POST", + "id": "compute.haControllers.failover", + "parameterOrder": [ + "project", + "region", + "haController" + ], + "parameters": { + "haController": { + "description": "ID of the HaController resource to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/haControllers/{haController}/failover", + "request": { + "$ref": "HaControllersFailoverRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "healthChecks": { "methods": { "aggregatedList": { @@ -8834,10 +8915,7 @@ }, "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" + "https://www.googleapis.com/auth/compute" ] }, "list": { @@ -25375,7 +25453,7 @@ "type": "string" }, "snapshotName": { - "description": "Name of the snapshot after the recovery The name will be 1-63 characters long, and comply with RFC1035. 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.", + "description": "Optional. Name of the snapshot after the recovery The name will be 1-63 characters long, and comply with RFC1035. 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.", "location": "query", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" @@ -28049,6 +28127,7 @@ "disk": { "description": "Name of the regional persistent disk to delete.", "location": "path", + "pattern": "\\S{1,66}", "required": true, "type": "string" }, @@ -50349,6 +50428,253 @@ } } }, + "zoneVmExtensionPolicies": { + "methods": { + "delete": { + "description": "Deletes a specified zone VM extension policy.", + "flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "DELETE", + "id": "compute.zoneVmExtensionPolicies.delete", + "parameterOrder": [ + "project", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the zone VM extension policy to delete.", + "location": "path", + "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}/vmExtensionPolicies/{vmExtensionPolicy}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Retrieves details of a specific zone VM extension policy.", + "flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "GET", + "id": "compute.zoneVmExtensionPolicies.get", + "parameterOrder": [ + "project", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the VM extension policy resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "response": { + "$ref": "VmExtensionPolicy" + }, + "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 zone-level VM extension policy within a project.", + "flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies", + "httpMethod": "POST", + "id": "compute.zoneVmExtensionPolicies.insert", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/vmExtensionPolicies", + "request": { + "$ref": "VmExtensionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists all VM extension policies within a specific zone for a project.", + "flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies", + "httpMethod": "GET", + "id": "compute.zoneVmExtensionPolicies.list", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/vmExtensionPolicies", + "response": { + "$ref": "VmExtensionPolicyList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "update": { + "description": "Modifies an existing zone VM extension policy.", + "flatPath": "projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "PATCH", + "id": "compute.zoneVmExtensionPolicies.update", + "parameterOrder": [ + "project", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the zone VM extension policy to update.", + "location": "path", + "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}/vmExtensionPolicies/{vmExtensionPolicy}", + "request": { + "$ref": "VmExtensionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "zones": { "methods": { "get": { @@ -50444,7 +50770,7 @@ } } }, - "revision": "20250717", + "revision": "20250728", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -51190,10 +51516,13 @@ "purpose": { "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", "enum": [ + "APPLICATION_AND_PROXY_LOAD_BALANCERS", "DNS_RESOLVER", "GCE_ENDPOINT", "IPSEC_INTERCONNECT", "NAT_AUTO", + "PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0", + "PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1", "PRIVATE_SERVICE_CONNECT", "SERVERLESS", "SHARED_LOADBALANCER_VIP", @@ -51201,10 +51530,13 @@ "VPC_PEERING" ], "enumDescriptions": [ + "The global external address can only be assigned to Global External Application or Proxy Load Balancer forwarding rules. This is the default value for global external addresses.", "DNS resolver address in the subnetwork.", "VM internal/alias IP, Internal LB service IP, etc.", "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", "External IP automatically reserved for Cloud NAT.", + "The global external address can only be assigned to Global External Passthrough Network Load Balancer forwarding rules, as an Availability Group 0 address.", + "The global external address can only be assigned to Global External Passthrough Network Load Balancer forwarding rules, as an Availability Group 1 address.", "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", "A regional internal IP address range reserved for Serverless.", "A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", @@ -53479,6 +53811,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "BackendBucketParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "region": { "description": "[Output Only] URL of the region where the regional backend bucket resides. This field is not applicable to global backend buckets. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" @@ -53940,6 +54276,20 @@ }, "type": "object" }, + "BackendBucketParams": { + "description": "Additional Backend Bucket parameters.", + "id": "BackendBucketParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"} * {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: {\"123/environment\" : \"tagValues/444\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "BackendBucketUsedBy": { "id": "BackendBucketUsedBy", "properties": { @@ -53964,7 +54314,7 @@ "type": "number" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -53979,6 +54329,10 @@ "format": "int32", "type": "integer" }, + "allowMultinetwork": { + "description": "A boolean flag enabling multi-network mesh. This field is only allowed with load balancing scheme set to INTERNAL_SELF_MANAGED.", + "type": "boolean" + }, "backends": { "description": "The list of backends that serve this BackendService.", "items": { @@ -54132,6 +54486,7 @@ "enum": [ "EXTERNAL", "EXTERNAL_MANAGED", + "EXTERNAL_PASSTHROUGH", "INTERNAL", "INTERNAL_MANAGED", "INTERNAL_SELF_MANAGED", @@ -54140,6 +54495,7 @@ "enumDescriptions": [ "Signifies that this will be used for classic Application Load Balancers, global external proxy Network Load Balancers, or external passthrough Network Load Balancers.", "Signifies that this will be used for global external Application Load Balancers, regional external Application Load Balancers, or regional external proxy Network Load Balancers.", + "Signifies that this will be used for global external passthrough Network Load Balancers.", "Signifies that this will be used for internal passthrough Network Load Balancers.", "Signifies that this will be used for internal Application Load Balancers.", "Signifies that this will be used by Traffic Director.", @@ -54155,7 +54511,7 @@ "type": "array" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy.", + "description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics field. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -54176,7 +54532,7 @@ "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", - "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics fields." ], "type": "string" }, @@ -54212,6 +54568,10 @@ "$ref": "OutlierDetection", "description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." }, + "params": { + "$ref": "BackendServiceParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "port": { "deprecated": true, "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.", @@ -54671,7 +55031,7 @@ "type": "boolean" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -55218,7 +55578,7 @@ "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", - "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics fields." ], "type": "string" } @@ -55316,6 +55676,20 @@ }, "type": "object" }, + "BackendServiceParams": { + "description": "Additional Backend Service parameters.", + "id": "BackendServiceParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"} * {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: {\"123/environment\" : \"tagValues/444\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "BackendServiceReference": { "id": "BackendServiceReference", "properties": { @@ -55838,6 +56212,14 @@ }, "type": "array" }, + "asns32": { + "description": "[Output only] ASNs in the path segment. This field is for better support of 32 bit ASNs as the other asns field suffers from overflow when the ASN is larger. When type is SEQUENCE, these are ordered.", + "items": { + "format": "uint32", + "type": "integer" + }, + "type": "array" + }, "type": { "description": "[Output only] Type of AS-PATH segment (SEQUENCE or SET)", "enum": [ @@ -56564,10 +56946,12 @@ "description": "The minimum time duration that you commit to purchasing resources. The plan that you choose determines the preset term length of the commitment (which is 1 year or 3 years) and affects the discount rate that you receive for your resources. Committing to a longer time duration typically gives you a higher discount rate. The supported values for this field are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).", "enum": [ "INVALID", + "SIXTY_MONTH", "THIRTY_SIX_MONTH", "TWELVE_MONTH" ], "enumDescriptions": [ + "", "", "", "" @@ -57599,7 +57983,7 @@ "CompositeHealthChecksScopedList": { "id": "CompositeHealthChecksScopedList", "properties": { - "resources": { + "compositeHealthChecks": { "description": "A list of CompositeHealthChecks contained in this scope.", "items": { "$ref": "CompositeHealthCheck" @@ -61682,7 +62066,8 @@ "type": "boolean" }, "allowPscPacketInjection": { - "description": "This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field.", + "deprecated": true, + "description": "This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field. This field was never released to any customers and is deprecated and will be removed in the future.", "type": "boolean" }, "backendService": { @@ -61774,6 +62159,7 @@ "enum": [ "EXTERNAL", "EXTERNAL_MANAGED", + "EXTERNAL_PASSTHROUGH", "INTERNAL", "INTERNAL_MANAGED", "INTERNAL_SELF_MANAGED", @@ -61785,6 +62171,7 @@ "", "", "", + "", "" ], "type": "string" @@ -61904,6 +62291,10 @@ "target": { "description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the \"Target\" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. ", "type": "string" + }, + "trafficDisabled": { + "description": "[PSC for VPC-hosted services only] Determines if clients are allowed to access the producer service via this PSC endpoint.", + "type": "boolean" } }, "type": "object" @@ -62555,10 +62946,12 @@ "description": "Indicates if a Commitment needs to be created as part of FR delivery. If this field is not present, then no commitment needs to be created.", "enum": [ "INVALID", + "SIXTY_MONTH", "THIRTY_SIX_MONTH", "TWELVE_MONTH" ], "enumDescriptions": [ + "", "", "", "" @@ -64089,6 +64482,17 @@ }, "type": "object" }, + "HaControllersFailoverRequest": { + "id": "HaControllersFailoverRequest", + "properties": { + "primaryZone": { + "description": "Name of the destination zone for the failover.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + } + }, + "type": "object" + }, "HealthAggregationPolicy": { "description": "Represents a health aggregation policy. A health aggregation policy resource defines a policy to aggregate health. For more information, see Health checks overview.", "id": "HealthAggregationPolicy", @@ -65878,7 +66282,7 @@ "HealthSourcesScopedList": { "id": "HealthSourcesScopedList", "properties": { - "resources": { + "healthSources": { "description": "A list of HealthSources contained in this scope.", "items": { "$ref": "HealthSource" @@ -68042,6 +68446,13 @@ "description": "Specification of machine type to use. Every position inside this message is an alternative. The count specified in the shape flexibility must not exceed the number of entries in per_instance_properties or the capacity of the name_pattern, if used.", "id": "InstanceFlexibilityPolicyInstanceSelection", "properties": { + "disks": { + "description": "Disks to be attached to the instances created from in this selection. They override the disks specified in the instance properties.", + "items": { + "$ref": "AttachedDisk" + }, + "type": "array" + }, "machineTypes": { "description": "Alternative machine types to use for instances that are created from these properties. This field only accepts a machine type names, for example `n2-standard-4` and not URLs or partial URLs.", "items": { @@ -71348,7 +71759,7 @@ "properties": { "requestValidForDuration": { "$ref": "Duration", - "description": "Relative deadline for waiting for capacity. Relevant only for Instances.Insert API." + "description": "Relative deadline for waiting for capacity. Relevant only for Instances.Insert and Instances.Start API." }, "resourceManagerTags": { "additionalProperties": { @@ -73702,6 +74113,7 @@ "BPS_20G", "BPS_2G", "BPS_300M", + "BPS_400G", "BPS_400M", "BPS_500M", "BPS_50G", @@ -73717,6 +74129,7 @@ "20 Gbit/s", "2 Gbit/s", "300 Mbit/s", + "400 Gbit/s", "400 Mbit/s", "500 Mbit/s", "50 Gbit/s", @@ -74521,6 +74934,7 @@ "BPS_20G", "BPS_2G", "BPS_300M", + "BPS_400G", "BPS_400M", "BPS_500M", "BPS_50G", @@ -74536,6 +74950,7 @@ "20 Gbit/s", "2 Gbit/s", "300 Mbit/s", + "400 Gbit/s", "400 Mbit/s", "500 Mbit/s", "50 Gbit/s", @@ -79969,10 +80384,6 @@ "description": "[Output only] Server-defined URL for the resource.", "type": "string" }, - "selfLinkWithId": { - "description": "[Output only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, "status": { "$ref": "MultiMigStatus" } @@ -79987,10 +80398,6 @@ "description": "[Output Only] Creation timestamp of this multi-MIG member in RFC3339 text format.", "type": "string" }, - "description": { - "description": "An optional description of this resource.", - "type": "string" - }, "id": { "description": "[Output only] The unique identifier for this resource type. The server generates this identifier.", "format": "uint64", @@ -80013,10 +80420,6 @@ "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, "status": { "$ref": "MultiMigMemberStatus", "description": "[Output Only] The status of this multi-MIG member" @@ -80219,9 +80622,6 @@ "MultiMigsList": { "id": "MultiMigsList", "properties": { - "etag": { - "type": "string" - }, "id": { "description": "Unique identifier for the resource; defined by the server.", "type": "string" @@ -80246,13 +80646,6 @@ "description": "[Output only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "Informational warning message.", "properties": { @@ -83391,10 +83784,13 @@ "description": "Specifies what address purposes are supported. If empty, all address purposes are supported.", "items": { "enum": [ + "APPLICATION_AND_PROXY_LOAD_BALANCERS", "DNS_RESOLVER", "GCE_ENDPOINT", "IPSEC_INTERCONNECT", "NAT_AUTO", + "PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0", + "PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1", "PRIVATE_SERVICE_CONNECT", "SERVERLESS", "SHARED_LOADBALANCER_VIP", @@ -83402,10 +83798,13 @@ "VPC_PEERING" ], "enumDescriptions": [ + "The global external address can only be assigned to Global External Application or Proxy Load Balancer forwarding rules. This is the default value for global external addresses.", "DNS resolver address in the subnetwork.", "VM internal/alias IP, Internal LB service IP, etc.", "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", "External IP automatically reserved for Cloud NAT.", + "The global external address can only be assigned to Global External Passthrough Network Load Balancer forwarding rules, as an Availability Group 0 address.", + "The global external address can only be assigned to Global External Passthrough Network Load Balancer forwarding rules, as an Availability Group 1 address.", "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", "A regional internal IP address range reserved for Serverless.", "A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", @@ -88946,16 +89345,14 @@ "id": "PreviewFeatureRolloutOperation", "properties": { "rolloutInput": { - "$ref": "PreviewFeatureRolloutOperationRolloutInput" - }, - "rolloutStatus": { - "$ref": "PreviewFeatureRolloutOperationRolloutStatus", - "readOnly": true + "$ref": "PreviewFeatureRolloutOperationRolloutInput", + "description": "Input only. The input for the rollout operation." } }, "type": "object" }, "PreviewFeatureRolloutOperationRolloutInput": { + "description": "Represents the input for the rollout operation.", "id": "PreviewFeatureRolloutOperationRolloutInput", "properties": { "name": { @@ -88975,47 +89372,6 @@ "" ], "type": "string" - }, - "retryUuid": { - "description": "The UUID of the retry action. Only needed if this is a retry for an existing rollout. This can be used after the user canceled a rollout and want to retry it with no changes.", - "type": "string" - } - }, - "type": "object" - }, - "PreviewFeatureRolloutOperationRolloutStatus": { - "id": "PreviewFeatureRolloutOperationRolloutStatus", - "properties": { - "ongoingRollouts": { - "description": "Output only. The ongoing rollout resources. There can be multiple ongoing rollouts for a resource.", - "items": { - "$ref": "PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata" - }, - "readOnly": true, - "type": "array" - }, - "previousRollout": { - "$ref": "PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata", - "description": "Output only. The last completed rollout resource. This field will not be populated until the first rollout is completed.", - "readOnly": true - } - }, - "type": "object" - }, - "PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata": { - "id": "PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata", - "properties": { - "rollout": { - "description": "The name of the rollout Ex. organizations//locations/global/rollouts/ Ex. folders//locations/global/rollouts/ Ex. projects//locations/global/rollouts/.", - "type": "string" - }, - "rolloutPlan": { - "description": "The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/ Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/rolloutPlans/.", - "type": "string" - }, - "status": { - "$ref": "PreviewFeatureStatus", - "description": "The status of the rollout." } }, "type": "object" @@ -89039,6 +89395,7 @@ "type": "object" }, "PreviewFeatureStatusReleaseStatus": { + "description": "[Output Only] The release status of the feature.", "id": "PreviewFeatureStatusReleaseStatus", "properties": { "stage": { @@ -89046,14 +89403,12 @@ "enum": [ "DEPRECATED", "GA", - "INTERNAL", "PREVIEW", "STAGE_UNSPECIFIED" ], "enumDescriptions": [ "", "", - "Exclude until there's product requirements.", "", "" ], @@ -89817,6 +90172,20 @@ }, "type": "array" }, + "purpose": { + "description": "The purpose of the public delegated prefix. This field can only be set for the top-level global public delegated prefix. It is an output-only field for the sub-delegates that inherit the value from the top-level global public delegated prefix. Once the value is set, it cannot be changed. The field cannot be set for regional public delegated prefixes. The supported values are: - APPLICATION_AND_PROXY_LOAD_BALANCERS: The global public delegated prefix can only be used by Global External Application and Proxy Load Balancers to allocate addresses for forwarding rules. This is the default value. - PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0: The global public delegated prefix can only be used by Global External Passthrough Network Load Balancers to allocate Availability Group 0 addresses for forwarding rules. - PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1: The global public delegated prefix can only be used by Global External Passthrough Network Load Balancers to allocate Availability Group 1 addresses for forwarding rules. ", + "enum": [ + "APPLICATION_AND_PROXY_LOAD_BALANCERS", + "PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0", + "PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1" + ], + "enumDescriptions": [ + "The global public delegated prefix can only be used by Global External Application and Proxy Load Balancers to allocate addresses for forwarding rules. This is the default value.", + "The global public delegated prefix can only be used by Global External Passthrough Network Load Balancers to allocate Availability Group 0 addresses for forwarding rules.", + "The global public delegated prefix can only be used by Global External Passthrough Network Load Balancers to allocate Availability Group 1 addresses for forwarding rules." + ], + "type": "string" + }, "region": { "description": "[Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" @@ -90227,6 +90596,20 @@ "description": "The name of the sub public delegated prefix.", "type": "string" }, + "purpose": { + "description": "[Output Only] The purpose of the sub public delegated prefix. Inherited from parent prefix.", + "enum": [ + "APPLICATION_AND_PROXY_LOAD_BALANCERS", + "PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0", + "PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1" + ], + "enumDescriptions": [ + "The global public delegated prefix can only be used by Global External Application and Proxy Load Balancers to allocate addresses for forwarding rules. This is the default value.", + "The global public delegated prefix can only be used by Global External Passthrough Network Load Balancers to allocate Availability Group 0 addresses for forwarding rules.", + "The global public delegated prefix can only be used by Global External Passthrough Network Load Balancers to allocate Availability Group 1 addresses for forwarding rules." + ], + "type": "string" + }, "region": { "description": "[Output Only] The region of the sub public delegated prefix if it is regional. If absent, the sub prefix is global.", "type": "string" @@ -91152,6 +91535,8 @@ "REGIONAL_INTERNAL_LB_BACKEND_SERVICES", "REGIONAL_INTERNAL_MANAGED_BACKEND_SERVICES", "REGIONAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES", + "REGION_EXTERNAL_MANAGED_BACKEND_BUCKETS", + "REGION_INTERNAL_MANAGED_BACKEND_BUCKETS", "RESERVATIONS", "RESOURCE_POLICIES", "ROUTERS", @@ -91335,6 +91720,8 @@ "", "", "", + "", + "", "The total number of snapshots allowed for a single project.", "", "", @@ -94521,6 +94908,10 @@ "description": "Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.", "id": "Reservation", "properties": { + "advancedDeploymentControl": { + "$ref": "ReservationAdvancedDeploymentControl", + "description": "Advanced control for cluster management, applicable only to DENSE deployment type reservations." + }, "aggregateReservation": { "$ref": "AllocationAggregateReservation", "description": "Reservation for aggregated resources, providing shape flexibility." @@ -94696,6 +95087,27 @@ }, "type": "object" }, + "ReservationAdvancedDeploymentControl": { + "description": "Advance control for cluster management, applicable only to DENSE deployment type reservations.", + "id": "ReservationAdvancedDeploymentControl", + "properties": { + "reservationOperationalMode": { + "description": "Indicates chosen reservation operational mode for the reservation.", + "enum": [ + "ALL_CAPACITY", + "HIGHLY_AVAILABLE_CAPACITY", + "RESERVATION_OPERATIONAL_MODE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Google Cloud does not manage the failure of machines, but provides additional capacity, which is not guaranteed to be available.", + "Google Cloud manages the failure of machines to provide high availability.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "ReservationAffinity": { "description": "Specifies the reservations that this instance can consume from.", "id": "ReservationAffinity", @@ -97054,7 +97466,7 @@ "SCHEDULED_STOP", "SHUTDOWN_DUE_TO_HOST_ERROR", "SHUTDOWN_DUE_TO_MAINTENANCE", - "SHUTDOWN_DUE_TO_POWER_EVENT", + "SHUTDOWN_DUE_TO_SHEDDING_EVENT", "USER_TERMINATED" ], "enumDescriptions": [ @@ -97071,7 +97483,7 @@ "Terminated due to scheduled stop", "Terminated due to host error", "Terminated due to maintenance", - "Terminated due to power event", + "Terminated due to shedding event", "Terminated by user" ], "type": "string" @@ -97491,11 +97903,6 @@ "type": "string" }, "tags": { - "annotations": { - "required": [ - "compute.routes.insert" - ] - }, "description": "A list of instance tags to which this route applies.", "items": { "type": "string" @@ -102010,7 +102417,7 @@ "type": "string" }, "type": { - "description": "Type of the redirect action.", + "description": "Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a different URL via a 302 response. ", "enum": [ "EXTERNAL_302", "GOOGLE_RECAPTCHA" @@ -102228,7 +102635,7 @@ "type": "string" }, "consumerAcceptLists": { - "description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.", + "description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks or only endpoints.", "items": { "$ref": "ServiceAttachmentConsumerProjectLimit" }, @@ -102275,6 +102682,13 @@ "description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", "type": "string" }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata of the service attachment.", + "type": "object" + }, "name": { "annotations": { "required": [ @@ -102548,7 +102962,7 @@ "id": "ServiceAttachmentConsumerProjectLimit", "properties": { "connectionLimit": { - "description": "The value of the limit to set.", + "description": "The value of the limit to set. For endpoint_url, the limit should be no more than 1.", "format": "uint32", "type": "integer" }, @@ -105698,6 +106112,10 @@ "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, + "exapoolProvisionedCapacityGb": { + "$ref": "StoragePoolExapoolProvisionedCapacityGb", + "description": "[Output Only] Provisioned capacities for each SKU for this Exapool in GiB" + }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", "format": "uint64", @@ -105750,7 +106168,7 @@ "compute.storagePools.insert" ] }, - "description": "Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", + "description": "Size of the storage pool in GiB. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", "format": "int64", "type": "string" }, @@ -105760,7 +106178,7 @@ "type": "string" }, "poolProvisionedThroughput": { - "description": "Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", + "description": "Provisioned throughput of the storage pool in MiB/s. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", "format": "int64", "type": "string" }, @@ -106063,6 +106481,28 @@ }, "type": "object" }, + "StoragePoolExapoolProvisionedCapacityGb": { + "description": "Exapool provisioned capacities for each SKU type", + "id": "StoragePoolExapoolProvisionedCapacityGb", + "properties": { + "capacityOptimized": { + "description": "Size, in GiB, of provisioned capacity-optimized capacity for this Exapool", + "format": "int64", + "type": "string" + }, + "readOptimized": { + "description": "Size, in GiB, of provisioned read-optimized capacity for this Exapool", + "format": "int64", + "type": "string" + }, + "writeOptimized": { + "description": "Size, in GiB, of provisioned write-optimized capacity for this Exapool", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "StoragePoolList": { "description": "A list of StoragePool resources.", "id": "StoragePoolList", @@ -106411,6 +106851,26 @@ "format": "int64", "type": "string" }, + "exapoolMaxReadIops": { + "description": "[Output Only] Maximum allowed read IOPS for this Exapool.", + "format": "int64", + "type": "string" + }, + "exapoolMaxReadThroughput": { + "description": "[Output Only] Maximum allowed read throughput in MiB/s for this Exapool.", + "format": "int64", + "type": "string" + }, + "exapoolMaxWriteIops": { + "description": "[Output Only] Maximum allowed write IOPS for this Exapool.", + "format": "int64", + "type": "string" + }, + "exapoolMaxWriteThroughput": { + "description": "[Output Only] Maximum allowed write throughput in MiB/s for this Exapool.", + "format": "int64", + "type": "string" + }, "lastResizeTimestamp": { "description": "[Output Only] Timestamp of the last successful resize in RFC3339 text format.", "type": "string" @@ -106421,7 +106881,7 @@ "type": "string" }, "maxTotalProvisionedDiskCapacityGb": { - "description": "[Output Only] Maximum allowed aggregate disk size in gigabytes.", + "description": "[Output Only] Maximum allowed aggregate disk size in GiB.", "format": "int64", "type": "string" }, @@ -106441,7 +106901,7 @@ "type": "string" }, "poolUsedThroughput": { - "description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s.", + "description": "[Output Only] Sum of all the disks' provisioned throughput in MiB/s.", "format": "int64", "type": "string" }, @@ -106451,7 +106911,7 @@ "type": "string" }, "totalProvisionedDiskCapacityGb": { - "description": "[Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity.", + "description": "[Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity.", "format": "int64", "type": "string" }, @@ -106461,7 +106921,7 @@ "type": "string" }, "totalProvisionedDiskThroughput": { - "description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", + "description": "[Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", "format": "int64", "type": "string" }, @@ -107369,6 +107829,18 @@ "description": "The URL of the reserved internal range.", "type": "string" }, + "resolveSubnetMask": { + "description": "Configures subnet mask resolution for this subnetwork.", + "enum": [ + "ARP_ALL_RANGES", + "ARP_PRIMARY_RANGE" + ], + "enumDescriptions": [ + "All ranges assigned to the VM NIC will respond to ARP.", + "Only the primary range of the VM NIC will respond to ARP." + ], + "type": "string" + }, "role": { "description": "The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.", "enum": [ @@ -112399,7 +112871,9 @@ "FAILURE_NETWORK", "FAILURE_NVLINK", "INFRASTRUCTURE_RELOCATION", - "MAINTENANCE_REASON_UNKNOWN" + "MAINTENANCE_REASON_UNKNOWN", + "PLANNED_NETWORK_UPDATE", + "PLANNED_UPDATE" ], "enumDescriptions": [ "Maintenance due to disk errors.", @@ -112412,7 +112886,9 @@ "Maintenance due to network errors.", "Maintenance due to NVLink failure.", "Maintenance due to infrastructure relocation.", - "Unknown maintenance reason. Do not use this value." + "Unknown maintenance reason. Do not use this value.", + "Maintenance due to planned network update.", + "Maintenance due to planned update to the instance." ], "type": "string" }, @@ -112442,11 +112918,13 @@ "type": { "description": "Defines the type of maintenance.", "enum": [ + "MULTIPLE", "SCHEDULED", "UNKNOWN_TYPE", "UNSCHEDULED" ], "enumDescriptions": [ + "Multiple maintenance types in one window. This is only intended to be used for groups.", "Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).", "No type specified. Do not use this value.", "Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee)." @@ -113722,6 +114200,294 @@ }, "type": "object" }, + "VmExtensionPolicy": { + "description": "Represents a VM extension policy.", + "id": "VmExtensionPolicy", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource.", + "type": "string" + }, + "extensionPolicies": { + "additionalProperties": { + "$ref": "VmExtensionPolicyExtensionPolicy" + }, + "description": "Required. A map of extension names (e.g., \"cloudops\") to their corresponding policy configurations.", + "type": "object" + }, + "globalResourceLink": { + "description": "Optional. [Output Only] Link to the global policy that manages this zone policy, if applicable.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "instanceSelectors": { + "description": "Optional. Selectors to target VMs for this policy. VMs are selected if they match *any* of the provided selectors (logical OR). If this list is empty, the policy applies to all VMs.", + "items": { + "$ref": "VmExtensionPolicyInstanceSelector" + }, + "type": "array" + }, + "kind": { + "default": "compute#vmExtensionPolicy", + "description": "[Output Only] Type of the resource. Always compute#vmExtensionPolicy.", + "type": "string" + }, + "managedByGlobal": { + "description": "Optional. [Output Only] Indicates if this policy is managed by a global policy.", + "type": "boolean" + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "priority": { + "description": "Optional. Priority of this policy. Used to resolve conflicts when multiple policies apply to the same extension. The policy priority is an integer from 0 to 65535, inclusive. Lower integers indicate higher priorities. If you do not specify a priority when creating a rule, it is assigned a priority of 1000. If priorities are equal, the policy with the more recent creation timestamp takes precedence.", + "format": "int32", + "type": "integer" + }, + "selfLink": { + "description": "[Output Only] Server-defined fully-qualified URL for this resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource's resource id.", + "type": "string" + }, + "state": { + "description": "Optional. [Output Only] Current state of the policy: ACTIVE or DELETING.", + "enum": [ + "ACTIVE", + "DELETING", + "STATE_UNSPECIFIED" + ], + "enumDescriptions": [ + "The policy is active and applied to matching VMs. Newly created VMs that match the policy will also receive the extension policy.", + "The policy is in the process of being deleted. After the extension is removed from all matching VMs, the policy will be deleted.", + "Default value. Do not use." + ], + "type": "string" + }, + "updateTimestamp": { + "description": "[Output Only] Update timestamp in RFC3339 text format.", + "type": "string" + } + }, + "type": "object" + }, + "VmExtensionPolicyExtensionPolicy": { + "description": "Configuration for a specific VM extension.", + "id": "VmExtensionPolicyExtensionPolicy", + "properties": { + "pinnedVersion": { + "description": "Optional. The specific version of the extension to install. If not set, the latest version is used.", + "type": "string" + }, + "stringConfig": { + "description": "Optional. String-based configuration data for the extension.", + "type": "string" + } + }, + "type": "object" + }, + "VmExtensionPolicyInstanceSelector": { + "description": "Defines how to select VMs to apply a zone VM extension policy.", + "id": "VmExtensionPolicyInstanceSelector", + "properties": { + "labelSelector": { + "$ref": "VmExtensionPolicyLabelSelector", + "description": "Optional. LabelSelector selects VMs based on their labels." + } + }, + "type": "object" + }, + "VmExtensionPolicyLabelSelector": { + "description": "A LabelSelector is applied to a VM only if it matches all the specified labels.", + "id": "VmExtensionPolicyLabelSelector", + "properties": { + "inclusionLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A map of key-value pairs representing VM labels. VMs must have all of the labels specified in this map to be selected (logical AND). e.g. If the `inclusion_labels` are {(\"key1\", \"value1\"), (\"key2\", \"value2\")}, the VM labels must contain both (\"key1\", \"value1\") and (\"key2\", \"value2\") to be selected. If the VM labels are (\"key1\", \"value1\") and (\"something\", \"else\"), it will not be selected. If the map is empty, it's considered a match.", + "type": "object" + } + }, + "type": "object" + }, + "VmExtensionPolicyList": { + "id": "VmExtensionPolicyList", + "properties": { + "etag": { + "description": "[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.", + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "[Output Only] A list of VM extension policy resources.", + "items": { + "$ref": "VmExtensionPolicy" + }, + "type": "array" + }, + "kind": { + "default": "compute#vmExtensionPolicyList", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "VpnGateway": { "description": "Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely connect your on-premises network to your Google Cloud Virtual Private Cloud network through an IPsec VPN connection in a single region. For more information about Cloud HA VPN solutions, see Cloud VPN topologies .", "id": "VpnGateway", diff --git a/discovery/compute-beta.json b/discovery/compute-beta.json index ed722a256a8..ef25fe11681 100644 --- a/discovery/compute-beta.json +++ b/discovery/compute-beta.json @@ -3200,6 +3200,7 @@ "disk": { "description": "Name of the persistent disk to delete.", "location": "path", + "pattern": "\\S{1,66}", "required": true, "type": "string" }, @@ -7168,14 +7169,14 @@ ], "parameters": { "operation": { - "description": "Name of the Operations resource to return, or its unique numeric identifier.", + "description": "Name of the Operations resource to return. Parent is derived from this field.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, "parentId": { - "description": "Parent ID for this request.", + "description": "Parent ID for this request. Not used. Parent is derived from resource_id.", "location": "query", "type": "string" } @@ -8661,10 +8662,7 @@ }, "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" + "https://www.googleapis.com/auth/compute" ] }, "list": { @@ -25725,6 +25723,7 @@ "disk": { "description": "Name of the regional persistent disk to delete.", "location": "path", + "pattern": "\\S{1,66}", "required": true, "type": "string" }, @@ -40284,6 +40283,20 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "views": { + "description": "Defines the extra views returned back in the subnetwork resource. Supported values: - WITH_UTILIZATION: Utilization data is included in the response. ", + "enum": [ + "DEFAULT", + "WITH_UTILIZATION" + ], + "enumDescriptions": [ + "", + "Utilization data is included in the response." + ], + "location": "query", + "repeated": true, + "type": "string" } }, "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", @@ -40438,6 +40451,20 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "views": { + "description": "Defines the extra views returned back in the subnetwork resource. Supported values: - WITH_UTILIZATION: Utilization data is included in the response. ", + "enum": [ + "DEFAULT", + "WITH_UTILIZATION" + ], + "enumDescriptions": [ + "", + "Utilization data is included in the response." + ], + "location": "query", + "repeated": true, + "type": "string" } }, "path": "projects/{project}/regions/{region}/subnetworks", @@ -45720,7 +45747,7 @@ } } }, - "revision": "20250717", + "revision": "20250728", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -48603,6 +48630,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "BackendBucketParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -49056,6 +49087,20 @@ }, "type": "object" }, + "BackendBucketParams": { + "description": "Additional Backend Bucket parameters.", + "id": "BackendBucketParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"} * {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: {\"123/environment\" : \"tagValues/444\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "BackendBucketUsedBy": { "id": "BackendBucketUsedBy", "properties": { @@ -49080,7 +49125,7 @@ "type": "number" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -49271,7 +49316,7 @@ "type": "array" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy.", + "description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics field. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -49292,7 +49337,7 @@ "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", - "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics fields." ], "type": "string" }, @@ -49328,6 +49373,10 @@ "$ref": "OutlierDetection", "description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." }, + "params": { + "$ref": "BackendServiceParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "port": { "deprecated": true, "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.", @@ -49769,7 +49818,7 @@ "type": "boolean" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -50294,7 +50343,7 @@ "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", - "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics fields." ], "type": "string" } @@ -50373,6 +50422,20 @@ }, "type": "object" }, + "BackendServiceParams": { + "description": "Additional Backend Service parameters.", + "id": "BackendServiceParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : } or Namespaced format { : }. For example the following are valid inputs: * {\"tagKeys/333\" : \"tagValues/444\", \"tagKeys/123\" : \"tagValues/456\"} * {\"123/environment\" : \"production\", \"345/abc\" : \"xyz\"} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: {\"123/environment\" : \"tagValues/444\"} is invalid.", + "type": "object" + } + }, + "type": "object" + }, "BackendServiceReference": { "id": "BackendServiceReference", "properties": { @@ -55679,7 +55742,8 @@ "type": "boolean" }, "allowPscPacketInjection": { - "description": "This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field.", + "deprecated": true, + "description": "This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field. This field was never released to any customers and is deprecated and will be removed in the future.", "type": "boolean" }, "backendService": { @@ -71063,9 +71127,6 @@ "MultiMigsList": { "id": "MultiMigsList", "properties": { - "etag": { - "type": "string" - }, "id": { "description": "Unique identifier for the resource; defined by the server.", "type": "string" @@ -71090,13 +71151,6 @@ "description": "[Output only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "Informational warning message.", "properties": { @@ -79159,16 +79213,14 @@ "id": "PreviewFeatureRolloutOperation", "properties": { "rolloutInput": { - "$ref": "PreviewFeatureRolloutOperationRolloutInput" - }, - "rolloutStatus": { - "$ref": "PreviewFeatureRolloutOperationRolloutStatus", - "readOnly": true + "$ref": "PreviewFeatureRolloutOperationRolloutInput", + "description": "Input only. The input for the rollout operation." } }, "type": "object" }, "PreviewFeatureRolloutOperationRolloutInput": { + "description": "Represents the input for the rollout operation.", "id": "PreviewFeatureRolloutOperationRolloutInput", "properties": { "name": { @@ -79188,47 +79240,6 @@ "" ], "type": "string" - }, - "retryUuid": { - "description": "The UUID of the retry action. Only needed if this is a retry for an existing rollout. This can be used after the user canceled a rollout and want to retry it with no changes.", - "type": "string" - } - }, - "type": "object" - }, - "PreviewFeatureRolloutOperationRolloutStatus": { - "id": "PreviewFeatureRolloutOperationRolloutStatus", - "properties": { - "ongoingRollouts": { - "description": "Output only. The ongoing rollout resources. There can be multiple ongoing rollouts for a resource.", - "items": { - "$ref": "PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata" - }, - "readOnly": true, - "type": "array" - }, - "previousRollout": { - "$ref": "PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata", - "description": "Output only. The last completed rollout resource. This field will not be populated until the first rollout is completed.", - "readOnly": true - } - }, - "type": "object" - }, - "PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata": { - "id": "PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata", - "properties": { - "rollout": { - "description": "The name of the rollout Ex. organizations//locations/global/rollouts/ Ex. folders//locations/global/rollouts/ Ex. projects//locations/global/rollouts/.", - "type": "string" - }, - "rolloutPlan": { - "description": "The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/ Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/rolloutPlans/.", - "type": "string" - }, - "status": { - "$ref": "PreviewFeatureStatus", - "description": "The status of the rollout." } }, "type": "object" @@ -79241,6 +79252,10 @@ "description": "[Output Only] The description of the feature.", "type": "string" }, + "helpLink": { + "description": "[Output Only] Link to the public documentation for the feature.", + "type": "string" + }, "releaseStatus": { "$ref": "PreviewFeatureStatusReleaseStatus" } @@ -79248,6 +79263,7 @@ "type": "object" }, "PreviewFeatureStatusReleaseStatus": { + "description": "[Output Only] The release status of the feature.", "id": "PreviewFeatureStatusReleaseStatus", "properties": { "stage": { @@ -79255,14 +79271,12 @@ "enum": [ "DEPRECATED", "GA", - "INTERNAL", "PREVIEW", "STAGE_UNSPECIFIED" ], "enumDescriptions": [ "", "", - "Exclude until there's product requirements.", "", "" ], @@ -82965,6 +82979,20 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "protectionTier": { + "description": "Protection tier for the workload which specifies the workload expectations in the event of infrastructure failures at data center (e.g. power and/or cooling failures).", + "enum": [ + "CAPACITY_OPTIMIZED", + "PROTECTION_TIER_UNSPECIFIED", + "STANDARD" + ], + "enumDescriptions": [ + "CAPACITY_OPTIMIZED capacity leverages redundancies (e.g. power, cooling) at the data center during normal operating conditions. In the event of infrastructure failures at data center (e.g. power and/or cooling failures), this workload may be disrupted. As a consequence, it has a weaker availability SLO than STANDARD.", + "Unspecified protection tier.", + "STANDARD protection for workload that should be protected by redundancies (e.g. power, cooling) at the data center level. In the event of infrastructure failures at data center (e.g. power and/or cooling failures), this workload is expected to continue as normal using the redundancies." + ], + "type": "string" + }, "reservationMode": { "description": "[Output only] Indicates the reservation mode of the reservation.", "enum": [ @@ -85440,11 +85468,6 @@ "type": "string" }, "tags": { - "annotations": { - "required": [ - "compute.routes.insert" - ] - }, "description": "A list of instance tags to which this route applies.", "items": { "type": "string" @@ -89569,7 +89592,7 @@ "type": "string" }, "type": { - "description": "Type of the redirect action.", + "description": "Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a different URL via a 302 response. ", "enum": [ "EXTERNAL_302", "GOOGLE_RECAPTCHA" @@ -89743,7 +89766,7 @@ "type": "string" }, "consumerAcceptLists": { - "description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.", + "description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks or only endpoints.", "items": { "$ref": "ServiceAttachmentConsumerProjectLimit" }, @@ -89790,6 +89813,13 @@ "description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", "type": "string" }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata of the service attachment.", + "type": "object" + }, "name": { "annotations": { "required": [ @@ -90056,7 +90086,7 @@ "id": "ServiceAttachmentConsumerProjectLimit", "properties": { "connectionLimit": { - "description": "The value of the limit to set.", + "description": "The value of the limit to set. For endpoint_url, the limit should be no more than 1.", "format": "uint32", "type": "integer" }, @@ -93030,7 +93060,7 @@ "compute.storagePools.insert" ] }, - "description": "Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", + "description": "Size of the storage pool in GiB. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", "format": "int64", "type": "string" }, @@ -93040,7 +93070,7 @@ "type": "string" }, "poolProvisionedThroughput": { - "description": "Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", + "description": "Provisioned throughput of the storage pool in MiB/s. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", "format": "int64", "type": "string" }, @@ -93671,7 +93701,7 @@ "type": "string" }, "maxTotalProvisionedDiskCapacityGb": { - "description": "[Output Only] Maximum allowed aggregate disk size in gigabytes.", + "description": "[Output Only] Maximum allowed aggregate disk size in GiB.", "format": "int64", "type": "string" }, @@ -93686,7 +93716,7 @@ "type": "string" }, "poolUsedThroughput": { - "description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s.", + "description": "[Output Only] Sum of all the disks' provisioned throughput in MiB/s.", "format": "int64", "type": "string" }, @@ -93696,7 +93726,7 @@ "type": "string" }, "totalProvisionedDiskCapacityGb": { - "description": "[Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity.", + "description": "[Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity.", "format": "int64", "type": "string" }, @@ -93706,7 +93736,7 @@ "type": "string" }, "totalProvisionedDiskThroughput": { - "description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", + "description": "[Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", "format": "int64", "type": "string" } @@ -94547,6 +94577,18 @@ "description": "The URL of the reserved internal range.", "type": "string" }, + "resolveSubnetMask": { + "description": "Configures subnet mask resolution for this subnetwork.", + "enum": [ + "ARP_ALL_RANGES", + "ARP_PRIMARY_RANGE" + ], + "enumDescriptions": [ + "All ranges assigned to the VM NIC will respond to ARP.", + "Only the primary range of the VM NIC will respond to ARP." + ], + "type": "string" + }, "role": { "description": "The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.", "enum": [ @@ -94611,6 +94653,11 @@ }, "readOnly": true, "type": "array" + }, + "utilizationDetails": { + "$ref": "SubnetworkUtilizationDetails", + "description": "Output only. [Output Only] The current IP utilization of all subnetwork ranges. Contains the total number of allocated and free IPs in each range.", + "readOnly": true } }, "type": "object" @@ -95026,6 +95073,64 @@ }, "type": "object" }, + "SubnetworkUtilizationDetails": { + "description": "The current IP utilization of all subnetwork ranges. Contains the total number of allocated and free IPs in each range.", + "id": "SubnetworkUtilizationDetails", + "properties": { + "externalIpv6InstanceUtilization": { + "$ref": "SubnetworkUtilizationDetailsIPV6Utilization", + "description": "Utilizations of external IPV6 IP range." + }, + "externalIpv6LbUtilization": { + "$ref": "SubnetworkUtilizationDetailsIPV6Utilization", + "description": "Utilizations of external IPV6 IP range for NetLB." + }, + "internalIpv6Utilization": { + "$ref": "SubnetworkUtilizationDetailsIPV6Utilization", + "description": "Utilizations of internal IPV6 IP range." + }, + "ipv4Utilizations": { + "description": "Utilizations of all IPV4 IP ranges. For primary ranges, the range name will be empty.", + "items": { + "$ref": "SubnetworkUtilizationDetailsIPV4Utilization" + }, + "type": "array" + } + }, + "type": "object" + }, + "SubnetworkUtilizationDetailsIPV4Utilization": { + "description": "The IPV4 utilization of a single IP range.", + "id": "SubnetworkUtilizationDetailsIPV4Utilization", + "properties": { + "rangeName": { + "description": "Will be set for secondary range. Empty for primary IPv4 range.", + "type": "string" + }, + "totalAllocatedIp": { + "format": "int64", + "type": "string" + }, + "totalFreeIp": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "SubnetworkUtilizationDetailsIPV6Utilization": { + "description": "The IPV6 utilization of a single IP range.", + "id": "SubnetworkUtilizationDetailsIPV6Utilization", + "properties": { + "totalAllocatedIp": { + "$ref": "Uint128" + }, + "totalFreeIp": { + "$ref": "Uint128" + } + }, + "type": "object" + }, "SubnetworksExpandIpCidrRangeRequest": { "id": "SubnetworksExpandIpCidrRangeRequest", "properties": { @@ -99371,7 +99476,9 @@ "FAILURE_NETWORK", "FAILURE_NVLINK", "INFRASTRUCTURE_RELOCATION", - "MAINTENANCE_REASON_UNKNOWN" + "MAINTENANCE_REASON_UNKNOWN", + "PLANNED_NETWORK_UPDATE", + "PLANNED_UPDATE" ], "enumDescriptions": [ "Maintenance due to disk errors.", @@ -99384,7 +99491,9 @@ "Maintenance due to network errors.", "Maintenance due to NVLink failure.", "Maintenance due to infrastructure relocation.", - "Unknown maintenance reason. Do not use this value." + "Unknown maintenance reason. Do not use this value.", + "Maintenance due to planned network update.", + "Maintenance due to planned update to the instance." ], "type": "string" }, @@ -99406,11 +99515,13 @@ "type": { "description": "Defines the type of maintenance.", "enum": [ + "MULTIPLE", "SCHEDULED", "UNKNOWN_TYPE", "UNSCHEDULED" ], "enumDescriptions": [ + "Multiple maintenance types in one window. This is only intended to be used for groups.", "Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).", "No type specified. Do not use this value.", "Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee)." diff --git a/discovery/compute-v1.json b/discovery/compute-v1.json index 1ef525d5b59..a115e5d1c2c 100644 --- a/discovery/compute-v1.json +++ b/discovery/compute-v1.json @@ -2665,6 +2665,7 @@ "disk": { "description": "Name of the persistent disk to delete.", "location": "path", + "pattern": "\\S{1,66}", "required": true, "type": "string" }, @@ -5971,14 +5972,14 @@ ], "parameters": { "operation": { - "description": "Name of the Operations resource to return, or its unique numeric identifier.", + "description": "Name of the Operations resource to return. Parent is derived from this field.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, "parentId": { - "description": "Parent ID for this request.", + "description": "Parent ID for this request. Not used. Parent is derived from resource_id.", "location": "query", "type": "string" } @@ -7350,10 +7351,7 @@ }, "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" + "https://www.googleapis.com/auth/compute" ] }, "list": { @@ -22622,6 +22620,7 @@ "disk": { "description": "Name of the regional persistent disk to delete.", "location": "path", + "pattern": "\\S{1,66}", "required": true, "type": "string" }, @@ -35392,6 +35391,11 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "serviceProject": { + "description": "The project id or project number in which the subnetwork is intended to be used. Only applied for Shared VPC. See [Shared VPC documentation](https://cloud.google.com/vpc/docs/shared-vpc/)", + "location": "query", + "type": "string" } }, "path": "projects/{project}/aggregated/subnetworks/listUsable", @@ -39950,7 +39954,7 @@ } } }, - "revision": "20250717", + "revision": "20250728", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -43090,7 +43094,7 @@ "type": "number" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -43277,7 +43281,7 @@ "type": "array" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy.", + "description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics field. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -43298,7 +43302,7 @@ "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", - "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics fields." ], "type": "string" }, @@ -43771,7 +43775,7 @@ "type": "boolean" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -44274,7 +44278,7 @@ "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", - "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics fields." ], "type": "string" } @@ -75935,11 +75939,6 @@ "type": "string" }, "tags": { - "annotations": { - "required": [ - "compute.routes.insert" - ] - }, "description": "A list of instance tags to which this route applies.", "items": { "type": "string" @@ -79774,7 +79773,7 @@ "type": "string" }, "type": { - "description": "Type of the redirect action.", + "description": "Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a different URL via a 302 response. ", "enum": [ "EXTERNAL_302", "GOOGLE_RECAPTCHA" @@ -79943,7 +79942,7 @@ "type": "string" }, "consumerAcceptLists": { - "description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.", + "description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks or only endpoints.", "items": { "$ref": "ServiceAttachmentConsumerProjectLimit" }, @@ -79990,6 +79989,13 @@ "description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", "type": "string" }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata of the service attachment.", + "type": "object" + }, "name": { "annotations": { "required": [ @@ -80252,7 +80258,7 @@ "id": "ServiceAttachmentConsumerProjectLimit", "properties": { "connectionLimit": { - "description": "The value of the limit to set.", + "description": "The value of the limit to set. For endpoint_url, the limit should be no more than 1.", "format": "uint32", "type": "integer" }, @@ -82752,7 +82758,7 @@ "compute.storagePools.insert" ] }, - "description": "Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", + "description": "Size of the storage pool in GiB. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.", "format": "int64", "type": "string" }, @@ -82762,7 +82768,7 @@ "type": "string" }, "poolProvisionedThroughput": { - "description": "Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", + "description": "Provisioned throughput of the storage pool in MiB/s. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.", "format": "int64", "type": "string" }, @@ -83393,7 +83399,7 @@ "type": "string" }, "maxTotalProvisionedDiskCapacityGb": { - "description": "[Output Only] Maximum allowed aggregate disk size in gigabytes.", + "description": "[Output Only] Maximum allowed aggregate disk size in GiB.", "format": "int64", "type": "string" }, @@ -83408,7 +83414,7 @@ "type": "string" }, "poolUsedThroughput": { - "description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s.", + "description": "[Output Only] Sum of all the disks' provisioned throughput in MiB/s.", "format": "int64", "type": "string" }, @@ -83418,7 +83424,7 @@ "type": "string" }, "totalProvisionedDiskCapacityGb": { - "description": "[Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity.", + "description": "[Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity.", "format": "int64", "type": "string" }, @@ -83428,7 +83434,7 @@ "type": "string" }, "totalProvisionedDiskThroughput": { - "description": "[Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", + "description": "[Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.", "format": "int64", "type": "string" } @@ -88922,7 +88928,9 @@ "FAILURE_NETWORK", "FAILURE_NVLINK", "INFRASTRUCTURE_RELOCATION", - "MAINTENANCE_REASON_UNKNOWN" + "MAINTENANCE_REASON_UNKNOWN", + "PLANNED_NETWORK_UPDATE", + "PLANNED_UPDATE" ], "enumDescriptions": [ "Maintenance due to disk errors.", @@ -88935,7 +88943,9 @@ "Maintenance due to network errors.", "Maintenance due to NVLink failure.", "Maintenance due to infrastructure relocation.", - "Unknown maintenance reason. Do not use this value." + "Unknown maintenance reason. Do not use this value.", + "Maintenance due to planned network update.", + "Maintenance due to planned update to the instance." ], "type": "string" }, @@ -88957,11 +88967,13 @@ "type": { "description": "Defines the type of maintenance.", "enum": [ + "MULTIPLE", "SCHEDULED", "UNKNOWN_TYPE", "UNSCHEDULED" ], "enumDescriptions": [ + "Multiple maintenance types in one window. This is only intended to be used for groups.", "Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).", "No type specified. Do not use this value.", "Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee)." diff --git a/src/apis/compute/alpha.ts b/src/apis/compute/alpha.ts index d5706c95320..f013ce00bb7 100644 --- a/src/apis/compute/alpha.ts +++ b/src/apis/compute/alpha.ts @@ -137,6 +137,7 @@ export namespace compute_alpha { globalOperations: Resource$Globaloperations; globalOrganizationOperations: Resource$Globalorganizationoperations; globalPublicDelegatedPrefixes: Resource$Globalpublicdelegatedprefixes; + haControllers: Resource$Hacontrollers; healthChecks: Resource$Healthchecks; httpHealthChecks: Resource$Httphealthchecks; httpsHealthChecks: Resource$Httpshealthchecks; @@ -244,6 +245,7 @@ export namespace compute_alpha { zoneOperations: Resource$Zoneoperations; zoneQueuedResources: Resource$Zonequeuedresources; zones: Resource$Zones; + zoneVmExtensionPolicies: Resource$Zonevmextensionpolicies; constructor(options: GlobalOptions, google?: GoogleConfigurable) { this.context = { @@ -277,6 +279,7 @@ export namespace compute_alpha { new Resource$Globalorganizationoperations(this.context); this.globalPublicDelegatedPrefixes = new Resource$Globalpublicdelegatedprefixes(this.context); + this.haControllers = new Resource$Hacontrollers(this.context); this.healthChecks = new Resource$Healthchecks(this.context); this.httpHealthChecks = new Resource$Httphealthchecks(this.context); this.httpsHealthChecks = new Resource$Httpshealthchecks(this.context); @@ -443,6 +446,9 @@ export namespace compute_alpha { this.zoneOperations = new Resource$Zoneoperations(this.context); this.zoneQueuedResources = new Resource$Zonequeuedresources(this.context); this.zones = new Resource$Zones(this.context); + this.zoneVmExtensionPolicies = new Resource$Zonevmextensionpolicies( + this.context + ); } } @@ -1714,6 +1720,10 @@ export namespace compute_alpha { * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ name?: string | null; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + */ + params?: Schema$BackendBucketParams; /** * [Output Only] URL of the region where the regional backend bucket resides. This field is not applicable to global backend buckets. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. */ @@ -1882,6 +1892,15 @@ export namespace compute_alpha { message?: string; } | null; } + /** + * Additional Backend Bucket parameters. + */ + export interface Schema$BackendBucketParams { + /** + * Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : \} or Namespaced format { : \}. For example the following are valid inputs: * {"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"\} * {"123/environment" : "production", "345/abc" : "xyz"\} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: {"123/environment" : "tagValues/444"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$BackendBucketUsedBy { /** * [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket. @@ -1901,7 +1920,7 @@ export namespace compute_alpha { */ maxUtilization?: number | null; /** - * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. */ name?: string | null; } @@ -1913,6 +1932,10 @@ export namespace compute_alpha { * Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. */ affinityCookieTtlSec?: number | null; + /** + * A boolean flag enabling multi-network mesh. This field is only allowed with load balancing scheme set to INTERNAL_SELF_MANAGED. + */ + allowMultinetwork?: boolean | null; /** * The list of backends that serve this BackendService. */ @@ -2019,7 +2042,7 @@ export namespace compute_alpha { */ localityLbPolicies?: Schema$BackendServiceLocalityLoadBalancingPolicyConfig[]; /** - * The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy. + * The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics field. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy. */ localityLbPolicy?: string | null; /** @@ -2050,6 +2073,10 @@ export namespace compute_alpha { * Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. */ outlierDetection?: Schema$OutlierDetection; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + */ + params?: Schema$BackendServiceParams; /** * Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port. */ @@ -2261,7 +2288,7 @@ export namespace compute_alpha { */ dryRun?: boolean | null; /** - * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. */ name?: string | null; } @@ -2532,6 +2559,15 @@ export namespace compute_alpha { */ spilloverRatio?: number | null; } + /** + * Additional Backend Service parameters. + */ + export interface Schema$BackendServiceParams { + /** + * Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : \} or Namespaced format { : \}. For example the following are valid inputs: * {"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"\} * {"123/environment" : "production", "345/abc" : "xyz"\} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: {"123/environment" : "tagValues/444"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$BackendServiceReference { backendService?: string | null; } @@ -2760,6 +2796,10 @@ export namespace compute_alpha { * [Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered. */ asns?: number[] | null; + /** + * [Output only] ASNs in the path segment. This field is for better support of 32 bit ASNs as the other asns field suffers from overflow when the ASN is larger. When type is SEQUENCE, these are ordered. + */ + asns32?: number[] | null; /** * [Output only] Type of AS-PATH segment (SEQUENCE or SET) */ @@ -3515,7 +3555,7 @@ export namespace compute_alpha { /** * A list of CompositeHealthChecks contained in this scope. */ - resources?: Schema$CompositeHealthCheck[]; + compositeHealthChecks?: Schema$CompositeHealthCheck[]; /** * Informational warning which replaces the list of composite health checks when the list is empty. */ @@ -5182,7 +5222,7 @@ export namespace compute_alpha { */ allowPscGlobalAccess?: boolean | null; /** - * This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field. + * This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field. This field was never released to any customers and is deprecated and will be removed in the future. */ allowPscPacketInjection?: boolean | null; /** @@ -5326,6 +5366,10 @@ export namespace compute_alpha { * The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. */ target?: string | null; + /** + * [PSC for VPC-hosted services only] Determines if clients are allowed to access the producer service via this PSC endpoint. + */ + trafficDisabled?: boolean | null; } export interface Schema$ForwardingRuleAggregatedList { /** @@ -6096,6 +6140,12 @@ export namespace compute_alpha { */ type?: string | null; } + export interface Schema$HaControllersFailoverRequest { + /** + * Name of the destination zone for the failover. + */ + primaryZone?: string | null; + } /** * Represents a health aggregation policy. A health aggregation policy resource defines a policy to aggregate health. For more information, see Health checks overview. */ @@ -6631,7 +6681,7 @@ export namespace compute_alpha { /** * A list of HealthSources contained in this scope. */ - resources?: Schema$HealthSource[]; + healthSources?: Schema$HealthSource[]; /** * Informational warning which replaces the list of health sources when the list is empty. */ @@ -7877,6 +7927,10 @@ export namespace compute_alpha { * Specification of machine type to use. Every position inside this message is an alternative. The count specified in the shape flexibility must not exceed the number of entries in per_instance_properties or the capacity of the name_pattern, if used. */ export interface Schema$InstanceFlexibilityPolicyInstanceSelection { + /** + * Disks to be attached to the instances created from in this selection. They override the disks specified in the instance properties. + */ + disks?: Schema$AttachedDisk[]; /** * Alternative machine types to use for instances that are created from these properties. This field only accepts a machine type names, for example `n2-standard-4` and not URLs or partial URLs. */ @@ -9130,7 +9184,7 @@ export namespace compute_alpha { */ export interface Schema$InstanceParams { /** - * Relative deadline for waiting for capacity. Relevant only for Instances.Insert API. + * Relative deadline for waiting for capacity. Relevant only for Instances.Insert and Instances.Start API. */ requestValidForDuration?: Schema$Duration; /** @@ -12736,10 +12790,6 @@ export namespace compute_alpha { * [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; status?: Schema$MultiMigStatus; } /** @@ -12750,10 +12800,6 @@ export namespace compute_alpha { * [Output Only] Creation timestamp of this multi-MIG member in RFC3339 text format. */ creationTimestamp?: string | null; - /** - * An optional description of this resource. - */ - description?: string | null; /** * [Output only] The unique identifier for this resource type. The server generates this identifier. */ @@ -12774,10 +12820,6 @@ export namespace compute_alpha { * [Output Only] Server-defined fully-qualified URL for this resource. */ selfLink?: string | null; - /** - * [Output Only] Server-defined URL for this resource with the resource id. - */ - selfLinkWithId?: string | null; /** * [Output Only] The status of this multi-MIG member */ @@ -12829,7 +12871,6 @@ export namespace compute_alpha { workloadPolicy?: string | null; } export interface Schema$MultiMigsList { - etag?: string | null; /** * Unique identifier for the resource; defined by the server. */ @@ -12850,10 +12891,6 @@ export namespace compute_alpha { * [Output only] Server-defined URL for this resource. */ selfLink?: string | null; - /** - * [Output only] Unreachable resources. - */ - unreachables?: string[] | null; /** * Informational warning message. */ @@ -15880,9 +15917,14 @@ export namespace compute_alpha { * Represents the rollout operation */ export interface Schema$PreviewFeatureRolloutOperation { + /** + * Input only. The input for the rollout operation. + */ rolloutInput?: Schema$PreviewFeatureRolloutOperationRolloutInput; - rolloutStatus?: Schema$PreviewFeatureRolloutOperationRolloutStatus; } + /** + * Represents the input for the rollout operation. + */ export interface Schema$PreviewFeatureRolloutOperationRolloutInput { /** * The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/ Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/rolloutPlans/. @@ -15892,34 +15934,6 @@ export namespace compute_alpha { * Predefined rollout plan. */ predefinedRolloutPlan?: string | null; - /** - * The UUID of the retry action. Only needed if this is a retry for an existing rollout. This can be used after the user canceled a rollout and want to retry it with no changes. - */ - retryUuid?: string | null; - } - export interface Schema$PreviewFeatureRolloutOperationRolloutStatus { - /** - * Output only. The ongoing rollout resources. There can be multiple ongoing rollouts for a resource. - */ - ongoingRollouts?: Schema$PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata[]; - /** - * Output only. The last completed rollout resource. This field will not be populated until the first rollout is completed. - */ - previousRollout?: Schema$PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata; - } - export interface Schema$PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata { - /** - * The name of the rollout Ex. organizations//locations/global/rollouts/ Ex. folders//locations/global/rollouts/ Ex. projects//locations/global/rollouts/. - */ - rollout?: string | null; - /** - * The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/ Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/rolloutPlans/. - */ - rolloutPlan?: string | null; - /** - * The status of the rollout. - */ - status?: Schema$PreviewFeatureStatus; } /** * [Output Only] The status of the feature. @@ -15935,6 +15949,9 @@ export namespace compute_alpha { helpLink?: string | null; releaseStatus?: Schema$PreviewFeatureStatusReleaseStatus; } + /** + * [Output Only] The release status of the feature. + */ export interface Schema$PreviewFeatureStatusReleaseStatus { /** * [Output Only] The stage of the feature. @@ -16303,6 +16320,10 @@ export namespace compute_alpha { * The list of sub public delegated prefixes that exist for this public delegated prefix. */ publicDelegatedSubPrefixs?: Schema$PublicDelegatedPrefixPublicDelegatedSubPrefix[]; + /** + * The purpose of the public delegated prefix. This field can only be set for the top-level global public delegated prefix. It is an output-only field for the sub-delegates that inherit the value from the top-level global public delegated prefix. Once the value is set, it cannot be changed. The field cannot be set for regional public delegated prefixes. The supported values are: - APPLICATION_AND_PROXY_LOAD_BALANCERS: The global public delegated prefix can only be used by Global External Application and Proxy Load Balancers to allocate addresses for forwarding rules. This is the default value. - PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0: The global public delegated prefix can only be used by Global External Passthrough Network Load Balancers to allocate Availability Group 0 addresses for forwarding rules. - PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1: The global public delegated prefix can only be used by Global External Passthrough Network Load Balancers to allocate Availability Group 1 addresses for forwarding rules. + */ + purpose?: string | null; /** * [Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. */ @@ -16434,6 +16455,10 @@ export namespace compute_alpha { * The name of the sub public delegated prefix. */ name?: string | null; + /** + * [Output Only] The purpose of the sub public delegated prefix. Inherited from parent prefix. + */ + purpose?: string | null; /** * [Output Only] The region of the sub public delegated prefix if it is regional. If absent, the sub prefix is global. */ @@ -17729,6 +17754,10 @@ export namespace compute_alpha { * Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources. */ export interface Schema$Reservation { + /** + * Advanced control for cluster management, applicable only to DENSE deployment type reservations. + */ + advancedDeploymentControl?: Schema$ReservationAdvancedDeploymentControl; /** * Reservation for aggregated resources, providing shape flexibility. */ @@ -17834,6 +17863,15 @@ export namespace compute_alpha { */ zone?: string | null; } + /** + * Advance control for cluster management, applicable only to DENSE deployment type reservations. + */ + export interface Schema$ReservationAdvancedDeploymentControl { + /** + * Indicates chosen reservation operational mode for the reservation. + */ + reservationOperationalMode?: string | null; + } /** * Specifies the reservations that this instance can consume from. */ @@ -20904,7 +20942,7 @@ export namespace compute_alpha { */ target?: string | null; /** - * Type of the redirect action. + * Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a different URL via a 302 response. */ type?: string | null; } @@ -21034,7 +21072,7 @@ export namespace compute_alpha { */ connectionPreference?: string | null; /** - * Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks. + * Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks or only endpoints. */ consumerAcceptLists?: Schema$ServiceAttachmentConsumerProjectLimit[]; /** @@ -21069,6 +21107,10 @@ export namespace compute_alpha { * [Output Only] Type of the resource. Always compute#serviceAttachment for service attachments. */ kind?: string | null; + /** + * Metadata of the service attachment. + */ + metadata?: {[key: string]: 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 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. */ @@ -21178,7 +21220,7 @@ export namespace compute_alpha { } export interface Schema$ServiceAttachmentConsumerProjectLimit { /** - * The value of the limit to set. + * The value of the limit to set. For endpoint_url, the limit should be no more than 1. */ connectionLimit?: number | null; /** @@ -22381,6 +22423,10 @@ export namespace compute_alpha { * An optional description of this resource. Provide this property when you create the resource. */ description?: string | null; + /** + * [Output Only] Provisioned capacities for each SKU for this Exapool in GiB + */ + exapoolProvisionedCapacityGb?: Schema$StoragePoolExapoolProvisionedCapacityGb; /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ @@ -22406,7 +22452,7 @@ export namespace compute_alpha { */ performanceProvisioningType?: string | null; /** - * Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools. + * Size of the storage pool in GiB. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools. */ poolProvisionedCapacityGb?: string | null; /** @@ -22414,7 +22460,7 @@ export namespace compute_alpha { */ poolProvisionedIops?: string | null; /** - * Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput. + * Provisioned throughput of the storage pool in MiB/s. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput. */ poolProvisionedThroughput?: string | null; /** @@ -22539,6 +22585,23 @@ export namespace compute_alpha { */ usedBytes?: string | null; } + /** + * Exapool provisioned capacities for each SKU type + */ + export interface Schema$StoragePoolExapoolProvisionedCapacityGb { + /** + * Size, in GiB, of provisioned capacity-optimized capacity for this Exapool + */ + capacityOptimized?: string | null; + /** + * Size, in GiB, of provisioned read-optimized capacity for this Exapool + */ + readOptimized?: string | null; + /** + * Size, in GiB, of provisioned write-optimized capacity for this Exapool + */ + writeOptimized?: string | null; + } /** * A list of StoragePool resources. */ @@ -22628,6 +22691,22 @@ export namespace compute_alpha { * [Output Only] Number of disks used. */ diskCount?: string | null; + /** + * [Output Only] Maximum allowed read IOPS for this Exapool. + */ + exapoolMaxReadIops?: string | null; + /** + * [Output Only] Maximum allowed read throughput in MiB/s for this Exapool. + */ + exapoolMaxReadThroughput?: string | null; + /** + * [Output Only] Maximum allowed write IOPS for this Exapool. + */ + exapoolMaxWriteIops?: string | null; + /** + * [Output Only] Maximum allowed write throughput in MiB/s for this Exapool. + */ + exapoolMaxWriteThroughput?: string | null; /** * [Output Only] Timestamp of the last successful resize in RFC3339 text format. */ @@ -22637,7 +22716,7 @@ export namespace compute_alpha { */ maxAggregateDiskSizeGb?: string | null; /** - * [Output Only] Maximum allowed aggregate disk size in gigabytes. + * [Output Only] Maximum allowed aggregate disk size in GiB. */ maxTotalProvisionedDiskCapacityGb?: string | null; /** @@ -22653,7 +22732,7 @@ export namespace compute_alpha { */ poolUsedIops?: string | null; /** - * [Output Only] Sum of all the disks' provisioned throughput in MB/s. + * [Output Only] Sum of all the disks' provisioned throughput in MiB/s. */ poolUsedThroughput?: string | null; /** @@ -22661,7 +22740,7 @@ export namespace compute_alpha { */ poolUserWrittenBytes?: string | null; /** - * [Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity. + * [Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity. */ totalProvisionedDiskCapacityGb?: string | null; /** @@ -22669,7 +22748,7 @@ export namespace compute_alpha { */ totalProvisionedDiskIops?: string | null; /** - * [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity. + * [Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity. */ totalProvisionedDiskThroughput?: string | null; /** @@ -22969,6 +23048,10 @@ export namespace compute_alpha { * The URL of the reserved internal range. */ reservedInternalRange?: string | null; + /** + * Configures subnet mask resolution for this subnetwork. + */ + resolveSubnetMask?: string | null; /** * The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. */ @@ -24998,6 +25081,138 @@ export namespace compute_alpha { message?: string; } | null; } + /** + * Represents a VM extension policy. + */ + export interface Schema$VmExtensionPolicy { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. + */ + description?: string | null; + /** + * Required. A map of extension names (e.g., "cloudops") to their corresponding policy configurations. + */ + extensionPolicies?: { + [key: string]: Schema$VmExtensionPolicyExtensionPolicy; + } | null; + /** + * Optional. [Output Only] Link to the global policy that manages this zone policy, if applicable. + */ + globalResourceLink?: string | null; + /** + * [Output Only] The unique identifier for the resource. This identifier is defined by the server. + */ + id?: string | null; + /** + * Optional. Selectors to target VMs for this policy. VMs are selected if they match *any* of the provided selectors (logical OR). If this list is empty, the policy applies to all VMs. + */ + instanceSelectors?: Schema$VmExtensionPolicyInstanceSelector[]; + /** + * [Output Only] Type of the resource. Always compute#vmExtensionPolicy. + */ + kind?: string | null; + /** + * Optional. [Output Only] Indicates if this policy is managed by a global policy. + */ + managedByGlobal?: boolean | null; + /** + * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + */ + name?: string | null; + /** + * Optional. Priority of this policy. Used to resolve conflicts when multiple policies apply to the same extension. The policy priority is an integer from 0 to 65535, inclusive. Lower integers indicate higher priorities. If you do not specify a priority when creating a rule, it is assigned a priority of 1000. If priorities are equal, the policy with the more recent creation timestamp takes precedence. + */ + priority?: number | null; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource's resource id. + */ + selfLinkWithId?: string | null; + /** + * Optional. [Output Only] Current state of the policy: ACTIVE or DELETING. + */ + state?: string | null; + /** + * [Output Only] Update timestamp in RFC3339 text format. + */ + updateTimestamp?: string | null; + } + /** + * Configuration for a specific VM extension. + */ + export interface Schema$VmExtensionPolicyExtensionPolicy { + /** + * Optional. The specific version of the extension to install. If not set, the latest version is used. + */ + pinnedVersion?: string | null; + /** + * Optional. String-based configuration data for the extension. + */ + stringConfig?: string | null; + } + /** + * Defines how to select VMs to apply a zone VM extension policy. + */ + export interface Schema$VmExtensionPolicyInstanceSelector { + /** + * Optional. LabelSelector selects VMs based on their labels. + */ + labelSelector?: Schema$VmExtensionPolicyLabelSelector; + } + /** + * A LabelSelector is applied to a VM only if it matches all the specified labels. + */ + export interface Schema$VmExtensionPolicyLabelSelector { + /** + * Optional. A map of key-value pairs representing VM labels. VMs must have all of the labels specified in this map to be selected (logical AND). e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2", "value2")\}, the VM labels must contain both ("key1", "value1") and ("key2", "value2") to be selected. If the VM labels are ("key1", "value1") and ("something", "else"), it will not be selected. If the map is empty, it's considered a match. + */ + inclusionLabels?: {[key: string]: string} | null; + } + export interface Schema$VmExtensionPolicyList { + /** + * [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$VmExtensionPolicy[]; + /** + * 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 than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + 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; + } /** * Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely connect your on-premises network to your Google Cloud Virtual Private Cloud network through an IPsec VPN connection in a single region. For more information about Cloud HA VPN solutions, see Cloud VPN topologies . */ @@ -30521,6 +30736,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -30828,6 +31044,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -31340,6 +31557,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -32027,6 +32245,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -33151,6 +33370,7 @@ export namespace compute_alpha { * // Example response * // { * // "affinityCookieTtlSec": 0, + * // "allowMultinetwork": false, * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, @@ -33186,6 +33406,7 @@ export namespace compute_alpha { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -33808,6 +34029,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "affinityCookieTtlSec": 0, + * // "allowMultinetwork": false, * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, @@ -33843,6 +34065,7 @@ export namespace compute_alpha { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -34357,6 +34580,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "affinityCookieTtlSec": 0, + * // "allowMultinetwork": false, * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, @@ -34392,6 +34616,7 @@ export namespace compute_alpha { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -35260,6 +35485,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "affinityCookieTtlSec": 0, + * // "allowMultinetwork": false, * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, @@ -35295,6 +35521,7 @@ export namespace compute_alpha { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -37708,7 +37935,7 @@ export namespace compute_alpha { * // Do the magic * const res = await compute.disks.delete({ * // Name of the persistent disk to delete. - * disk: 'placeholder-value', + * 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])?))', @@ -44020,7 +44247,7 @@ export namespace compute_alpha { } /** - * Returns the specified firewall policy. + * Starts a brand new progressive rollout of hierarchical firewall policy. This API will return an error when there is an ongoing progressive rollout. * @example * ```js * // Before running the sample: @@ -44044,7 +44271,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -44053,32 +44279,41 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.firewallPolicies.get({ - * // Name of the firewall policy to get. + * const res = await compute.firewallPolicies.forceStartProgressiveRollout({ + * // Name of the target firewall policy. * firewallPolicy: '(firewallPolicies/)?[0-9]{0,20}', * }); * console.log(res.data); * * // Example response * // { - * // "associations": [], + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "displayName": "my_displayName", - * // "fingerprint": "my_fingerprint", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "packetMirroringRules": [], - * // "parent": "my_parent", - * // "policyType": "my_policyType", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", - * // "ruleTupleCount": 0, - * // "rules": [], * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shortName": "my_shortName", - * // "vpcNetworkScope": "my_vpcNetworkScope" + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -44094,53 +44329,56 @@ export namespace compute_alpha { * @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$Firewallpolicies$Get, + forceStartProgressiveRollout( + params: Params$Resource$Firewallpolicies$Forcestartprogressiverollout, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Firewallpolicies$Get, + forceStartProgressiveRollout( + params?: Params$Resource$Firewallpolicies$Forcestartprogressiverollout, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Firewallpolicies$Get, + ): Promise>; + forceStartProgressiveRollout( + params: Params$Resource$Firewallpolicies$Forcestartprogressiverollout, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Firewallpolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + forceStartProgressiveRollout( + params: Params$Resource$Firewallpolicies$Forcestartprogressiverollout, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Firewallpolicies$Get, - callback: BodyResponseCallback + forceStartProgressiveRollout( + params: Params$Resource$Firewallpolicies$Forcestartprogressiverollout, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + forceStartProgressiveRollout( + callback: BodyResponseCallback + ): void; + forceStartProgressiveRollout( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Get - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Forcestartprogressiverollout + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Get; + {}) as Params$Resource$Firewallpolicies$Forcestartprogressiverollout; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Get; + params = + {} as Params$Resource$Firewallpolicies$Forcestartprogressiverollout; options = {}; } @@ -44155,9 +44393,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}' + '/compute/alpha/locations/global/{+firewallPolicy}/forceStartProgressiveRollout' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -44168,17 +44406,17 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets an association with the specified name. + * Returns the specified firewall policy. * @example * ```js * // Before running the sample: @@ -44211,22 +44449,32 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.firewallPolicies.getAssociation({ - * // Name of the firewall policy to which the queried rule belongs. + * const res = await compute.firewallPolicies.get({ + * // Name of the firewall policy to get. * firewallPolicy: '(firewallPolicies/)?[0-9]{0,20}', - * // The name of the association to get from the firewall policy. - * name: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "attachmentTarget": "my_attachmentTarget", + * // "associations": [], + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", * // "displayName": "my_displayName", - * // "firewallPolicyId": "my_firewallPolicyId", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", * // "name": "my_name", - * // "priority": 0, - * // "shortName": "my_shortName" + * // "packetMirroringRules": [], + * // "parent": "my_parent", + * // "policyType": "my_policyType", + * // "region": "my_region", + * // "ruleTupleCount": 0, + * // "rules": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shortName": "my_shortName", + * // "vpcNetworkScope": "my_vpcNetworkScope" * // } * } * @@ -44242,57 +44490,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getAssociation( - params: Params$Resource$Firewallpolicies$Getassociation, + get( + params: Params$Resource$Firewallpolicies$Get, options: StreamMethodOptions ): Promise>; - getAssociation( - params?: Params$Resource$Firewallpolicies$Getassociation, + get( + params?: Params$Resource$Firewallpolicies$Get, options?: MethodOptions - ): Promise>; - getAssociation( - params: Params$Resource$Firewallpolicies$Getassociation, + ): Promise>; + get( + params: Params$Resource$Firewallpolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getAssociation( - params: Params$Resource$Firewallpolicies$Getassociation, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAssociation( - params: Params$Resource$Firewallpolicies$Getassociation, - callback: BodyResponseCallback + get( + params: Params$Resource$Firewallpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getAssociation( - callback: BodyResponseCallback + get( + params: Params$Resource$Firewallpolicies$Get, + callback: BodyResponseCallback ): void; - getAssociation( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Getassociation - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Getassociation; + {}) as Params$Resource$Firewallpolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Getassociation; + params = {} as Params$Resource$Firewallpolicies$Get; options = {}; } @@ -44307,7 +44551,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getAssociation' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -44320,17 +44564,17 @@ export namespace compute_alpha { 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. + * Gets an association with the specified name. * @example * ```js * // Before running the sample: @@ -44363,20 +44607,22 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.firewallPolicies.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', - * // Name or id of the resource for this request. - * resource: '(firewallPolicies/)?[0-9]{0,20}', + * const res = await compute.firewallPolicies.getAssociation({ + * // Name of the firewall policy to which the queried rule belongs. + * firewallPolicy: '(firewallPolicies/)?[0-9]{0,20}', + * // The name of the association to get from the firewall policy. + * name: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "attachmentTarget": "my_attachmentTarget", + * // "displayName": "my_displayName", + * // "firewallPolicyId": "my_firewallPolicyId", + * // "name": "my_name", + * // "priority": 0, + * // "shortName": "my_shortName" * // } * } * @@ -44392,53 +44638,57 @@ export namespace compute_alpha { * @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$Firewallpolicies$Getiampolicy, + getAssociation( + params: Params$Resource$Firewallpolicies$Getassociation, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Firewallpolicies$Getiampolicy, + getAssociation( + params?: Params$Resource$Firewallpolicies$Getassociation, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Firewallpolicies$Getiampolicy, + ): Promise>; + getAssociation( + params: Params$Resource$Firewallpolicies$Getassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Firewallpolicies$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getAssociation( + params: Params$Resource$Firewallpolicies$Getassociation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Firewallpolicies$Getiampolicy, - callback: BodyResponseCallback + getAssociation( + params: Params$Resource$Firewallpolicies$Getassociation, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + getAssociation( + callback: BodyResponseCallback + ): void; + getAssociation( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Getiampolicy - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Getassociation + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Getiampolicy; + {}) as Params$Resource$Firewallpolicies$Getassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Getiampolicy; + params = {} as Params$Resource$Firewallpolicies$Getassociation; options = {}; } @@ -44453,7 +44703,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{resource}/getIamPolicy' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getAssociation' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -44461,22 +44711,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a packet mirroring rule of the specified priority. + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. * @example * ```js * // Before running the sample: @@ -44509,33 +44759,20 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.firewallPolicies.getPacketMirroringRule({ - * // Name of the firewall policy to which the queried rule belongs. - * firewallPolicy: '(firewallPolicies/)?[0-9]{0,20}', - * // The priority of the rule to get from the firewall policy. - * priority: 'placeholder-value', + * const res = await compute.firewallPolicies.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '(firewallPolicies/)?[0-9]{0,20}', * }); * console.log(res.data); * * // Example response * // { - * // "action": "my_action", - * // "description": "my_description", - * // "direction": "my_direction", - * // "disabled": false, - * // "enableLogging": false, - * // "kind": "my_kind", - * // "match": {}, - * // "priority": 0, - * // "ruleName": "my_ruleName", - * // "ruleTupleCount": 0, - * // "securityProfileGroup": "my_securityProfileGroup", - * // "targetForwardingRules": [], - * // "targetResources": [], - * // "targetSecureTags": [], - * // "targetServiceAccounts": [], - * // "targetType": "my_targetType", - * // "tlsInspect": false + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -44551,55 +44788,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, + getIamPolicy( + params: Params$Resource$Firewallpolicies$Getiampolicy, options: StreamMethodOptions ): Promise>; - getPacketMirroringRule( - params?: Params$Resource$Firewallpolicies$Getpacketmirroringrule, + getIamPolicy( + params?: Params$Resource$Firewallpolicies$Getiampolicy, options?: MethodOptions - ): Promise>; - getPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, + ): Promise>; + getIamPolicy( + params: Params$Resource$Firewallpolicies$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Firewallpolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getPacketMirroringRule( - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Firewallpolicies$Getiampolicy, + callback: BodyResponseCallback ): void; - getPacketMirroringRule( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Getpacketmirroringrule - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Getpacketmirroringrule; + {}) as Params$Resource$Firewallpolicies$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Getpacketmirroringrule; + params = {} as Params$Resource$Firewallpolicies$Getiampolicy; options = {}; } @@ -44614,7 +44849,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule' + '/compute/alpha/locations/global/firewallPolicies/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -44622,22 +44857,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a rule of the specified priority. + * Gets a packet mirroring rule of the specified priority. * @example * ```js * // Before running the sample: @@ -44670,7 +44905,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.firewallPolicies.getRule({ + * const res = await compute.firewallPolicies.getPacketMirroringRule({ * // Name of the firewall policy to which the queried rule belongs. * firewallPolicy: '(firewallPolicies/)?[0-9]{0,20}', * // The priority of the rule to get from the firewall policy. @@ -44712,32 +44947,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getRule( - params: Params$Resource$Firewallpolicies$Getrule, + getPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, options: StreamMethodOptions ): Promise>; - getRule( - params?: Params$Resource$Firewallpolicies$Getrule, + getPacketMirroringRule( + params?: Params$Resource$Firewallpolicies$Getpacketmirroringrule, options?: MethodOptions ): Promise>; - getRule( - params: Params$Resource$Firewallpolicies$Getrule, + getPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getRule( - params: Params$Resource$Firewallpolicies$Getrule, + getPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getRule( - params: Params$Resource$Firewallpolicies$Getrule, + getPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, callback: BodyResponseCallback ): void; - getRule(callback: BodyResponseCallback): void; - getRule( + getPacketMirroringRule( + callback: BodyResponseCallback + ): void; + getPacketMirroringRule( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Getrule + | Params$Resource$Firewallpolicies$Getpacketmirroringrule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -44753,12 +44990,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Getrule; + {}) as Params$Resource$Firewallpolicies$Getpacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Getrule; + params = {} as Params$Resource$Firewallpolicies$Getpacketmirroringrule; options = {}; } @@ -44773,7 +45010,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getRule' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -44796,7 +45033,166 @@ export namespace compute_alpha { } /** - * Creates a new policy in the specified project using the data included in the request. + * Gets a rule of the specified priority. + * @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('alpha'); + * + * async function main() { + * const auth = new 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.firewallPolicies.getRule({ + * // Name of the firewall policy to which the queried rule belongs. + * firewallPolicy: '(firewallPolicies/)?[0-9]{0,20}', + * // The priority of the rule to get from the firewall policy. + * priority: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": "my_action", + * // "description": "my_description", + * // "direction": "my_direction", + * // "disabled": false, + * // "enableLogging": false, + * // "kind": "my_kind", + * // "match": {}, + * // "priority": 0, + * // "ruleName": "my_ruleName", + * // "ruleTupleCount": 0, + * // "securityProfileGroup": "my_securityProfileGroup", + * // "targetForwardingRules": [], + * // "targetResources": [], + * // "targetSecureTags": [], + * // "targetServiceAccounts": [], + * // "targetType": "my_targetType", + * // "tlsInspect": 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. + */ + getRule( + params: Params$Resource$Firewallpolicies$Getrule, + options: StreamMethodOptions + ): Promise>; + getRule( + params?: Params$Resource$Firewallpolicies$Getrule, + options?: MethodOptions + ): Promise>; + getRule( + params: Params$Resource$Firewallpolicies$Getrule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getRule( + params: Params$Resource$Firewallpolicies$Getrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getRule( + params: Params$Resource$Firewallpolicies$Getrule, + callback: BodyResponseCallback + ): void; + getRule(callback: BodyResponseCallback): void; + getRule( + paramsOrCallback?: + | Params$Resource$Firewallpolicies$Getrule + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Firewallpolicies$Getrule; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Firewallpolicies$Getrule; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getRule' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a new policy in the specified project using the data included in the request. * @example * ```js * // Before running the sample: @@ -46945,6 +47341,13 @@ export namespace compute_alpha { */ requestId?: string; } + export interface Params$Resource$Firewallpolicies$Forcestartprogressiverollout + extends StandardParameters { + /** + * Name of the target firewall policy. + */ + firewallPolicy?: string; + } export interface Params$Resource$Firewallpolicies$Get extends StandardParameters { /** @@ -48985,7 +49388,8 @@ export namespace compute_alpha { * // "serviceName": "my_serviceName", * // "sourceIpRanges": [], * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "target": "my_target", + * // "trafficDisabled": false * // } * } * @@ -49168,7 +49572,8 @@ export namespace compute_alpha { * // "serviceName": "my_serviceName", * // "sourceIpRanges": [], * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "target": "my_target", + * // "trafficDisabled": false * // } * }, * }); @@ -49546,7 +49951,8 @@ export namespace compute_alpha { * // "serviceName": "my_serviceName", * // "sourceIpRanges": [], * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "target": "my_target", + * // "trafficDisabled": false * // } * }, * }); @@ -53610,7 +54016,8 @@ export namespace compute_alpha { * // "serviceName": "my_serviceName", * // "sourceIpRanges": [], * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "target": "my_target", + * // "trafficDisabled": false * // } * } * @@ -53791,7 +54198,8 @@ export namespace compute_alpha { * // "serviceName": "my_serviceName", * // "sourceIpRanges": [], * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "target": "my_target", + * // "trafficDisabled": false * // } * }, * }); @@ -54165,7 +54573,8 @@ export namespace compute_alpha { * // "serviceName": "my_serviceName", * // "sourceIpRanges": [], * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "target": "my_target", + * // "trafficDisabled": false * // } * }, * }); @@ -57408,9 +57817,9 @@ export namespace compute_alpha { * * // Do the magic * const res = await compute.globalOrganizationOperations.get({ - * // Name of the Operations resource to return, or its unique numeric identifier. + * // Name of the Operations resource to return. Parent is derived from this field. * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Parent ID for this request. + * // Parent ID for this request. Not used. Parent is derived from resource_id. * parentId: 'placeholder-value', * }); * console.log(res.data); @@ -57711,11 +58120,11 @@ export namespace compute_alpha { export interface Params$Resource$Globalorganizationoperations$Get extends StandardParameters { /** - * Name of the Operations resource to return, or its unique numeric identifier. + * Name of the Operations resource to return. Parent is derived from this field. */ operation?: string; /** - * Parent ID for this request. + * Parent ID for this request. Not used. Parent is derived from resource_id. */ parentId?: string; } @@ -57983,6 +58392,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "parentPrefix": "my_parentPrefix", * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -58145,6 +58555,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "parentPrefix": "my_parentPrefix", * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -58502,6 +58913,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "parentPrefix": "my_parentPrefix", * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -58729,14 +59141,14 @@ export namespace compute_alpha { requestBody?: Schema$PublicDelegatedPrefix; } - export class Resource$Healthchecks { + export class Resource$Hacontrollers { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * Fails over a VM targeted by the specified HaController to the selected zone. * @example * ```js * // Before running the sample: @@ -58760,7 +59172,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -58769,36 +59180,56 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.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 on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. - * 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. + * const res = await compute.haControllers.failover({ + * // ID of the HaController resource to update. + * haController: '[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 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. + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "primaryZone": "my_primaryZone" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -58814,57 +59245,53 @@ export namespace compute_alpha { * @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$Healthchecks$Aggregatedlist, + failover( + params: Params$Resource$Hacontrollers$Failover, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Healthchecks$Aggregatedlist, + failover( + params?: Params$Resource$Hacontrollers$Failover, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Healthchecks$Aggregatedlist, + ): Promise>; + failover( + params: Params$Resource$Hacontrollers$Failover, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Healthchecks$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Healthchecks$Aggregatedlist, - callback: BodyResponseCallback + failover( + params: Params$Resource$Hacontrollers$Failover, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + failover( + params: Params$Resource$Hacontrollers$Failover, + callback: BodyResponseCallback ): void; - aggregatedList( + failover(callback: BodyResponseCallback): void; + failover( paramsOrCallback?: - | Params$Resource$Healthchecks$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Hacontrollers$Failover + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Aggregatedlist; + {}) as Params$Resource$Hacontrollers$Failover; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Aggregatedlist; + params = {} as Params$Resource$Hacontrollers$Failover; options = {}; } @@ -58879,30 +59306,228 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/healthChecks' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}/failover' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region', 'haController'], + pathParams: ['haController', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Hacontrollers$Failover + extends StandardParameters { /** - * Deletes the specified HealthCheck resource. + * ID of the HaController resource to update. + */ + haController?: 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. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HaControllersFailoverRequest; + } + + export class Resource$Healthchecks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * @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('alpha'); + * + * async function main() { + * const auth = new 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.healthChecks.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 on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + * 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$Healthchecks$Aggregatedlist, + options: StreamMethodOptions + ): Promise>; + aggregatedList( + params?: Params$Resource$Healthchecks$Aggregatedlist, + options?: MethodOptions + ): Promise>; + aggregatedList( + params: Params$Resource$Healthchecks$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Healthchecks$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Healthchecks$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Healthchecks$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Healthchecks$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Healthchecks$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/alpha/projects/{project}/aggregated/healthChecks' + ).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 HealthCheck resource. * @example * ```js * // Before running the sample: @@ -64073,9 +64698,6 @@ export namespace compute_alpha { * 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', * ], * }); * @@ -130266,6 +130888,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "parentPrefix": "my_parentPrefix", * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -130430,6 +131053,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "parentPrefix": "my_parentPrefix", * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -130791,6 +131415,7 @@ export namespace compute_alpha { * // "name": "my_name", * // "parentPrefix": "my_parentPrefix", * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -132140,7 +132765,7 @@ export namespace compute_alpha { * recoverableSnapshot: '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 of the snapshot after the recovery The name will be 1-63 characters long, and comply with RFC1035. 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. + * // Optional. Name of the snapshot after the recovery The name will be 1-63 characters long, and comply with RFC1035. 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); @@ -132703,7 +133328,7 @@ export namespace compute_alpha { */ requestId?: string; /** - * Name of the snapshot after the recovery The name will be 1-63 characters long, and comply with RFC1035. 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. + * Optional. Name of the snapshot after the recovery The name will be 1-63 characters long, and comply with RFC1035. 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?: string; } @@ -134376,6 +135001,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -134687,6 +135313,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -135205,6 +135832,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", @@ -136089,6 +136717,7 @@ export namespace compute_alpha { * // Example response * // { * // "affinityCookieTtlSec": 0, + * // "allowMultinetwork": false, * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, @@ -136124,6 +136753,7 @@ export namespace compute_alpha { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -136597,6 +137227,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "affinityCookieTtlSec": 0, + * // "allowMultinetwork": false, * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, @@ -136632,6 +137263,7 @@ export namespace compute_alpha { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -137152,6 +137784,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "affinityCookieTtlSec": 0, + * // "allowMultinetwork": false, * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, @@ -137187,6 +137820,7 @@ export namespace compute_alpha { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -137882,6 +138516,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "affinityCookieTtlSec": 0, + * // "allowMultinetwork": false, * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, @@ -137917,6 +138552,7 @@ export namespace compute_alpha { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -142159,7 +142795,7 @@ export namespace compute_alpha { * // Do the magic * const res = await compute.regionDisks.delete({ * // Name of the regional persistent disk to delete. - * disk: 'placeholder-value', + * 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])?))', @@ -163103,13 +163739,11 @@ export namespace compute_alpha { * // Example response * // { * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", * // "id": "my_id", * // "kind": "my_kind", * // "name": "my_name", * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", * // "status": {} * // } * } @@ -163659,7 +164293,6 @@ export namespace compute_alpha { * // "region": "my_region", * // "resourcePolicies": {}, * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", * // "status": {} * // } * } @@ -163813,7 +164446,6 @@ export namespace compute_alpha { * // "region": "my_region", * // "resourcePolicies": {}, * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", * // "status": {} * // } * }, @@ -164002,13 +164634,11 @@ export namespace compute_alpha { * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -184800,6 +185430,7 @@ export namespace compute_alpha { * * // Example response * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", @@ -185120,6 +185751,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", @@ -186165,6 +186797,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { + * // "advancedDeploymentControl": {}, * // "aggregateReservation": {}, * // "commitment": "my_commitment", * // "creationTimestamp": "my_creationTimestamp", @@ -197388,6 +198021,7 @@ export namespace compute_alpha { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -197704,6 +198338,7 @@ export namespace compute_alpha { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -198066,6 +198701,7 @@ export namespace compute_alpha { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -205103,6 +205739,7 @@ export namespace compute_alpha { * // "capacityProvisioningType": "my_capacityProvisioningType", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "exapoolProvisionedCapacityGb": {}, * // "id": "my_id", * // "kind": "my_kind", * // "labelFingerprint": "my_labelFingerprint", @@ -205419,6 +206056,7 @@ export namespace compute_alpha { * // "capacityProvisioningType": "my_capacityProvisioningType", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "exapoolProvisionedCapacityGb": {}, * // "id": "my_id", * // "kind": "my_kind", * // "labelFingerprint": "my_labelFingerprint", @@ -206449,6 +207087,7 @@ export namespace compute_alpha { * // "capacityProvisioningType": "my_capacityProvisioningType", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "exapoolProvisionedCapacityGb": {}, * // "id": "my_id", * // "kind": "my_kind", * // "labelFingerprint": "my_labelFingerprint", @@ -208048,6 +208687,7 @@ export namespace compute_alpha { * // "purpose": "my_purpose", * // "region": "my_region", * // "reservedInternalRange": "my_reservedInternalRange", + * // "resolveSubnetMask": "my_resolveSubnetMask", * // "role": "my_role", * // "secondaryIpRanges": [], * // "selfLink": "my_selfLink", @@ -208381,6 +209021,7 @@ export namespace compute_alpha { * // "purpose": "my_purpose", * // "region": "my_region", * // "reservedInternalRange": "my_reservedInternalRange", + * // "resolveSubnetMask": "my_resolveSubnetMask", * // "role": "my_role", * // "secondaryIpRanges": [], * // "selfLink": "my_selfLink", @@ -208929,6 +209570,7 @@ export namespace compute_alpha { * // "purpose": "my_purpose", * // "region": "my_region", * // "reservedInternalRange": "my_reservedInternalRange", + * // "resolveSubnetMask": "my_resolveSubnetMask", * // "role": "my_role", * // "secondaryIpRanges": [], * // "selfLink": "my_selfLink", @@ -231667,4 +232309,1002 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; } + + export class Resource$Zonevmextensionpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a specified zone VM extension 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('alpha'); + * + * async function main() { + * const auth = new 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.zoneVmExtensionPolicies.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 zone VM extension policy to delete. + * vmExtensionPolicy: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "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$Zonevmextensionpolicies$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Zonevmextensionpolicies$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Zonevmextensionpolicies$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Zonevmextensionpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Zonevmextensionpolicies$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Zonevmextensionpolicies$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Zonevmextensionpolicies$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Zonevmextensionpolicies$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/alpha/projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'vmExtensionPolicy'], + pathParams: ['project', 'vmExtensionPolicy', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves details of a specific zone VM extension 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('alpha'); + * + * async function main() { + * const auth = new 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.zoneVmExtensionPolicies.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 VM extension policy resource to return. + * vmExtensionPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", + * // "id": "my_id", + * // "instanceSelectors": [], + * // "kind": "my_kind", + * // "managedByGlobal": false, + * // "name": "my_name", + * // "priority": 0, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Zonevmextensionpolicies$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Zonevmextensionpolicies$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Zonevmextensionpolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Zonevmextensionpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Zonevmextensionpolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Zonevmextensionpolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Zonevmextensionpolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Zonevmextensionpolicies$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/alpha/projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'vmExtensionPolicy'], + pathParams: ['project', 'vmExtensionPolicy', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a new zone-level VM extension policy within 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('alpha'); + * + * async function main() { + * const auth = new 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.zoneVmExtensionPolicies.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])?))', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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 zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", + * // "id": "my_id", + * // "instanceSelectors": [], + * // "kind": "my_kind", + * // "managedByGlobal": false, + * // "name": "my_name", + * // "priority": 0, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "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. + */ + insert( + params: Params$Resource$Zonevmextensionpolicies$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Zonevmextensionpolicies$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Zonevmextensionpolicies$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Zonevmextensionpolicies$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Zonevmextensionpolicies$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Zonevmextensionpolicies$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Zonevmextensionpolicies$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Zonevmextensionpolicies$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/vmExtensionPolicies' + ).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); + } + } + + /** + * Lists all VM extension policies within a specific zone 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('alpha'); + * + * async function main() { + * const auth = new 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.zoneVmExtensionPolicies.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 on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + * 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', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "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. + */ + list( + params: Params$Resource$Zonevmextensionpolicies$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Zonevmextensionpolicies$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Zonevmextensionpolicies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Zonevmextensionpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Zonevmextensionpolicies$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Zonevmextensionpolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Zonevmextensionpolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Zonevmextensionpolicies$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/alpha/projects/{project}/zones/{zone}/vmExtensionPolicies' + ).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); + } + } + + /** + * Modifies an existing zone VM extension 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('alpha'); + * + * async function main() { + * const auth = new 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.zoneVmExtensionPolicies.update({ + * // 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 zone VM extension policy to update. + * vmExtensionPolicy: 'placeholder-value', + * // 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 + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", + * // "id": "my_id", + * // "instanceSelectors": [], + * // "kind": "my_kind", + * // "managedByGlobal": false, + * // "name": "my_name", + * // "priority": 0, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "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", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "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$Zonevmextensionpolicies$Update, + options: StreamMethodOptions + ): Promise>; + update( + params?: Params$Resource$Zonevmextensionpolicies$Update, + options?: MethodOptions + ): Promise>; + update( + params: Params$Resource$Zonevmextensionpolicies$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Zonevmextensionpolicies$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Zonevmextensionpolicies$Update, + callback: BodyResponseCallback + ): void; + update(callback: BodyResponseCallback): void; + update( + paramsOrCallback?: + | Params$Resource$Zonevmextensionpolicies$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Zonevmextensionpolicies$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Zonevmextensionpolicies$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/alpha/projects/{project}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'vmExtensionPolicy'], + pathParams: ['project', 'vmExtensionPolicy', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Zonevmextensionpolicies$Delete + 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; + /** + * Name of the zone VM extension policy to delete. + */ + vmExtensionPolicy?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Zonevmextensionpolicies$Get + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the VM extension policy resource to return. + */ + vmExtensionPolicy?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Zonevmextensionpolicies$Insert + 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; + /** + * Name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$VmExtensionPolicy; + } + export interface Params$Resource$Zonevmextensionpolicies$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 on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + 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; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Zonevmextensionpolicies$Update + 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; + /** + * Name of the zone VM extension policy to update. + */ + vmExtensionPolicy?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$VmExtensionPolicy; + } } diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index 2559b35849e..01276e37a93 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -1598,6 +1598,10 @@ export namespace compute_beta { * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ name?: string | null; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + */ + params?: Schema$BackendBucketParams; /** * [Output Only] Server-defined URL for the resource. */ @@ -1758,6 +1762,15 @@ export namespace compute_beta { message?: string; } | null; } + /** + * Additional Backend Bucket parameters. + */ + export interface Schema$BackendBucketParams { + /** + * Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : \} or Namespaced format { : \}. For example the following are valid inputs: * {"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"\} * {"123/environment" : "production", "345/abc" : "xyz"\} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: {"123/environment" : "tagValues/444"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$BackendBucketUsedBy { /** * [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket. @@ -1777,7 +1790,7 @@ export namespace compute_beta { */ maxUtilization?: number | null; /** - * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. */ name?: string | null; } @@ -1895,7 +1908,7 @@ export namespace compute_beta { */ localityLbPolicies?: Schema$BackendServiceLocalityLoadBalancingPolicyConfig[]; /** - * The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy. + * The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics field. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy. */ localityLbPolicy?: string | null; /** @@ -1926,6 +1939,10 @@ export namespace compute_beta { * Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. */ outlierDetection?: Schema$OutlierDetection; + /** + * Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + */ + params?: Schema$BackendServiceParams; /** * Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port. */ @@ -2129,7 +2146,7 @@ export namespace compute_beta { */ dryRun?: boolean | null; /** - * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. */ name?: string | null; } @@ -2378,6 +2395,15 @@ export namespace compute_beta { */ spilloverRatio?: number | null; } + /** + * Additional Backend Service parameters. + */ + export interface Schema$BackendServiceParams { + /** + * Tag keys/values directly bound to this resource. Tag keys and values have the same definition as resource manager tags. The field is allowed for INSERT only. The keys/values to set on the resource should be specified in either ID { : \} or Namespaced format { : \}. For example the following are valid inputs: * {"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"\} * {"123/environment" : "production", "345/abc" : "xyz"\} Note: * Invalid combinations of ID & namespaced format is not supported. For instance: {"123/environment" : "tagValues/444"\} is invalid. + */ + resourceManagerTags?: {[key: string]: string} | null; + } export interface Schema$BackendServiceReference { backendService?: string | null; } @@ -4570,7 +4596,7 @@ export namespace compute_beta { */ allowPscGlobalAccess?: boolean | null; /** - * This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field. + * This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field. This field was never released to any customers and is deprecated and will be removed in the future. */ allowPscPacketInjection?: boolean | null; /** @@ -10957,7 +10983,6 @@ export namespace compute_beta { workloadPolicy?: string | null; } export interface Schema$MultiMigsList { - etag?: string | null; /** * Unique identifier for the resource; defined by the server. */ @@ -10978,10 +11003,6 @@ export namespace compute_beta { * [Output only] Server-defined URL for this resource. */ selfLink?: string | null; - /** - * [Output only] Unreachable resources. - */ - unreachables?: string[] | null; /** * Informational warning message. */ @@ -13776,9 +13797,14 @@ export namespace compute_beta { * Represents the rollout operation */ export interface Schema$PreviewFeatureRolloutOperation { + /** + * Input only. The input for the rollout operation. + */ rolloutInput?: Schema$PreviewFeatureRolloutOperationRolloutInput; - rolloutStatus?: Schema$PreviewFeatureRolloutOperationRolloutStatus; } + /** + * Represents the input for the rollout operation. + */ export interface Schema$PreviewFeatureRolloutOperationRolloutInput { /** * The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/ Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/rolloutPlans/. @@ -13788,34 +13814,6 @@ export namespace compute_beta { * Predefined rollout plan. */ predefinedRolloutPlan?: string | null; - /** - * The UUID of the retry action. Only needed if this is a retry for an existing rollout. This can be used after the user canceled a rollout and want to retry it with no changes. - */ - retryUuid?: string | null; - } - export interface Schema$PreviewFeatureRolloutOperationRolloutStatus { - /** - * Output only. The ongoing rollout resources. There can be multiple ongoing rollouts for a resource. - */ - ongoingRollouts?: Schema$PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata[]; - /** - * Output only. The last completed rollout resource. This field will not be populated until the first rollout is completed. - */ - previousRollout?: Schema$PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata; - } - export interface Schema$PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata { - /** - * The name of the rollout Ex. organizations//locations/global/rollouts/ Ex. folders//locations/global/rollouts/ Ex. projects//locations/global/rollouts/. - */ - rollout?: string | null; - /** - * The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/ Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/rolloutPlans/. - */ - rolloutPlan?: string | null; - /** - * The status of the rollout. - */ - status?: Schema$PreviewFeatureStatus; } /** * [Output Only] The status of the feature. @@ -13825,8 +13823,15 @@ export namespace compute_beta { * [Output Only] The description of the feature. */ description?: string | null; + /** + * [Output Only] Link to the public documentation for the feature. + */ + helpLink?: string | null; releaseStatus?: Schema$PreviewFeatureStatusReleaseStatus; } + /** + * [Output Only] The release status of the feature. + */ export interface Schema$PreviewFeatureStatusReleaseStatus { /** * [Output Only] The stage of the feature. @@ -15002,6 +15007,10 @@ export namespace compute_beta { * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ name?: string | null; + /** + * Protection tier for the workload which specifies the workload expectations in the event of infrastructure failures at data center (e.g. power and/or cooling failures). + */ + protectionTier?: string | null; /** * [Output only] Indicates the reservation mode of the reservation. */ @@ -17729,7 +17738,7 @@ export namespace compute_beta { */ target?: string | null; /** - * Type of the redirect action. + * Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a different URL via a 302 response. */ type?: string | null; } @@ -17830,7 +17839,7 @@ export namespace compute_beta { */ connectionPreference?: string | null; /** - * Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks. + * Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks or only endpoints. */ consumerAcceptLists?: Schema$ServiceAttachmentConsumerProjectLimit[]; /** @@ -17865,6 +17874,10 @@ export namespace compute_beta { * [Output Only] Type of the resource. Always compute#serviceAttachment for service attachments. */ kind?: string | null; + /** + * Metadata of the service attachment. + */ + metadata?: {[key: string]: 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 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. */ @@ -17970,7 +17983,7 @@ export namespace compute_beta { } export interface Schema$ServiceAttachmentConsumerProjectLimit { /** - * The value of the limit to set. + * The value of the limit to set. For endpoint_url, the limit should be no more than 1. */ connectionLimit?: number | null; /** @@ -19040,7 +19053,7 @@ export namespace compute_beta { */ performanceProvisioningType?: string | null; /** - * Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools. + * Size of the storage pool in GiB. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools. */ poolProvisionedCapacityGb?: string | null; /** @@ -19048,7 +19061,7 @@ export namespace compute_beta { */ poolProvisionedIops?: string | null; /** - * Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput. + * Provisioned throughput of the storage pool in MiB/s. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput. */ poolProvisionedThroughput?: string | null; /** @@ -19247,7 +19260,7 @@ export namespace compute_beta { */ lastResizeTimestamp?: string | null; /** - * [Output Only] Maximum allowed aggregate disk size in gigabytes. + * [Output Only] Maximum allowed aggregate disk size in GiB. */ maxTotalProvisionedDiskCapacityGb?: string | null; /** @@ -19259,7 +19272,7 @@ export namespace compute_beta { */ poolUsedIops?: string | null; /** - * [Output Only] Sum of all the disks' provisioned throughput in MB/s. + * [Output Only] Sum of all the disks' provisioned throughput in MiB/s. */ poolUsedThroughput?: string | null; /** @@ -19267,7 +19280,7 @@ export namespace compute_beta { */ poolUserWrittenBytes?: string | null; /** - * [Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity. + * [Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity. */ totalProvisionedDiskCapacityGb?: string | null; /** @@ -19275,7 +19288,7 @@ export namespace compute_beta { */ totalProvisionedDiskIops?: string | null; /** - * [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity. + * [Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity. */ totalProvisionedDiskThroughput?: string | null; } @@ -19543,6 +19556,10 @@ export namespace compute_beta { * The URL of the reserved internal range. */ reservedInternalRange?: string | null; + /** + * Configures subnet mask resolution for this subnetwork. + */ + resolveSubnetMask?: string | null; /** * The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. */ @@ -19571,6 +19588,10 @@ export namespace compute_beta { * Output only. [Output Only] The array of internal IPv6 network ranges reserved from the subnetwork's internal IPv6 range for system use. */ systemReservedInternalIpv6Ranges?: string[] | null; + /** + * Output only. [Output Only] The current IP utilization of all subnetwork ranges. Contains the total number of allocated and free IPs in each range. + */ + utilizationDetails?: Schema$SubnetworkUtilizationDetails; } export interface Schema$SubnetworkAggregatedList { /** @@ -19731,6 +19752,45 @@ export namespace compute_beta { export interface Schema$SubnetworksSetPrivateIpGoogleAccessRequest { privateIpGoogleAccess?: boolean | null; } + /** + * The current IP utilization of all subnetwork ranges. Contains the total number of allocated and free IPs in each range. + */ + export interface Schema$SubnetworkUtilizationDetails { + /** + * Utilizations of external IPV6 IP range. + */ + externalIpv6InstanceUtilization?: Schema$SubnetworkUtilizationDetailsIPV6Utilization; + /** + * Utilizations of external IPV6 IP range for NetLB. + */ + externalIpv6LbUtilization?: Schema$SubnetworkUtilizationDetailsIPV6Utilization; + /** + * Utilizations of internal IPV6 IP range. + */ + internalIpv6Utilization?: Schema$SubnetworkUtilizationDetailsIPV6Utilization; + /** + * Utilizations of all IPV4 IP ranges. For primary ranges, the range name will be empty. + */ + ipv4Utilizations?: Schema$SubnetworkUtilizationDetailsIPV4Utilization[]; + } + /** + * The IPV4 utilization of a single IP range. + */ + export interface Schema$SubnetworkUtilizationDetailsIPV4Utilization { + /** + * Will be set for secondary range. Empty for primary IPv4 range. + */ + rangeName?: string | null; + totalAllocatedIp?: string | null; + totalFreeIp?: string | null; + } + /** + * The IPV6 utilization of a single IP range. + */ + export interface Schema$SubnetworkUtilizationDetailsIPV6Utilization { + totalAllocatedIp?: Schema$Uint128; + totalFreeIp?: Schema$Uint128; + } /** * Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. */ @@ -26682,6 +26742,7 @@ export namespace compute_beta { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "selfLink": "my_selfLink", * // "usedBy": [] * // } @@ -26987,6 +27048,7 @@ export namespace compute_beta { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "selfLink": "my_selfLink", * // "usedBy": [] * // } @@ -27494,6 +27556,7 @@ export namespace compute_beta { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "selfLink": "my_selfLink", * // "usedBy": [] * // } @@ -28177,6 +28240,7 @@ export namespace compute_beta { * // "kind": "my_kind", * // "loadBalancingScheme": "my_loadBalancingScheme", * // "name": "my_name", + * // "params": {}, * // "selfLink": "my_selfLink", * // "usedBy": [] * // } @@ -29330,6 +29394,7 @@ export namespace compute_beta { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -29985,6 +30050,7 @@ export namespace compute_beta { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -30531,6 +30597,7 @@ export namespace compute_beta { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -31429,6 +31496,7 @@ export namespace compute_beta { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -33821,7 +33889,7 @@ export namespace compute_beta { * // Do the magic * const res = await compute.disks.delete({ * // Name of the persistent disk to delete. - * disk: 'placeholder-value', + * 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])?))', @@ -52879,9 +52947,9 @@ export namespace compute_beta { * * // Do the magic * const res = await compute.globalOrganizationOperations.get({ - * // Name of the Operations resource to return, or its unique numeric identifier. + * // Name of the Operations resource to return. Parent is derived from this field. * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Parent ID for this request. + * // Parent ID for this request. Not used. Parent is derived from resource_id. * parentId: 'placeholder-value', * }); * console.log(res.data); @@ -53181,11 +53249,11 @@ export namespace compute_beta { export interface Params$Resource$Globalorganizationoperations$Get extends StandardParameters { /** - * Name of the Operations resource to return, or its unique numeric identifier. + * Name of the Operations resource to return. Parent is derived from this field. */ operation?: string; /** - * Parent ID for this request. + * Parent ID for this request. Not used. Parent is derived from resource_id. */ parentId?: string; } @@ -59498,9 +59566,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', * ], * }); * @@ -124676,6 +124741,7 @@ export namespace compute_beta { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -125182,6 +125248,7 @@ export namespace compute_beta { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -125734,6 +125801,7 @@ export namespace compute_beta { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -126460,6 +126528,7 @@ export namespace compute_beta { * // "network": "my_network", * // "networkPassThroughLbTrafficPolicy": {}, * // "outlierDetection": {}, + * // "params": {}, * // "port": 0, * // "portName": "my_portName", * // "protocol": "my_protocol", @@ -128914,7 +128983,7 @@ export namespace compute_beta { * // Do the magic * const res = await compute.regionDisks.delete({ * // Name of the regional persistent disk to delete. - * disk: 'placeholder-value', + * 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])?))', @@ -145825,13 +145894,11 @@ export namespace compute_beta { * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -165960,6 +166027,7 @@ export namespace compute_beta { * // "kind": "my_kind", * // "linkedCommitments": [], * // "name": "my_name", + * // "protectionTier": "my_protectionTier", * // "reservationMode": "my_reservationMode", * // "reservationSharingPolicy": {}, * // "resourcePolicies": {}, @@ -166278,6 +166346,7 @@ export namespace compute_beta { * // "kind": "my_kind", * // "linkedCommitments": [], * // "name": "my_name", + * // "protectionTier": "my_protectionTier", * // "reservationMode": "my_reservationMode", * // "reservationSharingPolicy": {}, * // "resourcePolicies": {}, @@ -167318,6 +167387,7 @@ export namespace compute_beta { * // "kind": "my_kind", * // "linkedCommitments": [], * // "name": "my_name", + * // "protectionTier": "my_protectionTier", * // "reservationMode": "my_reservationMode", * // "reservationSharingPolicy": {}, * // "resourcePolicies": {}, @@ -177474,6 +177544,7 @@ export namespace compute_beta { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -177790,6 +177861,7 @@ export namespace compute_beta { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -178151,6 +178223,7 @@ export namespace compute_beta { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -186587,6 +186660,8 @@ export namespace compute_beta { * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name of the Subnetwork resource to return. * subnetwork: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Defines the extra views returned back in the subnetwork resource. Supported values: - WITH_UTILIZATION: Utilization data is included in the response. + * views: 'placeholder-value', * }); * console.log(res.data); * @@ -186616,13 +186691,15 @@ export namespace compute_beta { * // "purpose": "my_purpose", * // "region": "my_region", * // "reservedInternalRange": "my_reservedInternalRange", + * // "resolveSubnetMask": "my_resolveSubnetMask", * // "role": "my_role", * // "secondaryIpRanges": [], * // "selfLink": "my_selfLink", * // "stackType": "my_stackType", * // "state": "my_state", * // "systemReservedExternalIpv6Ranges": [], - * // "systemReservedInternalIpv6Ranges": [] + * // "systemReservedInternalIpv6Ranges": [], + * // "utilizationDetails": {} * // } * } * @@ -186941,13 +187018,15 @@ export namespace compute_beta { * // "purpose": "my_purpose", * // "region": "my_region", * // "reservedInternalRange": "my_reservedInternalRange", + * // "resolveSubnetMask": "my_resolveSubnetMask", * // "role": "my_role", * // "secondaryIpRanges": [], * // "selfLink": "my_selfLink", * // "stackType": "my_stackType", * // "state": "my_state", * // "systemReservedExternalIpv6Ranges": [], - * // "systemReservedInternalIpv6Ranges": [] + * // "systemReservedInternalIpv6Ranges": [], + * // "utilizationDetails": {} * // } * }, * }); @@ -187129,6 +187208,8 @@ export namespace compute_beta { * 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', + * // Defines the extra views returned back in the subnetwork resource. Supported values: - WITH_UTILIZATION: Utilization data is included in the response. + * views: 'placeholder-value', * }); * console.log(res.data); * @@ -187478,13 +187559,15 @@ export namespace compute_beta { * // "purpose": "my_purpose", * // "region": "my_region", * // "reservedInternalRange": "my_reservedInternalRange", + * // "resolveSubnetMask": "my_resolveSubnetMask", * // "role": "my_role", * // "secondaryIpRanges": [], * // "selfLink": "my_selfLink", * // "stackType": "my_stackType", * // "state": "my_state", * // "systemReservedExternalIpv6Ranges": [], - * // "systemReservedInternalIpv6Ranges": [] + * // "systemReservedInternalIpv6Ranges": [], + * // "utilizationDetails": {} * // } * }, * }); @@ -188206,6 +188289,10 @@ export namespace compute_beta { * Name of the Subnetwork resource to return. */ subnetwork?: string; + /** + * Defines the extra views returned back in the subnetwork resource. Supported values: - WITH_UTILIZATION: Utilization data is included in the response. + */ + views?: string[]; } export interface Params$Resource$Subnetworks$Getiampolicy extends StandardParameters { @@ -188275,6 +188362,10 @@ export namespace compute_beta { * 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; + /** + * Defines the extra views returned back in the subnetwork resource. Supported values: - WITH_UTILIZATION: Utilization data is included in the response. + */ + views?: string[]; } export interface Params$Resource$Subnetworks$Listusable extends StandardParameters { diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index f3dd71fd1b3..ed28607763a 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -1677,7 +1677,7 @@ export namespace compute_v1 { */ maxUtilization?: number | null; /** - * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. */ name?: string | null; } @@ -1791,7 +1791,7 @@ export namespace compute_v1 { */ localityLbPolicies?: Schema$BackendServiceLocalityLoadBalancingPolicyConfig[]; /** - * The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy. + * The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the customMetrics field. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. localityLbPolicy cannot be specified with haPolicy. */ localityLbPolicy?: string | null; /** @@ -2021,7 +2021,7 @@ export namespace compute_v1 { */ dryRun?: boolean | null; /** - * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. */ name?: string | null; } @@ -15905,7 +15905,7 @@ export namespace compute_v1 { */ target?: string | null; /** - * Type of the redirect action. + * Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a different URL via a 302 response. */ type?: string | null; } @@ -16002,7 +16002,7 @@ export namespace compute_v1 { */ connectionPreference?: string | null; /** - * Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks. + * Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks or only endpoints. */ consumerAcceptLists?: Schema$ServiceAttachmentConsumerProjectLimit[]; /** @@ -16037,6 +16037,10 @@ export namespace compute_v1 { * [Output Only] Type of the resource. Always compute#serviceAttachment for service attachments. */ kind?: string | null; + /** + * Metadata of the service attachment. + */ + metadata?: {[key: string]: 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 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. */ @@ -16138,7 +16142,7 @@ export namespace compute_v1 { } export interface Schema$ServiceAttachmentConsumerProjectLimit { /** - * The value of the limit to set. + * The value of the limit to set. For endpoint_url, the limit should be no more than 1. */ connectionLimit?: number | null; /** @@ -17047,7 +17051,7 @@ export namespace compute_v1 { */ performanceProvisioningType?: string | null; /** - * Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools. + * Size of the storage pool in GiB. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools. */ poolProvisionedCapacityGb?: string | null; /** @@ -17055,7 +17059,7 @@ export namespace compute_v1 { */ poolProvisionedIops?: string | null; /** - * Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput. + * Provisioned throughput of the storage pool in MiB/s. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput. */ poolProvisionedThroughput?: string | null; /** @@ -17254,7 +17258,7 @@ export namespace compute_v1 { */ lastResizeTimestamp?: string | null; /** - * [Output Only] Maximum allowed aggregate disk size in gigabytes. + * [Output Only] Maximum allowed aggregate disk size in GiB. */ maxTotalProvisionedDiskCapacityGb?: string | null; /** @@ -17266,7 +17270,7 @@ export namespace compute_v1 { */ poolUsedIops?: string | null; /** - * [Output Only] Sum of all the disks' provisioned throughput in MB/s. + * [Output Only] Sum of all the disks' provisioned throughput in MiB/s. */ poolUsedThroughput?: string | null; /** @@ -17274,7 +17278,7 @@ export namespace compute_v1 { */ poolUserWrittenBytes?: string | null; /** - * [Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity. + * [Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity. */ totalProvisionedDiskCapacityGb?: string | null; /** @@ -17282,7 +17286,7 @@ export namespace compute_v1 { */ totalProvisionedDiskIops?: string | null; /** - * [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity. + * [Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity. */ totalProvisionedDiskThroughput?: string | null; } @@ -29719,7 +29723,7 @@ export namespace compute_v1 { * // Do the magic * const res = await compute.disks.delete({ * // Name of the persistent disk to delete. - * disk: 'placeholder-value', + * 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])?))', @@ -45463,9 +45467,9 @@ export namespace compute_v1 { * * // Do the magic * const res = await compute.globalOrganizationOperations.get({ - * // Name of the Operations resource to return, or its unique numeric identifier. + * // Name of the Operations resource to return. Parent is derived from this field. * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Parent ID for this request. + * // Parent ID for this request. Not used. Parent is derived from resource_id. * parentId: 'placeholder-value', * }); * console.log(res.data); @@ -45766,11 +45770,11 @@ export namespace compute_v1 { export interface Params$Resource$Globalorganizationoperations$Get extends StandardParameters { /** - * Name of the Operations resource to return, or its unique numeric identifier. + * Name of the Operations resource to return. Parent is derived from this field. */ operation?: string; /** - * Parent ID for this request. + * Parent ID for this request. Not used. Parent is derived from resource_id. */ parentId?: string; } @@ -51553,9 +51557,6 @@ export namespace compute_v1 { * 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', * ], * }); * @@ -113375,7 +113376,7 @@ export namespace compute_v1 { * // Do the magic * const res = await compute.regionDisks.delete({ * // Name of the regional persistent disk to delete. - * disk: 'placeholder-value', + * 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])?))', @@ -154099,6 +154100,7 @@ export namespace compute_v1 { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -154414,6 +154416,7 @@ export namespace compute_v1 { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -154774,6 +154777,7 @@ export namespace compute_v1 { * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", + * // "metadata": {}, * // "name": "my_name", * // "natSubnets": [], * // "producerForwardingRule": "my_producerForwardingRule", @@ -163347,6 +163351,8 @@ export namespace compute_v1 { * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-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 project id or project number in which the subnetwork is intended to be used. Only applied for Shared VPC. See [Shared VPC documentation](https://cloud.google.com/vpc/docs/shared-vpc/) + * serviceProject: 'placeholder-value', * }); * console.log(res.data); * @@ -164361,6 +164367,10 @@ export namespace compute_v1 { * 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 project id or project number in which the subnetwork is intended to be used. Only applied for Shared VPC. See [Shared VPC documentation](https://cloud.google.com/vpc/docs/shared-vpc/) + */ + serviceProject?: string; } export interface Params$Resource$Subnetworks$Patch extends StandardParameters { From b7fe597c4a5db6fe9d48ef3f8f11b911091b86cc Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:35 +0000 Subject: [PATCH 10/37] fix(contactcenterinsights): update the API #### contactcenterinsights:v1 The following keys were changed: - resources.projects.resources.locations.resources.authorizedViewSets.methods.create.parameters.authorizedViewSetId.description - resources.projects.resources.locations.resources.authorizedViewSets.resources.authorizedViews.methods.create.parameters.authorizedViewId.description --- discovery/contactcenterinsights-v1.json | 6 +++--- src/apis/contactcenterinsights/v1.ts | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/discovery/contactcenterinsights-v1.json b/discovery/contactcenterinsights-v1.json index a6edf21e2bd..94d0fd47e21 100644 --- a/discovery/contactcenterinsights-v1.json +++ b/discovery/contactcenterinsights-v1.json @@ -697,7 +697,7 @@ ], "parameters": { "authorizedViewSetId": { - "description": "Optional. A unique ID for the new AuthorizedViewSet. This ID will become the final component of the AuthorizedViewSet's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. See go/aip/122#resource-id-segments", + "description": "Optional. A unique ID for the new AuthorizedViewSet. This ID will become the final component of the AuthorizedViewSet's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. See aip.dev/122#resource-id-segments", "location": "query", "type": "string" }, @@ -869,7 +869,7 @@ ], "parameters": { "authorizedViewId": { - "description": "Optional. A unique ID for the new AuthorizedView. This ID will become the final component of the AuthorizedView's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. See go/aip/122#resource-id-segments", + "description": "Optional. A unique ID for the new AuthorizedView. This ID will become the final component of the AuthorizedView's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. See aip.dev/122#resource-id-segments", "location": "query", "type": "string" }, @@ -5305,7 +5305,7 @@ } } }, - "revision": "20250721", + "revision": "20250729", "rootUrl": "https://contactcenterinsights.googleapis.com/", "schemas": { "GoogleCloudContactcenterinsightsV1Analysis": { diff --git a/src/apis/contactcenterinsights/v1.ts b/src/apis/contactcenterinsights/v1.ts index 24b2645f6f6..6ed26f5a06d 100644 --- a/src/apis/contactcenterinsights/v1.ts +++ b/src/apis/contactcenterinsights/v1.ts @@ -9646,7 +9646,7 @@ export namespace contactcenterinsights_v1 { * // Do the magic * const res = * await contactcenterinsights.projects.locations.authorizedViewSets.create({ - * // Optional. A unique ID for the new AuthorizedViewSet. This ID will become the final component of the AuthorizedViewSet's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. See go/aip/122#resource-id-segments + * // Optional. A unique ID for the new AuthorizedViewSet. This ID will become the final component of the AuthorizedViewSet's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. See aip.dev/122#resource-id-segments * authorizedViewSetId: 'placeholder-value', * // Required. The parent resource of the AuthorizedViewSet. * parent: 'projects/my-project/locations/my-location', @@ -10393,7 +10393,7 @@ export namespace contactcenterinsights_v1 { export interface Params$Resource$Projects$Locations$Authorizedviewsets$Create extends StandardParameters { /** - * Optional. A unique ID for the new AuthorizedViewSet. This ID will become the final component of the AuthorizedViewSet's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. See go/aip/122#resource-id-segments + * Optional. A unique ID for the new AuthorizedViewSet. This ID will become the final component of the AuthorizedViewSet's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. See aip.dev/122#resource-id-segments */ authorizedViewSetId?: string; /** @@ -10513,7 +10513,7 @@ export namespace contactcenterinsights_v1 { * const res = * await contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.create( * { - * // Optional. A unique ID for the new AuthorizedView. This ID will become the final component of the AuthorizedView's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. See go/aip/122#resource-id-segments + * // Optional. A unique ID for the new AuthorizedView. This ID will become the final component of the AuthorizedView's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. See aip.dev/122#resource-id-segments * authorizedViewId: 'placeholder-value', * // Required. The parent resource of the AuthorizedView. * parent: @@ -11760,7 +11760,7 @@ export namespace contactcenterinsights_v1 { export interface Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Create extends StandardParameters { /** - * Optional. A unique ID for the new AuthorizedView. This ID will become the final component of the AuthorizedView's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. See go/aip/122#resource-id-segments + * Optional. A unique ID for the new AuthorizedView. This ID will become the final component of the AuthorizedView's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. See aip.dev/122#resource-id-segments */ authorizedViewId?: string; /** From 51425bc201d0be4dcd8875dd3f5175cdee59b3b9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:35 +0000 Subject: [PATCH 11/37] feat(container)!: update the API BREAKING CHANGE: This release has breaking changes. #### container:v1beta1 The following keys were deleted: - schemas.AutoscaledRolloutPolicy.description - schemas.AutoscaledRolloutPolicy.id - schemas.AutoscaledRolloutPolicy.type - schemas.BlueGreenSettings.properties.autoscaledRolloutPolicy.$ref - schemas.BlueGreenSettings.properties.autoscaledRolloutPolicy.description The following keys were added: - schemas.AutoIpamConfig.properties.enabled.description - schemas.AutoIpamConfig.properties.enabled.type - schemas.Autopilot.properties.privilegedAdmissionConfig.$ref - schemas.Autopilot.properties.privilegedAdmissionConfig.description - schemas.ClusterAutoscaling.properties.defaultComputeClassConfig.$ref - schemas.ClusterAutoscaling.properties.defaultComputeClassConfig.description - schemas.DefaultComputeClassConfig.description - schemas.DefaultComputeClassConfig.id - schemas.DefaultComputeClassConfig.properties.enabled.description - schemas.DefaultComputeClassConfig.properties.enabled.type - schemas.DefaultComputeClassConfig.type - schemas.Fleet.properties.membershipType.description - schemas.Fleet.properties.membershipType.enum - schemas.Fleet.properties.membershipType.enumDescriptions - schemas.Fleet.properties.membershipType.type - schemas.PrivilegedAdmissionConfig.description - schemas.PrivilegedAdmissionConfig.id - schemas.PrivilegedAdmissionConfig.properties.allowlistPaths.description - schemas.PrivilegedAdmissionConfig.properties.allowlistPaths.items.type - schemas.PrivilegedAdmissionConfig.properties.allowlistPaths.type - schemas.PrivilegedAdmissionConfig.type #### container:v1 The following keys were added: - schemas.AutoIpamConfig.properties.enabled.description - schemas.AutoIpamConfig.properties.enabled.type - schemas.Autopilot.properties.privilegedAdmissionConfig.$ref - schemas.Autopilot.properties.privilegedAdmissionConfig.description - schemas.ClusterAutoscaling.properties.defaultComputeClassConfig.$ref - schemas.ClusterAutoscaling.properties.defaultComputeClassConfig.description - schemas.DefaultComputeClassConfig.description - schemas.DefaultComputeClassConfig.id - schemas.DefaultComputeClassConfig.properties.enabled.description - schemas.DefaultComputeClassConfig.properties.enabled.type - schemas.DefaultComputeClassConfig.type - schemas.Fleet.properties.membershipType.description - schemas.Fleet.properties.membershipType.enum - schemas.Fleet.properties.membershipType.enumDescriptions - schemas.Fleet.properties.membershipType.type - schemas.PrivilegedAdmissionConfig.description - schemas.PrivilegedAdmissionConfig.id - schemas.PrivilegedAdmissionConfig.properties.allowlistPaths.description - schemas.PrivilegedAdmissionConfig.properties.allowlistPaths.items.type - schemas.PrivilegedAdmissionConfig.properties.allowlistPaths.type - schemas.PrivilegedAdmissionConfig.type --- discovery/container-v1.json | 54 ++++++++++++++++++++++++++- discovery/container-v1beta1.json | 64 ++++++++++++++++++++++++++------ src/apis/container/v1.ts | 37 +++++++++++++++++- src/apis/container/v1beta1.ts | 45 +++++++++++++++++----- 4 files changed, 176 insertions(+), 24 deletions(-) diff --git a/discovery/container-v1.json b/discovery/container-v1.json index 350fa4e70f3..779dcccd5ab 100644 --- a/discovery/container-v1.json +++ b/discovery/container-v1.json @@ -2660,7 +2660,7 @@ } } }, - "revision": "20250701", + "revision": "20250725", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2943,7 +2943,12 @@ "AutoIpamConfig": { "description": "AutoIpamConfig contains all information related to Auto IPAM", "id": "AutoIpamConfig", - "properties": {}, + "properties": { + "enabled": { + "description": "The flag that enables Auto IPAM on this cluster", + "type": "boolean" + } + }, "type": "object" }, "AutoMonitoringConfig": { @@ -2992,6 +2997,10 @@ "description": "Enable Autopilot", "type": "boolean" }, + "privilegedAdmissionConfig": { + "$ref": "PrivilegedAdmissionConfig", + "description": "PrivilegedAdmissionConfig is the configuration related to privileged admission control." + }, "workloadPolicyConfig": { "$ref": "WorkloadPolicyConfig", "description": "WorkloadPolicyConfig is the configuration related to GCW workload policy" @@ -3793,6 +3802,10 @@ ], "type": "string" }, + "defaultComputeClassConfig": { + "$ref": "DefaultComputeClassConfig", + "description": "Default compute class is a configuration for default compute class." + }, "enableNodeAutoprovisioning": { "description": "Enables automatic node pool creation and deletion.", "type": "boolean" @@ -4597,6 +4610,17 @@ }, "type": "object" }, + "DefaultComputeClassConfig": { + "description": "DefaultComputeClassConfig defines default compute class configuration.", + "id": "DefaultComputeClassConfig", + "properties": { + "enabled": { + "description": "Enables default compute class.", + "type": "boolean" + } + }, + "type": "object" + }, "DefaultSnatStatus": { "description": "DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.", "id": "DefaultSnatStatus", @@ -4854,6 +4878,18 @@ "readOnly": true, "type": "string" }, + "membershipType": { + "description": "The type of the cluster's fleet membership.", + "enum": [ + "MEMBERSHIP_TYPE_UNSPECIFIED", + "LIGHTWEIGHT" + ], + "enumDescriptions": [ + "The MembershipType is not set.", + "The membership supports only lightweight compatible features." + ], + "type": "string" + }, "preRegistered": { "description": "Output only. Whether the cluster has been registered through the fleet API.", "readOnly": true, @@ -7346,6 +7382,20 @@ }, "type": "object" }, + "PrivilegedAdmissionConfig": { + "description": "PrivilegedAdmissionConfig stores the list of authorized allowlist paths for the cluster.", + "id": "PrivilegedAdmissionConfig", + "properties": { + "allowlistPaths": { + "description": "The customer allowlist Cloud Storage paths for the cluster. These paths are used with the `--autopilot-privileged-admission` flag to authorize privileged workloads in Autopilot clusters. Paths can be GKE-owned, in the format `gke:////`, or customer-owned, in the format `gs:///`. Wildcards (`*`) are supported to authorize all allowlists under specific paths or directories. Example: `gs://my-bucket/*` will authorize all allowlists under the `my-bucket` bucket.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "PubSub": { "description": "Pub/Sub specific notification config.", "id": "PubSub", diff --git a/discovery/container-v1beta1.json b/discovery/container-v1beta1.json index e7c0e945c57..c7229573617 100644 --- a/discovery/container-v1beta1.json +++ b/discovery/container-v1beta1.json @@ -2685,7 +2685,7 @@ } } }, - "revision": "20250701", + "revision": "20250725", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2984,7 +2984,12 @@ "AutoIpamConfig": { "description": "AutoIpamConfig contains all information related to Auto IPAM", "id": "AutoIpamConfig", - "properties": {}, + "properties": { + "enabled": { + "description": "The flag that enables Auto IPAM on this cluster", + "type": "boolean" + } + }, "type": "object" }, "AutoMonitoringConfig": { @@ -3038,6 +3043,10 @@ "description": "Enable Autopilot", "type": "boolean" }, + "privilegedAdmissionConfig": { + "$ref": "PrivilegedAdmissionConfig", + "description": "PrivilegedAdmissionConfig is the configuration related to privileged admission control." + }, "workloadPolicyConfig": { "$ref": "WorkloadPolicyConfig", "description": "WorkloadPolicyConfig is the configuration related to GCW workload policy" @@ -3179,12 +3188,6 @@ }, "type": "object" }, - "AutoscaledRolloutPolicy": { - "description": "Autoscaled rollout policy uses cluster autoscaler during blue-green upgrades to scale both the green and blue pools.", - "id": "AutoscaledRolloutPolicy", - "properties": {}, - "type": "object" - }, "AvailableVersion": { "deprecated": true, "description": "Deprecated.", @@ -3324,10 +3327,6 @@ "description": "Settings for blue-green upgrade.", "id": "BlueGreenSettings", "properties": { - "autoscaledRolloutPolicy": { - "$ref": "AutoscaledRolloutPolicy", - "description": "Autoscaled policy for cluster autoscaler enabled blue-green upgrade." - }, "nodePoolSoakDuration": { "description": "Time needed after draining entire blue pool. After this period, blue pool will be cleaned up.", "format": "google-duration", @@ -3938,6 +3937,10 @@ ], "type": "string" }, + "defaultComputeClassConfig": { + "$ref": "DefaultComputeClassConfig", + "description": "Default compute class is a configuration for default compute class." + }, "enableNodeAutoprovisioning": { "description": "Enables automatic node pool creation and deletion.", "type": "boolean" @@ -4826,6 +4829,17 @@ }, "type": "object" }, + "DefaultComputeClassConfig": { + "description": "DefaultComputeClassConfig defines default compute class configuration.", + "id": "DefaultComputeClassConfig", + "properties": { + "enabled": { + "description": "Enables default compute class.", + "type": "boolean" + } + }, + "type": "object" + }, "DefaultSnatStatus": { "description": "DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.", "id": "DefaultSnatStatus", @@ -5095,6 +5109,18 @@ "readOnly": true, "type": "string" }, + "membershipType": { + "description": "The type of the cluster's fleet membership.", + "enum": [ + "MEMBERSHIP_TYPE_UNSPECIFIED", + "LIGHTWEIGHT" + ], + "enumDescriptions": [ + "The MembershipType is not set.", + "The membership supports only lightweight compatible features." + ], + "type": "string" + }, "preRegistered": { "description": "Output only. Whether the cluster has been registered through the fleet API.", "readOnly": true, @@ -7794,6 +7820,20 @@ }, "type": "object" }, + "PrivilegedAdmissionConfig": { + "description": "PrivilegedAdmissionConfig stores the list of authorized allowlist paths for the cluster.", + "id": "PrivilegedAdmissionConfig", + "properties": { + "allowlistPaths": { + "description": "The customer allowlist Cloud Storage paths for the cluster. These paths are used with the `--autopilot-privileged-admission` flag to authorize privileged workloads in Autopilot clusters. Paths can be GKE-owned, in the format `gke:////`, or customer-owned, in the format `gs:///`. Wildcards (`*`) are supported to authorize all allowlists under specific paths or directories. Example: `gs://my-bucket/*` will authorize all allowlists under the `my-bucket` bucket.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ProtectConfig": { "description": "ProtectConfig defines the flags needed to enable/disable features for the Protect API.", "id": "ProtectConfig", diff --git a/src/apis/container/v1.ts b/src/apis/container/v1.ts index aad3e230c08..dab15bdc71b 100644 --- a/src/apis/container/v1.ts +++ b/src/apis/container/v1.ts @@ -337,7 +337,12 @@ export namespace container_v1 { /** * AutoIpamConfig contains all information related to Auto IPAM */ - export interface Schema$AutoIpamConfig {} + export interface Schema$AutoIpamConfig { + /** + * The flag that enables Auto IPAM on this cluster + */ + enabled?: boolean | null; + } /** * AutoMonitoringConfig defines the configuration for GKE Workload Auto-Monitoring. */ @@ -355,6 +360,10 @@ export namespace container_v1 { * Enable Autopilot */ enabled?: boolean | null; + /** + * PrivilegedAdmissionConfig is the configuration related to privileged admission control. + */ + privilegedAdmissionConfig?: Schema$PrivilegedAdmissionConfig; /** * WorkloadPolicyConfig is the configuration related to GCW workload policy */ @@ -973,6 +982,10 @@ export namespace container_v1 { * Defines autoscaling behaviour. */ autoscalingProfile?: string | null; + /** + * Default compute class is a configuration for default compute class. + */ + defaultComputeClassConfig?: Schema$DefaultComputeClassConfig; /** * Enables automatic node pool creation and deletion. */ @@ -1510,6 +1523,15 @@ export namespace container_v1 { */ state?: string | null; } + /** + * DefaultComputeClassConfig defines default compute class configuration. + */ + export interface Schema$DefaultComputeClassConfig { + /** + * Enables default compute class. + */ + enabled?: boolean | null; + } /** * DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. */ @@ -1723,6 +1745,10 @@ export namespace container_v1 { * Output only. The full resource name of the registered fleet membership of the cluster, in the format `//gkehub.googleapis.com/projects/x/locations/x/memberships/x`. */ membership?: string | null; + /** + * The type of the cluster's fleet membership. + */ + membershipType?: string | null; /** * Output only. Whether the cluster has been registered through the fleet API. */ @@ -3396,6 +3422,15 @@ export namespace container_v1 { */ enabled?: boolean | null; } + /** + * PrivilegedAdmissionConfig stores the list of authorized allowlist paths for the cluster. + */ + export interface Schema$PrivilegedAdmissionConfig { + /** + * The customer allowlist Cloud Storage paths for the cluster. These paths are used with the `--autopilot-privileged-admission` flag to authorize privileged workloads in Autopilot clusters. Paths can be GKE-owned, in the format `gke:////`, or customer-owned, in the format `gs:///`. Wildcards (`*`) are supported to authorize all allowlists under specific paths or directories. Example: `gs://my-bucket/x` will authorize all allowlists under the `my-bucket` bucket. + */ + allowlistPaths?: string[] | null; + } /** * Pub/Sub specific notification config. */ diff --git a/src/apis/container/v1beta1.ts b/src/apis/container/v1beta1.ts index abeb9133da4..6bfd171f850 100644 --- a/src/apis/container/v1beta1.ts +++ b/src/apis/container/v1beta1.ts @@ -349,7 +349,12 @@ export namespace container_v1beta1 { /** * AutoIpamConfig contains all information related to Auto IPAM */ - export interface Schema$AutoIpamConfig {} + export interface Schema$AutoIpamConfig { + /** + * The flag that enables Auto IPAM on this cluster + */ + enabled?: boolean | null; + } /** * AutoMonitoringConfig defines the configuration for GKE Workload Auto-Monitoring. */ @@ -371,6 +376,10 @@ export namespace container_v1beta1 { * Enable Autopilot */ enabled?: boolean | null; + /** + * PrivilegedAdmissionConfig is the configuration related to privileged admission control. + */ + privilegedAdmissionConfig?: Schema$PrivilegedAdmissionConfig; /** * WorkloadPolicyConfig is the configuration related to GCW workload policy */ @@ -472,10 +481,6 @@ export namespace container_v1beta1 { */ upgradeSettings?: Schema$UpgradeSettings; } - /** - * Autoscaled rollout policy uses cluster autoscaler during blue-green upgrades to scale both the green and blue pools. - */ - export interface Schema$AutoscaledRolloutPolicy {} /** * AutoUpgradeOptions defines the set of options for the user to control how the Auto Upgrades will proceed. */ @@ -570,10 +575,6 @@ export namespace container_v1beta1 { * Settings for blue-green upgrade. */ export interface Schema$BlueGreenSettings { - /** - * Autoscaled policy for cluster autoscaler enabled blue-green upgrade. - */ - autoscaledRolloutPolicy?: Schema$AutoscaledRolloutPolicy; /** * Time needed after draining entire blue pool. After this period, blue pool will be cleaned up. */ @@ -1059,6 +1060,10 @@ export namespace container_v1beta1 { * Defines autoscaling behaviour. */ autoscalingProfile?: string | null; + /** + * Default compute class is a configuration for default compute class. + */ + defaultComputeClassConfig?: Schema$DefaultComputeClassConfig; /** * Enables automatic node pool creation and deletion. */ @@ -1658,6 +1663,15 @@ export namespace container_v1beta1 { */ year?: number | null; } + /** + * DefaultComputeClassConfig defines default compute class configuration. + */ + export interface Schema$DefaultComputeClassConfig { + /** + * Enables default compute class. + */ + enabled?: boolean | null; + } /** * DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. */ @@ -1880,6 +1894,10 @@ export namespace container_v1beta1 { * Output only. The full resource name of the registered fleet membership of the cluster, in the format `//gkehub.googleapis.com/projects/x/locations/x/memberships/x`. */ membership?: string | null; + /** + * The type of the cluster's fleet membership. + */ + membershipType?: string | null; /** * Output only. Whether the cluster has been registered through the fleet API. */ @@ -3677,6 +3695,15 @@ export namespace container_v1beta1 { */ enabled?: boolean | null; } + /** + * PrivilegedAdmissionConfig stores the list of authorized allowlist paths for the cluster. + */ + export interface Schema$PrivilegedAdmissionConfig { + /** + * The customer allowlist Cloud Storage paths for the cluster. These paths are used with the `--autopilot-privileged-admission` flag to authorize privileged workloads in Autopilot clusters. Paths can be GKE-owned, in the format `gke:////`, or customer-owned, in the format `gs:///`. Wildcards (`*`) are supported to authorize all allowlists under specific paths or directories. Example: `gs://my-bucket/x` will authorize all allowlists under the `my-bucket` bucket. + */ + allowlistPaths?: string[] | null; + } /** * ProtectConfig defines the flags needed to enable/disable features for the Protect API. */ From 514aec7cc356cd35de5ea255087afff33adb4247 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:35 +0000 Subject: [PATCH 12/37] feat(dataplex): update the API #### dataplex:v1 The following keys were added: - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.description - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.flatPath - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.httpMethod - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.id - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameterOrder - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.options.requestedPolicyVersion.description - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.options.requestedPolicyVersion.format - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.options.requestedPolicyVersion.location - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.options.requestedPolicyVersion.type - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.resource.description - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.resource.location - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.resource.pattern - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.resource.required - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.parameters.resource.type - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.path - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.response.$ref - resources.projects.resources.locations.resources.dataProducts.methods.getIamPolicy.scopes - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.description - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.flatPath - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.httpMethod - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.id - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.parameterOrder - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.parameters.resource.description - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.parameters.resource.location - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.parameters.resource.pattern - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.parameters.resource.required - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.parameters.resource.type - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.path - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.request.$ref - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.response.$ref - resources.projects.resources.locations.resources.dataProducts.methods.setIamPolicy.scopes - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.description - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.flatPath - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.httpMethod - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.id - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.parameterOrder - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.parameters.resource.description - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.parameters.resource.location - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.parameters.resource.pattern - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.parameters.resource.required - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.parameters.resource.type - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.path - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.request.$ref - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.response.$ref - resources.projects.resources.locations.resources.dataProducts.methods.testIamPermissions.scopes - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.description - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.flatPath - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.httpMethod - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.id - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameterOrder - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.options.requestedPolicyVersion.description - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.options.requestedPolicyVersion.format - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.options.requestedPolicyVersion.location - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.options.requestedPolicyVersion.type - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.resource.description - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.resource.location - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.resource.pattern - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.resource.required - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.parameters.resource.type - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.path - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.response.$ref - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.getIamPolicy.scopes - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.description - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.flatPath - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.httpMethod - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.id - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.parameterOrder - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.parameters.resource.description - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.parameters.resource.location - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.parameters.resource.pattern - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.parameters.resource.required - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.parameters.resource.type - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.path - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.request.$ref - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.response.$ref - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.setIamPolicy.scopes - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.description - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.flatPath - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.httpMethod - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.id - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.parameterOrder - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.parameters.resource.description - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.parameters.resource.location - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.parameters.resource.pattern - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.parameters.resource.required - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.parameters.resource.type - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.path - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.request.$ref - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.response.$ref - resources.projects.resources.locations.resources.dataProducts.resources.dataAssets.methods.testIamPermissions.scopes --- discovery/dataplex-v1.json | 186 ++++++- src/apis/dataplex/v1.ts | 1013 ++++++++++++++++++++++++++++++++++++ 2 files changed, 1198 insertions(+), 1 deletion(-) diff --git a/discovery/dataplex-v1.json b/discovery/dataplex-v1.json index f4927b920bc..99760fa8c7b 100644 --- a/discovery/dataplex-v1.json +++ b/discovery/dataplex-v1.json @@ -1470,6 +1470,190 @@ } } }, + "dataProducts": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.dataProducts.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/[^/]+/dataProducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.dataProducts.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/[^/]+/dataProducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.dataProducts.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/[^/]+/dataProducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "dataAssets": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.dataProducts.dataAssets.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/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.dataProducts.dataAssets.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/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.dataProducts.dataAssets.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/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "dataScans": { "methods": { "create": { @@ -7027,7 +7211,7 @@ } } }, - "revision": "20250714", + "revision": "20250729", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { diff --git a/src/apis/dataplex/v1.ts b/src/apis/dataplex/v1.ts index 2aec484e35d..7ca66aba51e 100644 --- a/src/apis/dataplex/v1.ts +++ b/src/apis/dataplex/v1.ts @@ -6851,6 +6851,7 @@ export namespace dataplex_v1 { context: APIRequestContext; aspectTypes: Resource$Projects$Locations$Aspecttypes; dataAttributeBindings: Resource$Projects$Locations$Dataattributebindings; + dataProducts: Resource$Projects$Locations$Dataproducts; dataScans: Resource$Projects$Locations$Datascans; dataTaxonomies: Resource$Projects$Locations$Datataxonomies; entryGroups: Resource$Projects$Locations$Entrygroups; @@ -6868,6 +6869,9 @@ export namespace dataplex_v1 { ); this.dataAttributeBindings = new Resource$Projects$Locations$Dataattributebindings(this.context); + this.dataProducts = new Resource$Projects$Locations$Dataproducts( + this.context + ); this.dataScans = new Resource$Projects$Locations$Datascans(this.context); this.dataTaxonomies = new Resource$Projects$Locations$Datataxonomies( this.context @@ -10334,6 +10338,1015 @@ export namespace dataplex_v1 { requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; } + export class Resource$Projects$Locations$Dataproducts { + context: APIRequestContext; + dataAssets: Resource$Projects$Locations$Dataproducts$Dataassets; + constructor(context: APIRequestContext) { + this.context = context; + this.dataAssets = new Resource$Projects$Locations$Dataproducts$Dataassets( + this.context + ); + } + + /** + * 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/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.dataProducts.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/dataProducts/my-dataProduct', + * }); + * 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$Dataproducts$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Dataproducts$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataproducts$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataproducts$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataproducts$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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 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/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.dataProducts.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/dataProducts/my-dataProduct', + * + * // 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$Dataproducts$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Dataproducts$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataproducts$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataproducts$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataproducts$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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 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/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.dataProducts.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/dataProducts/my-dataProduct', + * + * // 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$Dataproducts$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Dataproducts$Testiampermissions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Dataproducts$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Dataproducts$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Dataproducts$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataproducts$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataproducts$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataproducts$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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 + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Dataproducts$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$Dataproducts$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$Dataproducts$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$Dataproducts$Dataassets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.dataProducts.dataAssets.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/dataProducts/my-dataProduct/dataAssets/my-dataAsset', + * }); + * 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$Dataproducts$Dataassets$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataproducts$Dataassets$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataproducts$Dataassets$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataproducts$Dataassets$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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 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/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.dataProducts.dataAssets.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/dataProducts/my-dataProduct/dataAssets/my-dataAsset', + * + * // 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$Dataproducts$Dataassets$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataproducts$Dataassets$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataproducts$Dataassets$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataproducts$Dataassets$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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 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/dataplex.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dataplex = google.dataplex('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 dataplex.projects.locations.dataProducts.dataAssets.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/dataProducts/my-dataProduct/dataAssets/my-dataAsset', + * + * // 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$Dataproducts$Dataassets$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Testiampermissions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Dataproducts$Dataassets$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dataproducts$Dataassets$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dataproducts$Dataassets$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dataproducts$Dataassets$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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 + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Dataproducts$Dataassets$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$Dataproducts$Dataassets$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$Dataproducts$Dataassets$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$Datascans { context: APIRequestContext; jobs: Resource$Projects$Locations$Datascans$Jobs; From f2243c0e03b8e70fed2bbe2bae0e2c2def76347a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:35 +0000 Subject: [PATCH 13/37] feat(datastream): update the API #### datastream:v1 The following keys were added: - schemas.BasicEncryption.description - schemas.BasicEncryption.id - schemas.BasicEncryption.type - schemas.EncryptionAndServerValidation.description - schemas.EncryptionAndServerValidation.id - schemas.EncryptionAndServerValidation.properties.caCertificate.description - schemas.EncryptionAndServerValidation.properties.caCertificate.type - schemas.EncryptionAndServerValidation.properties.serverCertificateHostname.description - schemas.EncryptionAndServerValidation.properties.serverCertificateHostname.type - schemas.EncryptionAndServerValidation.type - schemas.EncryptionNotEnforced.description - schemas.EncryptionNotEnforced.id - schemas.EncryptionNotEnforced.type - schemas.SqlServerProfile.properties.sslConfig.$ref - schemas.SqlServerProfile.properties.sslConfig.description - schemas.SqlServerSslConfig.description - schemas.SqlServerSslConfig.id - schemas.SqlServerSslConfig.properties.basicEncryption.$ref - schemas.SqlServerSslConfig.properties.basicEncryption.description - schemas.SqlServerSslConfig.properties.encryptionAndServerValidation.$ref - schemas.SqlServerSslConfig.properties.encryptionAndServerValidation.description - schemas.SqlServerSslConfig.properties.encryptionNotEnforced.$ref - schemas.SqlServerSslConfig.properties.encryptionNotEnforced.description - schemas.SqlServerSslConfig.type --- discovery/datastream-v1.json | 52 +++++++++++++++++++++++++++++++++++- src/apis/datastream/v1.ts | 42 +++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 1 deletion(-) diff --git a/discovery/datastream-v1.json b/discovery/datastream-v1.json index fb7d93581fe..42c064f9851 100644 --- a/discovery/datastream-v1.json +++ b/discovery/datastream-v1.json @@ -1261,7 +1261,7 @@ } } }, - "revision": "20250714", + "revision": "20250722", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { @@ -1379,6 +1379,12 @@ "properties": {}, "type": "object" }, + "BasicEncryption": { + "description": "Message to represent the option where Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default.", + "id": "BasicEncryption", + "properties": {}, + "type": "object" + }, "BigQueryDestinationConfig": { "description": "BigQuery destination configuration", "id": "BigQueryDestinationConfig", @@ -1724,6 +1730,27 @@ "properties": {}, "type": "object" }, + "EncryptionAndServerValidation": { + "description": "Message to represent the option where Datastream will enforce encryption and authenticate server identity. ca_certificate must be set if user selects this option.", + "id": "EncryptionAndServerValidation", + "properties": { + "caCertificate": { + "description": "Optional. Input only. PEM-encoded certificate of the CA that signed the source database server's certificate.", + "type": "string" + }, + "serverCertificateHostname": { + "description": "Optional. The hostname mentioned in the Subject or SAN extension of the server certificate. This field is used for bypassing the hostname validation while verifying server certificate. This is required for scenarios where the host name that datastream connects to is different from the certificate's subject. This specifically happens for private connectivity. It could also happen when the customer provides a public IP in connection profile but the same is not present in the server certificate.", + "type": "string" + } + }, + "type": "object" + }, + "EncryptionNotEnforced": { + "description": "Message to represent the option where encryption is not enforced. An empty message right now to allow future extensibility.", + "id": "EncryptionNotEnforced", + "properties": {}, + "type": "object" + }, "Error": { "description": "Represent a user-facing Error.", "id": "Error", @@ -3639,6 +3666,10 @@ "description": "Optional. A reference to a Secret Manager resource name storing the SQLServer connection password. Mutually exclusive with the `password` field.", "type": "string" }, + "sslConfig": { + "$ref": "SqlServerSslConfig", + "description": "Optional. SSL configuration for the SQLServer connection." + }, "username": { "description": "Required. Username for the SQLServer connection.", "type": "string" @@ -3711,6 +3742,25 @@ }, "type": "object" }, + "SqlServerSslConfig": { + "description": "SQL Server SSL configuration information.", + "id": "SqlServerSslConfig", + "properties": { + "basicEncryption": { + "$ref": "BasicEncryption", + "description": "If set, Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default." + }, + "encryptionAndServerValidation": { + "$ref": "EncryptionAndServerValidation", + "description": "If set, Datastream will enforce encryption and authenticate server identity." + }, + "encryptionNotEnforced": { + "$ref": "EncryptionNotEnforced", + "description": "If set, Datastream will not enforce encryption. If the DB server mandates encryption, then connection will be encrypted but server identity will not be authenticated." + } + }, + "type": "object" + }, "SqlServerTable": { "description": "SQLServer table.", "id": "SqlServerTable", diff --git a/src/apis/datastream/v1.ts b/src/apis/datastream/v1.ts index ac72de4b419..ad8e8ce64c8 100644 --- a/src/apis/datastream/v1.ts +++ b/src/apis/datastream/v1.ts @@ -190,6 +190,10 @@ export namespace datastream_v1 { * Backfill strategy to disable automatic backfill for the Stream's objects. */ export interface Schema$BackfillNoneStrategy {} + /** + * Message to represent the option where Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default. + */ + export interface Schema$BasicEncryption {} /** * BigQuery destination configuration */ @@ -479,6 +483,23 @@ export namespace datastream_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 {} + /** + * Message to represent the option where Datastream will enforce encryption and authenticate server identity. ca_certificate must be set if user selects this option. + */ + export interface Schema$EncryptionAndServerValidation { + /** + * Optional. Input only. PEM-encoded certificate of the CA that signed the source database server's certificate. + */ + caCertificate?: string | null; + /** + * Optional. The hostname mentioned in the Subject or SAN extension of the server certificate. This field is used for bypassing the hostname validation while verifying server certificate. This is required for scenarios where the host name that datastream connects to is different from the certificate's subject. This specifically happens for private connectivity. It could also happen when the customer provides a public IP in connection profile but the same is not present in the server certificate. + */ + serverCertificateHostname?: string | null; + } + /** + * Message to represent the option where encryption is not enforced. An empty message right now to allow future extensibility. + */ + export interface Schema$EncryptionNotEnforced {} /** * Represent a user-facing Error. */ @@ -2012,6 +2033,10 @@ export namespace datastream_v1 { * Optional. A reference to a Secret Manager resource name storing the SQLServer connection password. Mutually exclusive with the `password` field. */ secretManagerStoredPassword?: string | null; + /** + * Optional. SSL configuration for the SQLServer connection. + */ + sslConfig?: Schema$SqlServerSslConfig; /** * Required. Username for the SQLServer connection. */ @@ -2068,6 +2093,23 @@ export namespace datastream_v1 { */ transactionLogs?: Schema$SqlServerTransactionLogs; } + /** + * SQL Server SSL configuration information. + */ + export interface Schema$SqlServerSslConfig { + /** + * If set, Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default. + */ + basicEncryption?: Schema$BasicEncryption; + /** + * If set, Datastream will enforce encryption and authenticate server identity. + */ + encryptionAndServerValidation?: Schema$EncryptionAndServerValidation; + /** + * If set, Datastream will not enforce encryption. If the DB server mandates encryption, then connection will be encrypted but server identity will not be authenticated. + */ + encryptionNotEnforced?: Schema$EncryptionNotEnforced; + } /** * SQLServer table. */ From 02f074d7701ba8ea8918743d528aec572d538e29 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:35 +0000 Subject: [PATCH 14/37] feat(dfareporting): update the API #### dfareporting:v4 The following keys were added: - resources.dynamicFeeds.methods.get.description - resources.dynamicFeeds.methods.get.flatPath - resources.dynamicFeeds.methods.get.httpMethod - resources.dynamicFeeds.methods.get.id - resources.dynamicFeeds.methods.get.parameterOrder - resources.dynamicFeeds.methods.get.parameters.dynamicFeedId.description - resources.dynamicFeeds.methods.get.parameters.dynamicFeedId.format - resources.dynamicFeeds.methods.get.parameters.dynamicFeedId.location - resources.dynamicFeeds.methods.get.parameters.dynamicFeedId.pattern - resources.dynamicFeeds.methods.get.parameters.dynamicFeedId.required - resources.dynamicFeeds.methods.get.parameters.dynamicFeedId.type - resources.dynamicFeeds.methods.get.path - resources.dynamicFeeds.methods.get.response.$ref - resources.dynamicFeeds.methods.get.scopes - resources.dynamicFeeds.methods.insert.description - resources.dynamicFeeds.methods.insert.flatPath - resources.dynamicFeeds.methods.insert.httpMethod - resources.dynamicFeeds.methods.insert.id - resources.dynamicFeeds.methods.insert.parameterOrder - resources.dynamicFeeds.methods.insert.path - resources.dynamicFeeds.methods.insert.request.$ref - resources.dynamicFeeds.methods.insert.response.$ref - resources.dynamicFeeds.methods.insert.scopes - resources.dynamicProfiles.methods.get.description - resources.dynamicProfiles.methods.get.flatPath - resources.dynamicProfiles.methods.get.httpMethod - resources.dynamicProfiles.methods.get.id - resources.dynamicProfiles.methods.get.parameterOrder - resources.dynamicProfiles.methods.get.parameters.dynamicProfileId.description - resources.dynamicProfiles.methods.get.parameters.dynamicProfileId.format - resources.dynamicProfiles.methods.get.parameters.dynamicProfileId.location - resources.dynamicProfiles.methods.get.parameters.dynamicProfileId.pattern - resources.dynamicProfiles.methods.get.parameters.dynamicProfileId.required - resources.dynamicProfiles.methods.get.parameters.dynamicProfileId.type - resources.dynamicProfiles.methods.get.path - resources.dynamicProfiles.methods.get.response.$ref - resources.dynamicProfiles.methods.get.scopes - resources.dynamicProfiles.methods.insert.description - resources.dynamicProfiles.methods.insert.flatPath - resources.dynamicProfiles.methods.insert.httpMethod - resources.dynamicProfiles.methods.insert.id - resources.dynamicProfiles.methods.insert.parameterOrder - resources.dynamicProfiles.methods.insert.path - resources.dynamicProfiles.methods.insert.request.$ref - resources.dynamicProfiles.methods.insert.response.$ref - resources.dynamicProfiles.methods.insert.scopes - resources.dynamicProfiles.methods.update.description - resources.dynamicProfiles.methods.update.flatPath - resources.dynamicProfiles.methods.update.httpMethod - resources.dynamicProfiles.methods.update.id - resources.dynamicProfiles.methods.update.parameterOrder - resources.dynamicProfiles.methods.update.path - resources.dynamicProfiles.methods.update.request.$ref - resources.dynamicProfiles.methods.update.response.$ref - resources.dynamicProfiles.methods.update.scopes - schemas.ContentSource.description - schemas.ContentSource.id - schemas.ContentSource.properties.contentSourceName.description - schemas.ContentSource.properties.contentSourceName.type - schemas.ContentSource.properties.createInfo.$ref - schemas.ContentSource.properties.createInfo.description - schemas.ContentSource.properties.createInfo.readOnly - schemas.ContentSource.properties.lastModifiedInfo.$ref - schemas.ContentSource.properties.lastModifiedInfo.description - schemas.ContentSource.properties.lastModifiedInfo.readOnly - schemas.ContentSource.properties.metaData.$ref - schemas.ContentSource.properties.metaData.description - schemas.ContentSource.properties.metaData.readOnly - schemas.ContentSource.properties.resourceLink.description - schemas.ContentSource.properties.resourceLink.type - schemas.ContentSource.properties.resourceType.description - schemas.ContentSource.properties.resourceType.enum - schemas.ContentSource.properties.resourceType.enumDescriptions - schemas.ContentSource.properties.resourceType.type - schemas.ContentSource.type - schemas.ContentSourceMetaData.description - schemas.ContentSourceMetaData.id - schemas.ContentSourceMetaData.properties.charset.description - schemas.ContentSourceMetaData.properties.charset.readOnly - schemas.ContentSourceMetaData.properties.charset.type - schemas.ContentSourceMetaData.properties.fieldNames.description - schemas.ContentSourceMetaData.properties.fieldNames.items.type - schemas.ContentSourceMetaData.properties.fieldNames.readOnly - schemas.ContentSourceMetaData.properties.fieldNames.type - schemas.ContentSourceMetaData.properties.rowNumber.description - schemas.ContentSourceMetaData.properties.rowNumber.format - schemas.ContentSourceMetaData.properties.rowNumber.readOnly - schemas.ContentSourceMetaData.properties.rowNumber.type - schemas.ContentSourceMetaData.properties.separator.description - schemas.ContentSourceMetaData.properties.separator.readOnly - schemas.ContentSourceMetaData.properties.separator.type - schemas.ContentSourceMetaData.type - schemas.CustomRule.description - schemas.CustomRule.id - schemas.CustomRule.properties.name.description - schemas.CustomRule.properties.name.type - schemas.CustomRule.properties.priority.description - schemas.CustomRule.properties.priority.format - schemas.CustomRule.properties.priority.type - schemas.CustomRule.properties.ruleBlocks.description - schemas.CustomRule.properties.ruleBlocks.items.$ref - schemas.CustomRule.properties.ruleBlocks.type - schemas.CustomRule.type - schemas.CustomValueField.description - schemas.CustomValueField.id - schemas.CustomValueField.properties.fieldId.description - schemas.CustomValueField.properties.fieldId.format - schemas.CustomValueField.properties.fieldId.type - schemas.CustomValueField.properties.requestKey.description - schemas.CustomValueField.properties.requestKey.type - schemas.CustomValueField.type - schemas.DependentFieldValue.description - schemas.DependentFieldValue.id - schemas.DependentFieldValue.properties.elementId.description - schemas.DependentFieldValue.properties.elementId.format - schemas.DependentFieldValue.properties.elementId.type - schemas.DependentFieldValue.properties.fieldId.description - schemas.DependentFieldValue.properties.fieldId.format - schemas.DependentFieldValue.properties.fieldId.type - schemas.DependentFieldValue.type - schemas.DynamicFeed.description - schemas.DynamicFeed.id - schemas.DynamicFeed.properties.contentSource.$ref - schemas.DynamicFeed.properties.contentSource.description - schemas.DynamicFeed.properties.createInfo.$ref - schemas.DynamicFeed.properties.createInfo.description - schemas.DynamicFeed.properties.createInfo.readOnly - schemas.DynamicFeed.properties.dynamicFeedId.description - schemas.DynamicFeed.properties.dynamicFeedId.format - schemas.DynamicFeed.properties.dynamicFeedId.readOnly - schemas.DynamicFeed.properties.dynamicFeedId.type - schemas.DynamicFeed.properties.dynamicFeedName.description - schemas.DynamicFeed.properties.dynamicFeedName.type - schemas.DynamicFeed.properties.element.$ref - schemas.DynamicFeed.properties.element.description - schemas.DynamicFeed.properties.feedIngestionStatus.$ref - schemas.DynamicFeed.properties.feedIngestionStatus.description - schemas.DynamicFeed.properties.feedIngestionStatus.readOnly - schemas.DynamicFeed.properties.feedSchedule.$ref - schemas.DynamicFeed.properties.feedSchedule.description - schemas.DynamicFeed.properties.hasPublished.description - schemas.DynamicFeed.properties.hasPublished.readOnly - schemas.DynamicFeed.properties.hasPublished.type - schemas.DynamicFeed.properties.lastModifiedInfo.$ref - schemas.DynamicFeed.properties.lastModifiedInfo.description - schemas.DynamicFeed.properties.lastModifiedInfo.readOnly - schemas.DynamicFeed.properties.status.description - schemas.DynamicFeed.properties.status.enum - schemas.DynamicFeed.properties.status.enumDescriptions - schemas.DynamicFeed.properties.status.readOnly - schemas.DynamicFeed.properties.status.type - schemas.DynamicFeed.properties.studioAdvertiserId.description - schemas.DynamicFeed.properties.studioAdvertiserId.format - schemas.DynamicFeed.properties.studioAdvertiserId.type - schemas.DynamicFeed.type - schemas.DynamicFeedsInsertRequest.description - schemas.DynamicFeedsInsertRequest.id - schemas.DynamicFeedsInsertRequest.properties.dynamicFeed.$ref - schemas.DynamicFeedsInsertRequest.properties.dynamicFeed.description - schemas.DynamicFeedsInsertRequest.properties.dynamicProfileId.description - schemas.DynamicFeedsInsertRequest.properties.dynamicProfileId.format - schemas.DynamicFeedsInsertRequest.properties.dynamicProfileId.type - schemas.DynamicFeedsInsertRequest.type - schemas.DynamicProfile.description - schemas.DynamicProfile.id - schemas.DynamicProfile.properties.active.$ref - schemas.DynamicProfile.properties.active.description - schemas.DynamicProfile.properties.archiveStatus.description - schemas.DynamicProfile.properties.archiveStatus.enum - schemas.DynamicProfile.properties.archiveStatus.enumDescriptions - schemas.DynamicProfile.properties.archiveStatus.type - schemas.DynamicProfile.properties.createInfo.$ref - schemas.DynamicProfile.properties.createInfo.description - schemas.DynamicProfile.properties.createInfo.readOnly - schemas.DynamicProfile.properties.description.description - schemas.DynamicProfile.properties.description.type - schemas.DynamicProfile.properties.draft.$ref - schemas.DynamicProfile.properties.draft.description - schemas.DynamicProfile.properties.dynamicProfileId.description - schemas.DynamicProfile.properties.dynamicProfileId.format - schemas.DynamicProfile.properties.dynamicProfileId.readOnly - schemas.DynamicProfile.properties.dynamicProfileId.type - schemas.DynamicProfile.properties.kind.description - schemas.DynamicProfile.properties.kind.readOnly - schemas.DynamicProfile.properties.kind.type - schemas.DynamicProfile.properties.lastModifiedInfo.$ref - schemas.DynamicProfile.properties.lastModifiedInfo.description - schemas.DynamicProfile.properties.lastModifiedInfo.readOnly - schemas.DynamicProfile.properties.name.description - schemas.DynamicProfile.properties.name.type - schemas.DynamicProfile.properties.status.description - schemas.DynamicProfile.properties.status.enum - schemas.DynamicProfile.properties.status.enumDescriptions - schemas.DynamicProfile.properties.status.type - schemas.DynamicProfile.properties.studioAdvertiserId.description - schemas.DynamicProfile.properties.studioAdvertiserId.format - schemas.DynamicProfile.properties.studioAdvertiserId.type - schemas.DynamicProfile.type - schemas.DynamicProfileFeedSettings.description - schemas.DynamicProfileFeedSettings.id - schemas.DynamicProfileFeedSettings.properties.dynamicFeedId.description - schemas.DynamicProfileFeedSettings.properties.dynamicFeedId.format - schemas.DynamicProfileFeedSettings.properties.dynamicFeedId.type - schemas.DynamicProfileFeedSettings.properties.dynamicRules.$ref - schemas.DynamicProfileFeedSettings.properties.dynamicRules.description - schemas.DynamicProfileFeedSettings.properties.quantity.description - schemas.DynamicProfileFeedSettings.properties.quantity.format - schemas.DynamicProfileFeedSettings.properties.quantity.type - schemas.DynamicProfileFeedSettings.type - schemas.DynamicProfileVersion.description - schemas.DynamicProfileVersion.id - schemas.DynamicProfileVersion.properties.dynamicProfileFeedSettings.description - schemas.DynamicProfileVersion.properties.dynamicProfileFeedSettings.items.$ref - schemas.DynamicProfileVersion.properties.dynamicProfileFeedSettings.type - schemas.DynamicProfileVersion.properties.versionId.description - schemas.DynamicProfileVersion.properties.versionId.format - schemas.DynamicProfileVersion.properties.versionId.readOnly - schemas.DynamicProfileVersion.properties.versionId.type - schemas.DynamicProfileVersion.type - schemas.DynamicRules.description - schemas.DynamicRules.id - schemas.DynamicRules.properties.autoTargetedFieldIds.description - schemas.DynamicRules.properties.autoTargetedFieldIds.items.format - schemas.DynamicRules.properties.autoTargetedFieldIds.items.type - schemas.DynamicRules.properties.autoTargetedFieldIds.type - schemas.DynamicRules.properties.customRules.description - schemas.DynamicRules.properties.customRules.items.$ref - schemas.DynamicRules.properties.customRules.type - schemas.DynamicRules.properties.customValueFields.description - schemas.DynamicRules.properties.customValueFields.items.$ref - schemas.DynamicRules.properties.customValueFields.type - schemas.DynamicRules.properties.proximityFilter.$ref - schemas.DynamicRules.properties.proximityFilter.description - schemas.DynamicRules.properties.remarketingValueAttributes.description - schemas.DynamicRules.properties.remarketingValueAttributes.items.$ref - schemas.DynamicRules.properties.remarketingValueAttributes.type - schemas.DynamicRules.properties.rotationType.description - schemas.DynamicRules.properties.rotationType.enum - schemas.DynamicRules.properties.rotationType.enumDescriptions - schemas.DynamicRules.properties.rotationType.type - schemas.DynamicRules.properties.ruleType.description - schemas.DynamicRules.properties.ruleType.enum - schemas.DynamicRules.properties.ruleType.enumDescriptions - schemas.DynamicRules.properties.ruleType.type - schemas.DynamicRules.properties.weightFieldId.description - schemas.DynamicRules.properties.weightFieldId.format - schemas.DynamicRules.properties.weightFieldId.type - schemas.DynamicRules.type - schemas.Element.description - schemas.Element.id - schemas.Element.properties.activeFieldId.description - schemas.Element.properties.activeFieldId.format - schemas.Element.properties.activeFieldId.type - schemas.Element.properties.createInfo.$ref - schemas.Element.properties.createInfo.description - schemas.Element.properties.createInfo.readOnly - schemas.Element.properties.defaultFieldId.description - schemas.Element.properties.defaultFieldId.format - schemas.Element.properties.defaultFieldId.type - schemas.Element.properties.elementName.description - schemas.Element.properties.elementName.type - schemas.Element.properties.endTimestampFieldId.description - schemas.Element.properties.endTimestampFieldId.format - schemas.Element.properties.endTimestampFieldId.type - schemas.Element.properties.externalIdFieldId.description - schemas.Element.properties.externalIdFieldId.format - schemas.Element.properties.externalIdFieldId.type - schemas.Element.properties.feedFields.description - schemas.Element.properties.feedFields.items.$ref - schemas.Element.properties.feedFields.type - schemas.Element.properties.isLocalTimestamp.description - schemas.Element.properties.isLocalTimestamp.type - schemas.Element.properties.lastModifiedInfo.$ref - schemas.Element.properties.lastModifiedInfo.description - schemas.Element.properties.lastModifiedInfo.readOnly - schemas.Element.properties.proximityTargetingFieldId.description - schemas.Element.properties.proximityTargetingFieldId.format - schemas.Element.properties.proximityTargetingFieldId.type - schemas.Element.properties.reportingLabelFieldId.description - schemas.Element.properties.reportingLabelFieldId.format - schemas.Element.properties.reportingLabelFieldId.type - schemas.Element.properties.startTimestampFieldId.description - schemas.Element.properties.startTimestampFieldId.format - schemas.Element.properties.startTimestampFieldId.type - schemas.Element.type - schemas.FeedField.description - schemas.FeedField.id - schemas.FeedField.properties.defaultValue.description - schemas.FeedField.properties.defaultValue.type - schemas.FeedField.properties.filterable.description - schemas.FeedField.properties.filterable.type - schemas.FeedField.properties.id.description - schemas.FeedField.properties.id.format - schemas.FeedField.properties.id.type - schemas.FeedField.properties.name.description - schemas.FeedField.properties.name.type - schemas.FeedField.properties.renderable.description - schemas.FeedField.properties.renderable.type - schemas.FeedField.properties.required.description - schemas.FeedField.properties.required.type - schemas.FeedField.properties.type.description - schemas.FeedField.properties.type.enum - schemas.FeedField.properties.type.enumDescriptions - schemas.FeedField.properties.type.type - schemas.FeedField.type - schemas.FeedIngestionStatus.description - schemas.FeedIngestionStatus.id - schemas.FeedIngestionStatus.properties.ingestionErrorRecords.description - schemas.FeedIngestionStatus.properties.ingestionErrorRecords.items.$ref - schemas.FeedIngestionStatus.properties.ingestionErrorRecords.readOnly - schemas.FeedIngestionStatus.properties.ingestionErrorRecords.type - schemas.FeedIngestionStatus.properties.ingestionStatus.$ref - schemas.FeedIngestionStatus.properties.ingestionStatus.description - schemas.FeedIngestionStatus.properties.ingestionStatus.readOnly - schemas.FeedIngestionStatus.properties.state.description - schemas.FeedIngestionStatus.properties.state.enum - schemas.FeedIngestionStatus.properties.state.enumDescriptions - schemas.FeedIngestionStatus.properties.state.readOnly - schemas.FeedIngestionStatus.properties.state.type - schemas.FeedIngestionStatus.type - schemas.FeedSchedule.description - schemas.FeedSchedule.id - schemas.FeedSchedule.properties.repeatValue.description - schemas.FeedSchedule.properties.repeatValue.format - schemas.FeedSchedule.properties.repeatValue.type - schemas.FeedSchedule.properties.scheduleEnabled.description - schemas.FeedSchedule.properties.scheduleEnabled.type - schemas.FeedSchedule.properties.startHour.description - schemas.FeedSchedule.properties.startHour.type - schemas.FeedSchedule.properties.startMinute.description - schemas.FeedSchedule.properties.startMinute.type - schemas.FeedSchedule.properties.timeZone.description - schemas.FeedSchedule.properties.timeZone.type - schemas.FeedSchedule.type - schemas.FieldError.description - schemas.FieldError.id - schemas.FieldError.properties.fieldId.description - schemas.FieldError.properties.fieldId.format - schemas.FieldError.properties.fieldId.readOnly - schemas.FieldError.properties.fieldId.type - schemas.FieldError.properties.fieldName.description - schemas.FieldError.properties.fieldName.readOnly - schemas.FieldError.properties.fieldName.type - schemas.FieldError.properties.fieldValues.description - schemas.FieldError.properties.fieldValues.items.type - schemas.FieldError.properties.fieldValues.readOnly - schemas.FieldError.properties.fieldValues.type - schemas.FieldError.properties.ingestionError.description - schemas.FieldError.properties.ingestionError.enum - schemas.FieldError.properties.ingestionError.enumDescriptions - schemas.FieldError.properties.ingestionError.readOnly - schemas.FieldError.properties.ingestionError.type - schemas.FieldError.properties.isError.description - schemas.FieldError.properties.isError.readOnly - schemas.FieldError.properties.isError.type - schemas.FieldError.type - schemas.FieldFilter.description - schemas.FieldFilter.id - schemas.FieldFilter.properties.boolValue.description - schemas.FieldFilter.properties.boolValue.type - schemas.FieldFilter.properties.dependentFieldValue.$ref - schemas.FieldFilter.properties.dependentFieldValue.description - schemas.FieldFilter.properties.fieldId.description - schemas.FieldFilter.properties.fieldId.format - schemas.FieldFilter.properties.fieldId.type - schemas.FieldFilter.properties.matchType.description - schemas.FieldFilter.properties.matchType.enum - schemas.FieldFilter.properties.matchType.enumDescriptions - schemas.FieldFilter.properties.matchType.type - schemas.FieldFilter.properties.requestValue.$ref - schemas.FieldFilter.properties.requestValue.description - schemas.FieldFilter.properties.stringValue.description - schemas.FieldFilter.properties.stringValue.type - schemas.FieldFilter.properties.valueType.description - schemas.FieldFilter.properties.valueType.enum - schemas.FieldFilter.properties.valueType.enumDescriptions - schemas.FieldFilter.properties.valueType.type - schemas.FieldFilter.type - schemas.IngestionErrorRecord.description - schemas.IngestionErrorRecord.id - schemas.IngestionErrorRecord.properties.errors.description - schemas.IngestionErrorRecord.properties.errors.items.$ref - schemas.IngestionErrorRecord.properties.errors.readOnly - schemas.IngestionErrorRecord.properties.errors.type - schemas.IngestionErrorRecord.properties.recordId.description - schemas.IngestionErrorRecord.properties.recordId.readOnly - schemas.IngestionErrorRecord.properties.recordId.type - schemas.IngestionErrorRecord.type - schemas.IngestionStatus.description - schemas.IngestionStatus.id - schemas.IngestionStatus.properties.numActiveRows.description - schemas.IngestionStatus.properties.numActiveRows.format - schemas.IngestionStatus.properties.numActiveRows.readOnly - schemas.IngestionStatus.properties.numActiveRows.type - schemas.IngestionStatus.properties.numRowsProcessed.description - schemas.IngestionStatus.properties.numRowsProcessed.format - schemas.IngestionStatus.properties.numRowsProcessed.readOnly - schemas.IngestionStatus.properties.numRowsProcessed.type - schemas.IngestionStatus.properties.numRowsTotal.description - schemas.IngestionStatus.properties.numRowsTotal.format - schemas.IngestionStatus.properties.numRowsTotal.readOnly - schemas.IngestionStatus.properties.numRowsTotal.type - schemas.IngestionStatus.properties.numRowsWithErrors.description - schemas.IngestionStatus.properties.numRowsWithErrors.format - schemas.IngestionStatus.properties.numRowsWithErrors.readOnly - schemas.IngestionStatus.properties.numRowsWithErrors.type - schemas.IngestionStatus.properties.numWarningsTotal.description - schemas.IngestionStatus.properties.numWarningsTotal.format - schemas.IngestionStatus.properties.numWarningsTotal.readOnly - schemas.IngestionStatus.properties.numWarningsTotal.type - schemas.IngestionStatus.type - schemas.ProximityFilter.description - schemas.ProximityFilter.id - schemas.ProximityFilter.properties.fieldId.description - schemas.ProximityFilter.properties.fieldId.format - schemas.ProximityFilter.properties.fieldId.type - schemas.ProximityFilter.properties.radiusBucketType.description - schemas.ProximityFilter.properties.radiusBucketType.enum - schemas.ProximityFilter.properties.radiusBucketType.enumDescriptions - schemas.ProximityFilter.properties.radiusBucketType.type - schemas.ProximityFilter.properties.radiusUnitType.description - schemas.ProximityFilter.properties.radiusUnitType.enum - schemas.ProximityFilter.properties.radiusUnitType.enumDescriptions - schemas.ProximityFilter.properties.radiusUnitType.type - schemas.ProximityFilter.properties.radiusValue.description - schemas.ProximityFilter.properties.radiusValue.format - schemas.ProximityFilter.properties.radiusValue.type - schemas.ProximityFilter.type - schemas.RemarketingValueAttribute.description - schemas.RemarketingValueAttribute.id - schemas.RemarketingValueAttribute.properties.fieldId.description - schemas.RemarketingValueAttribute.properties.fieldId.format - schemas.RemarketingValueAttribute.properties.fieldId.type - schemas.RemarketingValueAttribute.properties.userAttributeIds.description - schemas.RemarketingValueAttribute.properties.userAttributeIds.items.format - schemas.RemarketingValueAttribute.properties.userAttributeIds.items.type - schemas.RemarketingValueAttribute.properties.userAttributeIds.type - schemas.RemarketingValueAttribute.type - schemas.RequestValue.description - schemas.RequestValue.id - schemas.RequestValue.properties.excludeFromUserAttributeIds.description - schemas.RequestValue.properties.excludeFromUserAttributeIds.items.format - schemas.RequestValue.properties.excludeFromUserAttributeIds.items.type - schemas.RequestValue.properties.excludeFromUserAttributeIds.type - schemas.RequestValue.properties.key.description - schemas.RequestValue.properties.key.type - schemas.RequestValue.properties.userAttributeIds.description - schemas.RequestValue.properties.userAttributeIds.items.format - schemas.RequestValue.properties.userAttributeIds.items.type - schemas.RequestValue.properties.userAttributeIds.type - schemas.RequestValue.type - schemas.RuleBlock.description - schemas.RuleBlock.id - schemas.RuleBlock.properties.fieldFilter.description - schemas.RuleBlock.properties.fieldFilter.items.$ref - schemas.RuleBlock.properties.fieldFilter.type - schemas.RuleBlock.type --- discovery/dfareporting-v4.json | 1280 +++++++++++++++++++++++++-- src/apis/dfareporting/v4.ts | 1500 ++++++++++++++++++++++++++++++-- 2 files changed, 2649 insertions(+), 131 deletions(-) diff --git a/discovery/dfareporting-v4.json b/discovery/dfareporting-v4.json index 87c6276a11c..a276403d12b 100644 --- a/discovery/dfareporting-v4.json +++ b/discovery/dfareporting-v4.json @@ -4630,6 +4630,120 @@ } } }, + "dynamicFeeds": { + "methods": { + "get": { + "description": "Gets a dynamic feed by ID.", + "flatPath": "studio/dynamicFeeds/{dynamicFeedsId}", + "httpMethod": "GET", + "id": "dfareporting.dynamicFeeds.get", + "parameterOrder": [ + "dynamicFeedId" + ], + "parameters": { + "dynamicFeedId": { + "description": "Required. Dynamic feed ID.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "studio/dynamicFeeds/{+dynamicFeedId}", + "response": { + "$ref": "DynamicFeed" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new dynamic feed.", + "flatPath": "studio/dynamicFeeds", + "httpMethod": "POST", + "id": "dfareporting.dynamicFeeds.insert", + "parameterOrder": [], + "parameters": {}, + "path": "studio/dynamicFeeds", + "request": { + "$ref": "DynamicFeedsInsertRequest" + }, + "response": { + "$ref": "DynamicFeed" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "dynamicProfiles": { + "methods": { + "get": { + "description": "Gets a dynamic profile by ID.", + "flatPath": "studio/dynamicProfiles/{dynamicProfilesId}", + "httpMethod": "GET", + "id": "dfareporting.dynamicProfiles.get", + "parameterOrder": [ + "dynamicProfileId" + ], + "parameters": { + "dynamicProfileId": { + "description": "Required. Dynamic profile ID.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "studio/dynamicProfiles/{+dynamicProfileId}", + "response": { + "$ref": "DynamicProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new dynamic profile.", + "flatPath": "studio/dynamicProfiles", + "httpMethod": "POST", + "id": "dfareporting.dynamicProfiles.insert", + "parameterOrder": [], + "parameters": {}, + "path": "studio/dynamicProfiles", + "request": { + "$ref": "DynamicProfile" + }, + "response": { + "$ref": "DynamicProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing dynamic profile.", + "flatPath": "studio/dynamicProfiles", + "httpMethod": "PUT", + "id": "dfareporting.dynamicProfiles.update", + "parameterOrder": [], + "parameters": {}, + "path": "studio/dynamicProfiles", + "request": { + "$ref": "DynamicProfile" + }, + "response": { + "$ref": "DynamicProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, "dynamicTargetingKeys": { "methods": { "delete": { @@ -10152,7 +10266,7 @@ } } }, - "revision": "20250602", + "revision": "20250722", "rootUrl": "https://dfareporting.googleapis.com/", "schemas": { "Account": { @@ -12171,6 +12285,81 @@ }, "type": "object" }, + "ContentSource": { + "description": "Contains the content source of the dynamic feed.", + "id": "ContentSource", + "properties": { + "contentSourceName": { + "description": "Optional. The name of the content source. It is defaulted to content source file name if not provided.", + "type": "string" + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Output only. The creation timestamp of the content source. This is a read-only field.", + "readOnly": true + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Output only. The last modified timestamp of the content source. This is a read-only field.", + "readOnly": true + }, + "metaData": { + "$ref": "ContentSourceMetaData", + "description": "Output only. Metadata of the content source. It contains the number of rows and the column names from resource link. This is a read-only field.", + "readOnly": true + }, + "resourceLink": { + "description": "Required. The link to the file of the content source.", + "type": "string" + }, + "resourceType": { + "description": "Required. The resource type of the content source.", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "RESOURCE_TYPE_GOOGLE_SPREADSHEET", + "RESOURCE_TYPE_REMOTE_FILE" + ], + "enumDescriptions": [ + "The resource type is unspecified.", + "The resource type is google spreadsheet.", + "The resource type is remote file." + ], + "type": "string" + } + }, + "type": "object" + }, + "ContentSourceMetaData": { + "description": "Contains the meta data of the content source. This is a read-only field.", + "id": "ContentSourceMetaData", + "properties": { + "charset": { + "description": "Output only. The charset of the content source.", + "readOnly": true, + "type": "string" + }, + "fieldNames": { + "description": "Output only. The list of column names in the content source.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "rowNumber": { + "description": "Output only. The number of rows in the content source.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "separator": { + "description": "Output only. The separator of the content source.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Conversion": { "description": "A Conversion represents when a user successfully performs a desired action after seeing an ad.", "id": "Conversion", @@ -14667,6 +14856,45 @@ }, "type": "object" }, + "CustomRule": { + "description": "Contains custom rule information.", + "id": "CustomRule", + "properties": { + "name": { + "description": "Optional. Name of this custom rule.", + "type": "string" + }, + "priority": { + "description": "Optional. Priority of the custom rule.", + "format": "int32", + "type": "integer" + }, + "ruleBlocks": { + "description": "Optional. A list of field filter, the custom rule will apply.", + "items": { + "$ref": "RuleBlock" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomValueField": { + "description": "Contains custom value field information.", + "id": "CustomValueField", + "properties": { + "fieldId": { + "description": "Optional. Field ID in the element.", + "format": "int32", + "type": "integer" + }, + "requestKey": { + "description": "Optional. Custom key used to match for auto filtering.", + "type": "string" + } + }, + "type": "object" + }, "CustomViewabilityMetric": { "description": "Custom Viewability Metric", "id": "CustomViewabilityMetric", @@ -14925,6 +15153,23 @@ }, "type": "object" }, + "DependentFieldValue": { + "description": "Contains dependent field value information.", + "id": "DependentFieldValue", + "properties": { + "elementId": { + "description": "Optional. The ID of the element that value's field will match against.", + "format": "int64", + "type": "string" + }, + "fieldId": { + "description": "Optional. The field id of the dependent field.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "DfpSettings": { "description": "Google Ad Manager Settings", "id": "DfpSettings", @@ -15204,109 +15449,462 @@ }, "type": "object" }, - "DynamicTargetingKey": { - "description": "Contains properties of a dynamic targeting key. Dynamic targeting keys are unique, user-friendly labels, created at the advertiser level in DCM, that can be assigned to ads, creatives, and placements and used for targeting with Studio dynamic creatives. Use these labels instead of numeric Campaign Manager IDs (such as placement IDs) to save time and avoid errors in your dynamic feeds.", - "id": "DynamicTargetingKey", + "DynamicFeed": { + "description": "Contains dynamic feed information.", + "id": "DynamicFeed", "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKey\".", - "type": "string" + "contentSource": { + "$ref": "ContentSource", + "description": "Required. The content source of the dynamic feed. This is a required field." }, - "name": { - "description": "Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.", - "type": "string" + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Output only. The creation timestamp of the dynamic feed. This is a read-only field.", + "readOnly": true }, - "objectId": { - "description": "ID of the object of this dynamic targeting key. This is a required field.", + "dynamicFeedId": { + "description": "Output only. Unique ID of this dynamic feed. This is a read-only, auto-generated field.", "format": "int64", + "readOnly": true, "type": "string" }, - "objectType": { - "description": "Type of the object of this dynamic targeting key. This is a required field.", + "dynamicFeedName": { + "description": "Optional. Name of this dynamic feed. It is defaulted to content source file name if not provided.", + "type": "string" + }, + "element": { + "$ref": "Element", + "description": "Required. The element of the dynamic feed that is to specify the schema of the feed. This is a required field." + }, + "feedIngestionStatus": { + "$ref": "FeedIngestionStatus", + "description": "Output only. The ingestion status of the dynamic feed. This is a read-only field.", + "readOnly": true + }, + "feedSchedule": { + "$ref": "FeedSchedule", + "description": "Optional. The schedule of the dynamic feed. It can be set if the feed is published." + }, + "hasPublished": { + "description": "Output only. Indicates whether the dynamic feed has a published version. This is a read-only field.", + "readOnly": true, + "type": "boolean" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Output only. The last modified timestamp of the dynamic feed. This is a read-only field.", + "readOnly": true + }, + "status": { + "description": "Output only. The status of the feed. It is a read-only field that depends on the the feed ingestion status. The default value is INACTIVE, and it will be updated to ACTIVE once the feed is ingested successfully.", "enum": [ - "OBJECT_ADVERTISER", - "OBJECT_AD", - "OBJECT_CREATIVE", - "OBJECT_PLACEMENT" + "STATUS_UNKNOWN", + "ACTIVE", + "INACTIVE", + "DELETED" ], "enumDescriptions": [ - "", - "", - "", - "" + "The status is unknown.", + "The feedstatus is active.", + "The feed status is inactive.", + "The feed status is deleted." ], + "readOnly": true, + "type": "string" + }, + "studioAdvertiserId": { + "description": "Required. Advertiser ID of this dynamic feed. This is a required field.", + "format": "int64", "type": "string" } }, "type": "object" }, - "DynamicTargetingKeysListResponse": { - "description": "Dynamic Targeting Key List Response", - "id": "DynamicTargetingKeysListResponse", + "DynamicFeedsInsertRequest": { + "description": "Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynnamic feed itself don't need the dynamic profile id. See go/cm3-dco-display-api-interface", + "id": "DynamicFeedsInsertRequest", "properties": { - "dynamicTargetingKeys": { - "description": "Dynamic targeting key collection.", - "items": { - "$ref": "DynamicTargetingKey" - }, - "type": "array" + "dynamicFeed": { + "$ref": "DynamicFeed", + "description": "Required. Dynamic feed to insert." }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKeysListResponse\".", + "dynamicProfileId": { + "description": "Required. Dynamic profile ID of the inserted dynamic feed.", + "format": "int64", "type": "string" } }, "type": "object" }, - "EncryptionInfo": { - "description": "A description of how user IDs are encrypted.", - "id": "EncryptionInfo", + "DynamicProfile": { + "description": "Contains dynamic profile information.", + "id": "DynamicProfile", "properties": { - "encryptionEntityId": { - "description": "The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer.", - "format": "int64", - "type": "string" + "active": { + "$ref": "DynamicProfileVersion", + "description": "Optional. Active version of the dynamic profile." }, - "encryptionEntityType": { - "description": "The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.", + "archiveStatus": { + "description": "Optional. Archive status of this dynamic profile.", "enum": [ - "ENCRYPTION_ENTITY_TYPE_UNKNOWN", - "DCM_ACCOUNT", - "DCM_ADVERTISER", - "DBM_PARTNER", - "DBM_ADVERTISER", - "ADWORDS_CUSTOMER", - "DFP_NETWORK_CODE" + "ARCHIVE_STATUS_UNKNOWN", + "UNARCHIVED", + "ARCHIVED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" + "The dynamic profile archive status is unknown. This value is unused.", + "The dynamic profile archive status is unarchived.", + "The dynamic profile archive status is archived." ], "type": "string" }, - "encryptionSource": { - "description": "Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.", - "enum": [ - "ENCRYPTION_SCOPE_UNKNOWN", - "AD_SERVING", - "DATA_TRANSFER" - ], - "enumDescriptions": [ - "", - "", - "" - ], + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Output only. The creation timestamp of the dynamic profile. This is a read-only field.", + "readOnly": true + }, + "description": { + "description": "Optional. Description of this dynamic profile.", + "type": "string" + }, + "draft": { + "$ref": "DynamicProfileVersion", + "description": "Optional. Draft version of the dynamic profile." + }, + "dynamicProfileId": { + "description": "Output only. Unique ID of this dynamic profile. This is a read-only, auto-generated field.", + "format": "int64", + "readOnly": true, "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#encryptionInfo\".", + "description": "Output only. Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicProfile\".", + "readOnly": true, "type": "string" - } + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Output only. The last modified timestamp of the dynamic profile. This is a read-only field.", + "readOnly": true + }, + "name": { + "description": "Required. Identifier. Name of this dynamic profile. This is a required field and must be less than 256 characters long.", + "type": "string" + }, + "status": { + "description": "Optional. Status of this dynamic profile.", + "enum": [ + "STATUS_UNKNOWN", + "ACTIVE", + "INACTIVE", + "DELETED" + ], + "enumDescriptions": [ + "The dynamic profile status is unknown. This value is unused.", + "The dynamic profile is active.", + "The dynamic profile is inactive.", + "The dynamic profile is deleted." + ], + "type": "string" + }, + "studioAdvertiserId": { + "description": "Required. Advertiser ID of this dynamic profile. This is a required field on insertion.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DynamicProfileFeedSettings": { + "description": "Contains dynamic profile specific settings for an associated dynamic feed.", + "id": "DynamicProfileFeedSettings", + "properties": { + "dynamicFeedId": { + "description": "Optional. Dynamic feed ID associated with dynamic profile version.", + "format": "int64", + "type": "string" + }, + "dynamicRules": { + "$ref": "DynamicRules", + "description": "Optional. Dynamic rules for row selection for the given dynamic feed in the given dynamic profile." + }, + "quantity": { + "description": "Optional. The number of this dynamic feed rows needed by the dynamic profile, default value is 1. Acceptable values are between 1 to 99, inclusive.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DynamicProfileVersion": { + "description": "Contains dynamic profile version information.", + "id": "DynamicProfileVersion", + "properties": { + "dynamicProfileFeedSettings": { + "description": "Optional. Associated dynamic feeds and their settings (including dynamic rules) for this dynamic profile version.", + "items": { + "$ref": "DynamicProfileFeedSettings" + }, + "type": "array" + }, + "versionId": { + "description": "Output only. Version ID of this dynamic profile version. This is a read-only, auto-generated field. -1 for draft version, 0+ for published versions.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DynamicRules": { + "description": "Contains dynamic rules information.", + "id": "DynamicRules", + "properties": { + "autoTargetedFieldIds": { + "description": "Optional. List of field IDs in this element that should be auto-targeted. Applicable when rule type is AUTO.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "customRules": { + "description": "Optional. The custom rules of the dynamic feed, only applicable when rule type is CUSTOM.", + "items": { + "$ref": "CustomRule" + }, + "type": "array" + }, + "customValueFields": { + "description": "Optional. Mapping between field ID and custom key that are used to match for auto filtering.", + "items": { + "$ref": "CustomValueField" + }, + "type": "array" + }, + "proximityFilter": { + "$ref": "ProximityFilter", + "description": "Optional. The proximity targeting rules of the dynamic feed, only applicable when rule type is PROXIMITY_TARGETING." + }, + "remarketingValueAttributes": { + "description": "Optional. The link between an element field ID and a list of user attribute IDs.", + "items": { + "$ref": "RemarketingValueAttribute" + }, + "type": "array" + }, + "rotationType": { + "description": "Optional. The rotation type to select from eligible rows. Rotation type only apply when the filtering rule results in more than one eligible rows.", + "enum": [ + "ROTATION_TYPE_UNKNOWN", + "RANDOM", + "OPTIMIZED", + "WEIGHTED" + ], + "enumDescriptions": [ + "The rotation type is unknown. This value is unused.", + "The rotation type is random. It is the default value.", + "The rotation type is optimized.", + "The rotation type is weighted." + ], + "type": "string" + }, + "ruleType": { + "description": "Optional. The type of the rule, the default value is OPEN.", + "enum": [ + "RULE_SET_TYPE_UNKNOWN", + "OPEN", + "AUTO", + "CUSTOM", + "PROXIMITY_TARGETING" + ], + "enumDescriptions": [ + "The rule type is unknown. This value is unused.", + "The rule type is open, all feed rows are eligible for selection. This is the default value.", + "The rule type is auto, the feed rows are eligible for selection based on the automatic rules.", + "The rule type is custom, the feed rows are eligible for selection based on the custom rules.", + "The rule type is proximity targeting, the feed rows are eligible for selection based on the proximity targeting rules." + ], + "type": "string" + }, + "weightFieldId": { + "description": "Optional. The field ID for the feed that will be used for weighted rotation, only applicable when rotation type is WEIGHTED.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DynamicTargetingKey": { + "description": "Contains properties of a dynamic targeting key. Dynamic targeting keys are unique, user-friendly labels, created at the advertiser level in DCM, that can be assigned to ads, creatives, and placements and used for targeting with Studio dynamic creatives. Use these labels instead of numeric Campaign Manager IDs (such as placement IDs) to save time and avoid errors in your dynamic feeds.", + "id": "DynamicTargetingKey", + "properties": { + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKey\".", + "type": "string" + }, + "name": { + "description": "Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.", + "type": "string" + }, + "objectId": { + "description": "ID of the object of this dynamic targeting key. This is a required field.", + "format": "int64", + "type": "string" + }, + "objectType": { + "description": "Type of the object of this dynamic targeting key. This is a required field.", + "enum": [ + "OBJECT_ADVERTISER", + "OBJECT_AD", + "OBJECT_CREATIVE", + "OBJECT_PLACEMENT" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DynamicTargetingKeysListResponse": { + "description": "Dynamic Targeting Key List Response", + "id": "DynamicTargetingKeysListResponse", + "properties": { + "dynamicTargetingKeys": { + "description": "Dynamic targeting key collection.", + "items": { + "$ref": "DynamicTargetingKey" + }, + "type": "array" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKeysListResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "Element": { + "description": "Contains the element of the dynamic feed.", + "id": "Element", + "properties": { + "activeFieldId": { + "description": "Optional. The field ID to specify the active field in the feed.", + "format": "int32", + "type": "integer" + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Output only. The creation timestamp of the element. This is a read-only field.", + "readOnly": true + }, + "defaultFieldId": { + "description": "Optional. The field ID to specify the field that represents the default field in the feed.", + "format": "int32", + "type": "integer" + }, + "elementName": { + "description": "Optional. The name of the element. It is defaulted to resource file name if not provided.", + "type": "string" + }, + "endTimestampFieldId": { + "description": "Optional. The field ID to specify the field that represents the end timestamp. Only applicable if you're planning to use scheduling in your dynamic creative.", + "format": "int32", + "type": "integer" + }, + "externalIdFieldId": { + "description": "Required. The field ID to specify the field used for uniquely identifying the feed row. This is a required field.", + "format": "int32", + "type": "integer" + }, + "feedFields": { + "description": "Required. The list of fields of the element. The field order and name should match the meta data in the content source source.", + "items": { + "$ref": "FeedField" + }, + "type": "array" + }, + "isLocalTimestamp": { + "description": "Optional. Whether the start and end timestamp is local timestamp. The default value is false which means start and end timestamp is in UTC.", + "type": "boolean" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Output only. The last modified timestamp of the element. This is a read-only field.", + "readOnly": true + }, + "proximityTargetingFieldId": { + "description": "Optional. The field ID that specify field used for proximity targeting.", + "format": "int32", + "type": "integer" + }, + "reportingLabelFieldId": { + "description": "Required. The field ID to specify the field used for dynamic reporting in Campaign Manager 360.", + "format": "int32", + "type": "integer" + }, + "startTimestampFieldId": { + "description": "Optional. The field ID to specify the field that represents the start timestamp. Only applicable if you're planning to use scheduling in your dynamic creative.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "EncryptionInfo": { + "description": "A description of how user IDs are encrypted.", + "id": "EncryptionInfo", + "properties": { + "encryptionEntityId": { + "description": "The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer.", + "format": "int64", + "type": "string" + }, + "encryptionEntityType": { + "description": "The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.", + "enum": [ + "ENCRYPTION_ENTITY_TYPE_UNKNOWN", + "DCM_ACCOUNT", + "DCM_ADVERTISER", + "DBM_PARTNER", + "DBM_ADVERTISER", + "ADWORDS_CUSTOMER", + "DFP_NETWORK_CODE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "encryptionSource": { + "description": "Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.", + "enum": [ + "ENCRYPTION_SCOPE_UNKNOWN", + "AD_SERVING", + "DATA_TRANSFER" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#encryptionInfo\".", + "type": "string" + } }, "type": "object" }, @@ -15459,6 +16057,379 @@ }, "type": "object" }, + "FeedField": { + "description": "Each field of the element. This is a required field.", + "id": "FeedField", + "properties": { + "defaultValue": { + "description": "Optional. The default value of the field.", + "type": "string" + }, + "filterable": { + "description": "Optional. Whether the field is filterable. Could be set as true when the field type is any of the following and is not renderable: - STRING - BOOL - COUNTRY_CODE_ISO - CM360_SITE_ID - CM360_KEYWORD - CM360_CREATIVE_ID - CM360_PLACEMENT_ID - CM360_AD_ID - CM360_ADVERTISER_ID - CM360_CAMPAIGN_ID - CITY - REGION - POSTAL_CODE - METRO - CUSTOM_VALUE - REMARKETING_VALUE - GEO_CANONICAL - STRING_LIST - CREATIVE_DIMENSION - USERLIST_ID - CM360_DYNAMIC_TARGETING_KEY - DV360_LINE_ITEM_ID ", + "type": "boolean" + }, + "id": { + "description": "Required. The ID of the field. The ID is based on the column index starting from 0, and it should match the column index in the resource link.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Required. The name of the field.", + "type": "string" + }, + "renderable": { + "description": "Optional. Whether the field is able to display. Could be set as true when the field type is not in any of the following and the field is not filterable: - COUNTRY_CODE_ISO - CITY - REGION - POSTAL_CODE - METRO - GEO_CANONICAL - USERLIST_ID - CONTEXTUAL_KEYWORD - CM360_DYNAMIC_TARGETING_KEY - WEIGHT ", + "type": "boolean" + }, + "required": { + "description": "Optional. Whether the field is required and should not be empty in the feed. Could be set as true when the field type is any of the following: - GPA_SERVED_IMAGE_URL - GPA_SERVED_ASSET_URL - ASSET_LIBRARY_HANDLE - ASSET_LIBRARY_VIDEO_HANDLE - ASSET_LIBRARY_DIRECTORY_HANDLE ", + "type": "boolean" + }, + "type": { + "description": "Required. The type of the field.", + "enum": [ + "TYPE_UNKNOWN", + "STRING", + "LONG", + "GPA_SERVED_IMAGE_URL", + "GPA_SERVED_ASSET_URL", + "COUNTRY_CODE_ISO", + "FLOAT", + "CM360_KEYWORD", + "CM360_SITE_ID", + "BOOL", + "EXIT_URL", + "DATETIME", + "CM360_CREATIVE_ID", + "CM360_PLACEMENT_ID", + "CM360_AD_ID", + "CM360_ADVERTISER_ID", + "CM360_CAMPAIGN_ID", + "CITY", + "REGION", + "POSTAL_CODE", + "METRO", + "CUSTOM_VALUE", + "REMARKETING_VALUE", + "GEO_CANONICAL", + "WEIGHT", + "STRING_LIST", + "CREATIVE_DIMENSION", + "USERLIST_ID", + "ASSET_LIBRARY_DIRECTORY_HANDLE", + "ASSET_LIBRARY_VIDEO_HANDLE", + "ASSET_LIBRARY_HANDLE", + "THIRD_PARTY_SERVED_URL", + "CM360_DYNAMIC_TARGETING_KEY", + "DV360_LINE_ITEM_ID" + ], + "enumDescriptions": [ + "The type is unspecified. This is an unused value.", + "The field type is text.", + "The field type is whole number.", + "The field type is image url", + "The field type is asset url.", + "The field type is the ISO 3166-2 alpha-2 codes. It is two-letter country codes defined in ISO 3166-1 published by the International Organization for Standardization.", + "The field type is decimal.", + "The field type is custom CM360 ad tag parameter.", + "The field type is CM360 site ID.", + "The field type is boolean.", + "The field type is exit url.", + "The field type is datetime.", + "The field type is CM360 creative ID.", + "The field type is CM360 placement ID.", + "The field type is CM360 ad ID.", + "The field type is CM360 advertiser ID.", + "The field type is CM360 campaign ID.", + "The field type is cities.", + "The field type is region.", + "The field type is postal code.", + "The field type is metro code.", + "The field type is custom value.", + "The field type is remarketing value.", + "The field type is accurate geographic type.", + "The field type is weight.", + "The field type is a list of values.", + "The field type is creative dimension.", + "The field type is CM/DV360 Audience ID.", + "The field type is AssetLibrary directory path.", + "The field type is AssetLibrary video file path.", + "The field type is AssetLibrary path.", + "The field type is third party served url.", + "The field type is CM dynamic targeting key.", + "The field type is DV360 line item ID." + ], + "type": "string" + } + }, + "type": "object" + }, + "FeedIngestionStatus": { + "description": "Contains the ingestion status of the dynamic feed. Feed ingestion is an asynchronous process. If the feed create request is successful, feed ingestion will be processed in the background, including validation, assets retrieval, and saving the data from the resource link. The processing time is dependent on the data size in the resource link. This read-only status field contains the current stage of that processing and its ingestion state.", + "id": "FeedIngestionStatus", + "properties": { + "ingestionErrorRecords": { + "description": "Output only. The ingestion error records of the feed.", + "items": { + "$ref": "IngestionErrorRecord" + }, + "readOnly": true, + "type": "array" + }, + "ingestionStatus": { + "$ref": "IngestionStatus", + "description": "Output only. The ingestion status of the feed.", + "readOnly": true + }, + "state": { + "description": "Output only. The processing state of the feed.", + "enum": [ + "FEED_PROCESSING_STATE_UNKNOWN", + "CANCELLED", + "INGESTING_QUEUED", + "INGESTING", + "INGESTED_SUCCESS", + "INGESTED_FAILURE", + "REQUEST_TO_PUBLISH", + "PUBLISHING", + "PUBLISHED_SUCCESS", + "PUBLISHED_FAILURE" + ], + "enumDescriptions": [ + "The feed processing state is unknown.", + "The feed processing state is cancelled.", + "The feed processing state is ingesting queued.", + "The feed processing state is ingesting.", + "The feed processing state is ingested successfully.", + "The feed processing state is ingested with failure.", + "The feed processing state is request to publish.", + "The feed processing state is publishing.", + "The feed processing state is published successfully.", + "The feed processing state is published with failure." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FeedSchedule": { + "description": "Contains the schedule of the dynamic feed.", + "id": "FeedSchedule", + "properties": { + "repeatValue": { + "description": "Optional. The number of times the feed retransforms within one day. This is a required field if the schedule is enabled. Acceptable values are between 1 to 6, inclusive.", + "format": "int64", + "type": "string" + }, + "scheduleEnabled": { + "description": "Optional. Whether the schedule is enabled.", + "type": "boolean" + }, + "startHour": { + "description": "Optional. The hour of the day to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0.", + "type": "string" + }, + "startMinute": { + "description": "Optional. The minute of the hour to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0.", + "type": "string" + }, + "timeZone": { + "description": "Optional. The time zone to schedule the feed. It is applicable if the repeat value is equal to 1. Default value is \"America/Los_Angeles\".", + "type": "string" + } + }, + "type": "object" + }, + "FieldError": { + "description": "Contains the field error of the dynamic feed.", + "id": "FieldError", + "properties": { + "fieldId": { + "description": "Output only. The ID of the field.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "fieldName": { + "description": "Output only. The name of the field.", + "readOnly": true, + "type": "string" + }, + "fieldValues": { + "description": "Output only. The list of values of the field.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "ingestionError": { + "description": "Output only. The ingestion error of the field.", + "enum": [ + "UNKNOWN_PARSING_ERROR", + "MISSING_ID", + "MISSING_REPORTING_LABEL", + "EMPTY_VALUE", + "ASSET_DOWNLOAD_ERROR", + "ID_TOO_LONG", + "DUPLICATE_ID", + "PARSING_ERROR", + "COUNTRY_PARSING_ERROR", + "LONG_PARSING_ERROR", + "BOOL_PARSING_ERROR", + "EXPANDED_URL_PARSING_ERROR", + "FLOAT_PARSING_ERROR", + "DATETIME_PARSING_ERROR", + "INVALID_PREFERENCE_VALUE", + "GEO_NOT_FOUND_ERROR", + "GEO_PARSING_ERROR", + "GEO_PROXIMITY_TARGETING_MULTIPLE_LOCATION_ERROR", + "POSTAL_CODE_PARSING_ERROR", + "METRO_CODE_PARSING_ERROR", + "DATETIME_WITHOUT_TIMEZONE_PARSING_ERROR", + "WEIGHT_PARSING_ERROR", + "CREATIVE_DIMENSION_PARSING_ERROR", + "MULTIVALUE_ID", + "ENDTIME_BEFORE_STARTTIME", + "INVALID_ASSET_LIBRARY_HANDLE", + "INVALID_ASSET_LIBRARY_VIDEO_HANDLE", + "INVALID_ASSET_LIBRARY_DIRECTORY_HANDLE", + "DYNAMIC_TARGETING_KEY_NOT_DEFINED_FOR_ADVERTISER", + "USERLIST_ID_NOT_ACCESSIBLE_FOR_ADVERTISER", + "ENDTIME_PASSED", + "ENDTIME_TOO_SOON", + "TEXT_ASSET_REFERENCE", + "IMAGE_ASSET_SCS_REFERENCE", + "AIRPORT_GEO_TARGET", + "CANONICAL_NAME_QUERY_MISMATCH", + "NO_DEFAULT_ROW", + "NO_ACTIVE_DEFAULT_ROW", + "NO_DEFAULT_ROW_IN_DATE_RANGE", + "NO_ACTIVE_DEFAULT_ROW_IN_DATE_RANGE", + "PAYLOAD_LIMIT_EXCEEDED", + "SSL_NOT_COMPLIANT" + ], + "enumDescriptions": [ + "The ingestion error is unknown.", + "The ingestion error when the ID value is missing.", + "The ingestion error when the element value name used for reporting is missing.", + "The ingestion error when a required value is empty", + "The ingestion error when asset retrieval fails for a particular image or asset.", + "The ingestion error when the ID value exceeds the string length limit.", + "The ingestion error when the ID value is duplicate.", + "The ingestion error when parsing the field fails.", + "The ingestion error when parsing the country code fails.", + "The ingestion error when parsing the long value fails.", + "The ingestion error when parsing the boolean value fails.", + "The ingestion error when parsing the expanded url fails.", + "The ingestion error when parsing the float value fails.", + "The ingestion error when parsing the datetime value fails.", + "The ingestion error when the preference value is not a positive float.", + "The ingestion error when a geo location is not found.", + "The ingestion error when parsing the geo field fails.", + "The ingestion error when a feed row has multiple geotargets with proximity targeting enabled.", + "The ingestion error when parsing the postal code value fails.", + "The ingestion error when parsing the metro code value fails.", + "The ingestion error when parsing the datetime value fails.", + "The ingestion error when parsing the weight value fails.", + "The ingestion error when parsing the creative dimension value fails.", + "The ingestion error when a STRING_LIST type ID has multiple values.", + "The ingestion error when the end time is before the start time.", + "The ingestion error when the asset library handle is invalid.", + "The ingestion error when the asset library video handle is invalid.", + "The ingestion error when the asset library directory handle is invalid.", + "The ingestion error when a targeting key used but not defined for the CM360 Advertiser.", + "The ingestion error when the userlist ID is not accessible for the CM360 Advertiser.", + "The ingestion error when the end time is passed.", + "The ingestion error when the end time is in the near future (i.e., <7 days).", + "The ingestion error when a text field specifies a reference to an asset.", + "The ingestion error when Image field specifies a reference to an asset hosted on SCS (s0.2mdn.net/s0qa.2mdn.net).", + "The ingestion error when a geo target is an airport.", + "The ingestion error when the geo target's canonical name does not match the query string used to obtain it.", + "The ingestion error or warning when the default row is not set.", + "The ingestion error or warning when the default row is not active.", + "The ingestion error or warning when the default row is not in the date range.", + "The ingestion error or warning when the default row is not in the date range.", + "The ingestion error when when the payload of the record is above a threshold.", + "The ingestion error or warning when the field is not SSL compliant." + ], + "readOnly": true, + "type": "string" + }, + "isError": { + "description": "Output only. Incidcates whether the field has error or warning.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "FieldFilter": { + "description": "Contains field filter information.", + "id": "FieldFilter", + "properties": { + "boolValue": { + "description": "Optional. The boolean values, only applicable when rhs_value_type is BOOL.", + "type": "boolean" + }, + "dependentFieldValue": { + "$ref": "DependentFieldValue", + "description": "Optional. The dependent values, only applicable when rhs_value_type is DEPENDENT." + }, + "fieldId": { + "description": "Optional. The field ID on the left hand side of the expression.", + "format": "int32", + "type": "integer" + }, + "matchType": { + "description": "Optional. Left hand side of the expression match type.", + "enum": [ + "LHS_MATCH_TYPE_UNKNOWN", + "EQUALS_OR_UNRESTRICTED", + "EQUALS", + "UNRESTRICTED", + "NOT_EQUALS" + ], + "enumDescriptions": [ + "The left hand side of the expression is unknown. This value is unused.", + "The left hand side of the expression is equals or unrestricted. It is the default value.", + "The left hand side of the expression is equals.", + "The left hand side of the expression is unrestricted. Unrestricted is used to target fields with no restrictions. For example, country targeting fields hold a list of countries. If the list is empty, we consider the element value to have no restrictions.", + "Left hand side of the expression is not equals. Not equals specifies which fields should not be targeted." + ], + "type": "string" + }, + "requestValue": { + "$ref": "RequestValue", + "description": "Optional. The request value, only applicable when rhs_value_type is REQUEST." + }, + "stringValue": { + "description": "Optional. The string value, only applicable when rhs_value_type is STRING.", + "type": "string" + }, + "valueType": { + "description": "Optional. Right hand side of the expression.", + "enum": [ + "RHS_VALUE_TYPE_UNKNOWN", + "STRING", + "REQUEST", + "BOOL", + "DEPENDENT" + ], + "enumDescriptions": [ + "The right hand side of the expression is unknown. This value is unused.", + "The right hand side of the expression is a string.", + "The right hand side of the expression is a request value.", + "The right hand side of the expression is a boolean.", + "The right hand side of the expression is a dependent field value." + ], + "type": "string" + } + }, + "type": "object" + }, "File": { "description": "Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is \"REPORT_AVAILABLE\".", "id": "File", @@ -16442,6 +17413,63 @@ }, "type": "object" }, + "IngestionErrorRecord": { + "description": "Contains the ingestion error record of the dynamic feed. limited to 100 records.", + "id": "IngestionErrorRecord", + "properties": { + "errors": { + "description": "Output only. The list of field errors of the ingestion error record.", + "items": { + "$ref": "FieldError" + }, + "readOnly": true, + "type": "array" + }, + "recordId": { + "description": "Output only. The record ID of the ingestion error record.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "IngestionStatus": { + "description": "Contains the ingestion status of the dynamic feed.", + "id": "IngestionStatus", + "properties": { + "numActiveRows": { + "description": "Output only. The number of active rows in the feed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "numRowsProcessed": { + "description": "Output only. The number of rows processed in the feed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "numRowsTotal": { + "description": "Output only. The total number of rows in the feed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "numRowsWithErrors": { + "description": "Output only. The number of rows with errors in the feed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "numWarningsTotal": { + "description": "Output only. The total number of warnings in the feed.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "InventoryItem": { "description": "Represents a buy from the Planning inventory store.", "id": "InventoryItem", @@ -18868,6 +19896,57 @@ }, "type": "object" }, + "ProximityFilter": { + "description": "Contains proximity filter information.", + "id": "ProximityFilter", + "properties": { + "fieldId": { + "description": "Optional. Field ID in the element.", + "format": "int32", + "type": "integer" + }, + "radiusBucketType": { + "description": "Optional. The radius bucket type of the proximity filter", + "enum": [ + "RADIUS_BUCKET_TYPE_UNKNOWN", + "SMALL", + "MEDIUM", + "LARGE", + "MULTI_REGIONAL", + "NATIONAL" + ], + "enumDescriptions": [ + "The radius bucket type is unknown.", + "The radius bucket type is small.", + "The radius bucket type is medium.", + "The radius bucket type is large.", + "The radius bucket type is multi-regional.", + "The radius bucket type is national." + ], + "type": "string" + }, + "radiusUnitType": { + "description": "Optional. The units of the radius value", + "enum": [ + "RADIUS_UNIT_TYPE_UNKNOWN", + "KILOMETERS", + "MILES" + ], + "enumDescriptions": [ + "The units of the radius value are unknown. This value is unused.", + "The units of the radius value are kilometers.", + "The units of the radius value are miles." + ], + "type": "string" + }, + "radiusValue": { + "description": "Optional. Radius length in units defined by radius_units.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ReachReportCompatibleFields": { "description": "Represents fields that are compatible to be selected for a report of type \"REACH\".", "id": "ReachReportCompatibleFields", @@ -19137,6 +20216,26 @@ }, "type": "object" }, + "RemarketingValueAttribute": { + "description": "Contains remarketing value attribute information.", + "id": "RemarketingValueAttribute", + "properties": { + "fieldId": { + "description": "Optional. Field ID in the element.", + "format": "int32", + "type": "integer" + }, + "userAttributeIds": { + "description": "Optional. Remarketing user attribute IDs for auto filtering.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Report": { "description": "Represents a Report resource.", "id": "Report", @@ -19744,6 +20843,33 @@ }, "type": "object" }, + "RequestValue": { + "description": "Contains request value information.", + "id": "RequestValue", + "properties": { + "excludeFromUserAttributeIds": { + "description": "Optional. User attribute IDs in the request that should be excluded. Used only when the field type is REMARKETING_VALUE or USER_ATTRIBUTE_ID.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "key": { + "description": "Optional. Custom key in the request. Used only when the field type is CUSTOM_VALUE.", + "type": "string" + }, + "userAttributeIds": { + "description": "Optional. User attribute IDs in the request. Used only when the field type is REMARKETING_VALUE or USER_ATTRIBUTE_ID.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "RichMediaExitOverride": { "description": "Rich Media Exit Override.", "id": "RichMediaExitOverride", @@ -19785,6 +20911,20 @@ }, "type": "object" }, + "RuleBlock": { + "description": "Contains a list of field filters that the given custom rule will apply.", + "id": "RuleBlock", + "properties": { + "fieldFilter": { + "description": "Optional. A list of non-auto field filters", + "items": { + "$ref": "FieldFilter" + }, + "type": "array" + } + }, + "type": "object" + }, "Site": { "description": "Contains properties of a site.", "id": "Site", diff --git a/src/apis/dfareporting/v4.ts b/src/apis/dfareporting/v4.ts index 4d64d836627..9722b5e9456 100644 --- a/src/apis/dfareporting/v4.ts +++ b/src/apis/dfareporting/v4.ts @@ -141,6 +141,8 @@ export namespace dfareporting_v4 { creatives: Resource$Creatives; dimensionValues: Resource$Dimensionvalues; directorySites: Resource$Directorysites; + dynamicFeeds: Resource$Dynamicfeeds; + dynamicProfiles: Resource$Dynamicprofiles; dynamicTargetingKeys: Resource$Dynamictargetingkeys; eventTags: Resource$Eventtags; files: Resource$Files; @@ -220,6 +222,8 @@ export namespace dfareporting_v4 { this.creatives = new Resource$Creatives(this.context); this.dimensionValues = new Resource$Dimensionvalues(this.context); this.directorySites = new Resource$Directorysites(this.context); + this.dynamicFeeds = new Resource$Dynamicfeeds(this.context); + this.dynamicProfiles = new Resource$Dynamicprofiles(this.context); this.dynamicTargetingKeys = new Resource$Dynamictargetingkeys( this.context ); @@ -1735,6 +1739,56 @@ export namespace dfareporting_v4 { */ name?: string | null; } + /** + * Contains the content source of the dynamic feed. + */ + export interface Schema$ContentSource { + /** + * Optional. The name of the content source. It is defaulted to content source file name if not provided. + */ + contentSourceName?: string | null; + /** + * Output only. The creation timestamp of the content source. This is a read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Output only. The last modified timestamp of the content source. This is a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Output only. Metadata of the content source. It contains the number of rows and the column names from resource link. This is a read-only field. + */ + metaData?: Schema$ContentSourceMetaData; + /** + * Required. The link to the file of the content source. + */ + resourceLink?: string | null; + /** + * Required. The resource type of the content source. + */ + resourceType?: string | null; + } + /** + * Contains the meta data of the content source. This is a read-only field. + */ + export interface Schema$ContentSourceMetaData { + /** + * Output only. The charset of the content source. + */ + charset?: string | null; + /** + * Output only. The list of column names in the content source. + */ + fieldNames?: string[] | null; + /** + * Output only. The number of rows in the content source. + */ + rowNumber?: number | null; + /** + * Output only. The separator of the content source. + */ + separator?: string | null; + } /** * A Conversion represents when a user successfully performs a desired action after seeing an ad. */ @@ -2929,6 +2983,36 @@ export namespace dfareporting_v4 { */ kind?: string | null; } + /** + * Contains custom rule information. + */ + export interface Schema$CustomRule { + /** + * Optional. Name of this custom rule. + */ + name?: string | null; + /** + * Optional. Priority of the custom rule. + */ + priority?: number | null; + /** + * Optional. A list of field filter, the custom rule will apply. + */ + ruleBlocks?: Schema$RuleBlock[]; + } + /** + * Contains custom value field information. + */ + export interface Schema$CustomValueField { + /** + * Optional. Field ID in the element. + */ + fieldId?: number | null; + /** + * Optional. Custom key used to match for auto filtering. + */ + requestKey?: string | null; + } /** * Custom Viewability Metric */ @@ -3058,6 +3142,19 @@ export namespace dfareporting_v4 { */ priority?: string | null; } + /** + * Contains dependent field value information. + */ + export interface Schema$DependentFieldValue { + /** + * Optional. The ID of the element that value's field will match against. + */ + elementId?: string | null; + /** + * Optional. The field id of the dependent field. + */ + fieldId?: number | null; + } /** * Google Ad Manager Settings */ @@ -3261,6 +3358,184 @@ export namespace dfareporting_v4 { */ nextPageToken?: string | null; } + /** + * Contains dynamic feed information. + */ + export interface Schema$DynamicFeed { + /** + * Required. The content source of the dynamic feed. This is a required field. + */ + contentSource?: Schema$ContentSource; + /** + * Output only. The creation timestamp of the dynamic feed. This is a read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Output only. Unique ID of this dynamic feed. This is a read-only, auto-generated field. + */ + dynamicFeedId?: string | null; + /** + * Optional. Name of this dynamic feed. It is defaulted to content source file name if not provided. + */ + dynamicFeedName?: string | null; + /** + * Required. The element of the dynamic feed that is to specify the schema of the feed. This is a required field. + */ + element?: Schema$Element; + /** + * Output only. The ingestion status of the dynamic feed. This is a read-only field. + */ + feedIngestionStatus?: Schema$FeedIngestionStatus; + /** + * Optional. The schedule of the dynamic feed. It can be set if the feed is published. + */ + feedSchedule?: Schema$FeedSchedule; + /** + * Output only. Indicates whether the dynamic feed has a published version. This is a read-only field. + */ + hasPublished?: boolean | null; + /** + * Output only. The last modified timestamp of the dynamic feed. This is a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Output only. The status of the feed. It is a read-only field that depends on the the feed ingestion status. The default value is INACTIVE, and it will be updated to ACTIVE once the feed is ingested successfully. + */ + status?: string | null; + /** + * Required. Advertiser ID of this dynamic feed. This is a required field. + */ + studioAdvertiserId?: string | null; + } + /** + * Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynnamic feed itself don't need the dynamic profile id. See go/cm3-dco-display-api-interface + */ + export interface Schema$DynamicFeedsInsertRequest { + /** + * Required. Dynamic feed to insert. + */ + dynamicFeed?: Schema$DynamicFeed; + /** + * Required. Dynamic profile ID of the inserted dynamic feed. + */ + dynamicProfileId?: string | null; + } + /** + * Contains dynamic profile information. + */ + export interface Schema$DynamicProfile { + /** + * Optional. Active version of the dynamic profile. + */ + active?: Schema$DynamicProfileVersion; + /** + * Optional. Archive status of this dynamic profile. + */ + archiveStatus?: string | null; + /** + * Output only. The creation timestamp of the dynamic profile. This is a read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Optional. Description of this dynamic profile. + */ + description?: string | null; + /** + * Optional. Draft version of the dynamic profile. + */ + draft?: Schema$DynamicProfileVersion; + /** + * Output only. Unique ID of this dynamic profile. This is a read-only, auto-generated field. + */ + dynamicProfileId?: string | null; + /** + * Output only. Identifies what kind of resource this is. Value: the fixed string "dfareporting#dynamicProfile". + */ + kind?: string | null; + /** + * Output only. The last modified timestamp of the dynamic profile. This is a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Required. Identifier. Name of this dynamic profile. This is a required field and must be less than 256 characters long. + */ + name?: string | null; + /** + * Optional. Status of this dynamic profile. + */ + status?: string | null; + /** + * Required. Advertiser ID of this dynamic profile. This is a required field on insertion. + */ + studioAdvertiserId?: string | null; + } + /** + * Contains dynamic profile specific settings for an associated dynamic feed. + */ + export interface Schema$DynamicProfileFeedSettings { + /** + * Optional. Dynamic feed ID associated with dynamic profile version. + */ + dynamicFeedId?: string | null; + /** + * Optional. Dynamic rules for row selection for the given dynamic feed in the given dynamic profile. + */ + dynamicRules?: Schema$DynamicRules; + /** + * Optional. The number of this dynamic feed rows needed by the dynamic profile, default value is 1. Acceptable values are between 1 to 99, inclusive. + */ + quantity?: number | null; + } + /** + * Contains dynamic profile version information. + */ + export interface Schema$DynamicProfileVersion { + /** + * Optional. Associated dynamic feeds and their settings (including dynamic rules) for this dynamic profile version. + */ + dynamicProfileFeedSettings?: Schema$DynamicProfileFeedSettings[]; + /** + * Output only. Version ID of this dynamic profile version. This is a read-only, auto-generated field. -1 for draft version, 0+ for published versions. + */ + versionId?: string | null; + } + /** + * Contains dynamic rules information. + */ + export interface Schema$DynamicRules { + /** + * Optional. List of field IDs in this element that should be auto-targeted. Applicable when rule type is AUTO. + */ + autoTargetedFieldIds?: number[] | null; + /** + * Optional. The custom rules of the dynamic feed, only applicable when rule type is CUSTOM. + */ + customRules?: Schema$CustomRule[]; + /** + * Optional. Mapping between field ID and custom key that are used to match for auto filtering. + */ + customValueFields?: Schema$CustomValueField[]; + /** + * Optional. The proximity targeting rules of the dynamic feed, only applicable when rule type is PROXIMITY_TARGETING. + */ + proximityFilter?: Schema$ProximityFilter; + /** + * Optional. The link between an element field ID and a list of user attribute IDs. + */ + remarketingValueAttributes?: Schema$RemarketingValueAttribute[]; + /** + * Optional. The rotation type to select from eligible rows. Rotation type only apply when the filtering rule results in more than one eligible rows. + */ + rotationType?: string | null; + /** + * Optional. The type of the rule, the default value is OPEN. + */ + ruleType?: string | null; + /** + * Optional. The field ID for the feed that will be used for weighted rotation, only applicable when rotation type is WEIGHTED. + */ + weightFieldId?: number | null; + } /** * Contains properties of a dynamic targeting key. Dynamic targeting keys are unique, user-friendly labels, created at the advertiser level in DCM, that can be assigned to ads, creatives, and placements and used for targeting with Studio dynamic creatives. Use these labels instead of numeric Campaign Manager IDs (such as placement IDs) to save time and avoid errors in your dynamic feeds. */ @@ -3295,6 +3570,59 @@ export namespace dfareporting_v4 { */ kind?: string | null; } + /** + * Contains the element of the dynamic feed. + */ + export interface Schema$Element { + /** + * Optional. The field ID to specify the active field in the feed. + */ + activeFieldId?: number | null; + /** + * Output only. The creation timestamp of the element. This is a read-only field. + */ + createInfo?: Schema$LastModifiedInfo; + /** + * Optional. The field ID to specify the field that represents the default field in the feed. + */ + defaultFieldId?: number | null; + /** + * Optional. The name of the element. It is defaulted to resource file name if not provided. + */ + elementName?: string | null; + /** + * Optional. The field ID to specify the field that represents the end timestamp. Only applicable if you're planning to use scheduling in your dynamic creative. + */ + endTimestampFieldId?: number | null; + /** + * Required. The field ID to specify the field used for uniquely identifying the feed row. This is a required field. + */ + externalIdFieldId?: number | null; + /** + * Required. The list of fields of the element. The field order and name should match the meta data in the content source source. + */ + feedFields?: Schema$FeedField[]; + /** + * Optional. Whether the start and end timestamp is local timestamp. The default value is false which means start and end timestamp is in UTC. + */ + isLocalTimestamp?: boolean | null; + /** + * Output only. The last modified timestamp of the element. This is a read-only field. + */ + lastModifiedInfo?: Schema$LastModifiedInfo; + /** + * Optional. The field ID that specify field used for proximity targeting. + */ + proximityTargetingFieldId?: number | null; + /** + * Required. The field ID to specify the field used for dynamic reporting in Campaign Manager 360. + */ + reportingLabelFieldId?: number | null; + /** + * Optional. The field ID to specify the field that represents the start timestamp. Only applicable if you're planning to use scheduling in your dynamic creative. + */ + startTimestampFieldId?: number | null; + } /** * A description of how user IDs are encrypted. */ @@ -3420,121 +3748,254 @@ export namespace dfareporting_v4 { kind?: string | null; } /** - * Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE". + * Each field of the element. This is a required field. */ - export interface Schema$File { + export interface Schema$FeedField { /** - * The date range for which the file has report data. The date range will always be the absolute date range for which the report is run. + * Optional. The default value of the field. */ - dateRange?: Schema$DateRange; + defaultValue?: string | null; /** - * Etag of this resource. + * Optional. Whether the field is filterable. Could be set as true when the field type is any of the following and is not renderable: - STRING - BOOL - COUNTRY_CODE_ISO - CM360_SITE_ID - CM360_KEYWORD - CM360_CREATIVE_ID - CM360_PLACEMENT_ID - CM360_AD_ID - CM360_ADVERTISER_ID - CM360_CAMPAIGN_ID - CITY - REGION - POSTAL_CODE - METRO - CUSTOM_VALUE - REMARKETING_VALUE - GEO_CANONICAL - STRING_LIST - CREATIVE_DIMENSION - USERLIST_ID - CM360_DYNAMIC_TARGETING_KEY - DV360_LINE_ITEM_ID */ - etag?: string | null; + filterable?: boolean | null; /** - * The filename of the file. + * Required. The ID of the field. The ID is based on the column index starting from 0, and it should match the column index in the resource link. */ - fileName?: string | null; + id?: number | null; /** - * The output format of the report. Only available once the file is available. + * Required. The name of the field. */ - format?: string | null; + name?: string | null; /** - * The unique ID of this report file. + * Optional. Whether the field is able to display. Could be set as true when the field type is not in any of the following and the field is not filterable: - COUNTRY_CODE_ISO - CITY - REGION - POSTAL_CODE - METRO - GEO_CANONICAL - USERLIST_ID - CONTEXTUAL_KEYWORD - CM360_DYNAMIC_TARGETING_KEY - WEIGHT */ - id?: string | null; + renderable?: boolean | null; /** - * Identifies what kind of resource this is. Value: the fixed string "dfareporting#file". + * Optional. Whether the field is required and should not be empty in the feed. Could be set as true when the field type is any of the following: - GPA_SERVED_IMAGE_URL - GPA_SERVED_ASSET_URL - ASSET_LIBRARY_HANDLE - ASSET_LIBRARY_VIDEO_HANDLE - ASSET_LIBRARY_DIRECTORY_HANDLE */ - kind?: string | null; + required?: boolean | null; /** - * The timestamp in milliseconds since epoch when this file was last modified. + * Required. The type of the field. */ - lastModifiedTime?: string | null; + type?: string | null; + } + /** + * Contains the ingestion status of the dynamic feed. Feed ingestion is an asynchronous process. If the feed create request is successful, feed ingestion will be processed in the background, including validation, assets retrieval, and saving the data from the resource link. The processing time is dependent on the data size in the resource link. This read-only status field contains the current stage of that processing and its ingestion state. + */ + export interface Schema$FeedIngestionStatus { /** - * The ID of the report this file was generated from. + * Output only. The ingestion error records of the feed. */ - reportId?: string | null; + ingestionErrorRecords?: Schema$IngestionErrorRecord[]; /** - * The status of the report file. + * Output only. The ingestion status of the feed. */ - status?: string | null; + ingestionStatus?: Schema$IngestionStatus; /** - * The URLs where the completed report file can be downloaded. + * Output only. The processing state of the feed. */ - urls?: {apiUrl?: string; browserUrl?: string} | null; + state?: string | null; } /** - * List of files for a report. + * Contains the schedule of the dynamic feed. */ - export interface Schema$FileList { + export interface Schema$FeedSchedule { /** - * Etag of this resource. + * Optional. The number of times the feed retransforms within one day. This is a required field if the schedule is enabled. Acceptable values are between 1 to 6, inclusive. */ - etag?: string | null; + repeatValue?: string | null; /** - * The files returned in this response. + * Optional. Whether the schedule is enabled. */ - items?: Schema$File[]; + scheduleEnabled?: boolean | null; /** - * Identifies what kind of resource this is. Value: the fixed string "dfareporting#fileList". + * Optional. The hour of the day to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0. */ - kind?: string | null; + startHour?: string | null; /** - * Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted. + * Optional. The minute of the hour to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0. */ - nextPageToken?: string | null; + startMinute?: string | null; + /** + * Optional. The time zone to schedule the feed. It is applicable if the repeat value is equal to 1. Default value is "America/Los_Angeles". + */ + timeZone?: string | null; } /** - * Flight + * Contains the field error of the dynamic feed. */ - export interface Schema$Flight { - endDate?: string | null; + export interface Schema$FieldError { /** - * Rate or cost of this flight. + * Output only. The ID of the field. */ - rateOrCost?: string | null; - startDate?: string | null; + fieldId?: number | null; /** - * Units of this flight. + * Output only. The name of the field. */ - units?: string | null; - } - /** - * Floodlight Activity GenerateTag Response - */ - export interface Schema$FloodlightActivitiesGenerateTagResponse { + fieldName?: string | null; /** - * Generated tag for this Floodlight activity. For Google tags, this is the event snippet. + * Output only. The list of values of the field. */ - floodlightActivityTag?: string | null; + fieldValues?: string[] | null; /** - * The global snippet section of a Google tag. The Google tag sets new cookies on your domain, which will store a unique identifier for a user or the ad click that brought the user to your site. Learn more. + * Output only. The ingestion error of the field. */ - globalSiteTagGlobalSnippet?: string | null; + ingestionError?: string | null; /** - * Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivitiesGenerateTagResponse". + * Output only. Incidcates whether the field has error or warning. */ - kind?: string | null; + isError?: boolean | null; } /** - * Floodlight Activity List Response + * Contains field filter information. */ - export interface Schema$FloodlightActivitiesListResponse { + export interface Schema$FieldFilter { /** - * Floodlight activity collection. + * Optional. The boolean values, only applicable when rhs_value_type is BOOL. */ - floodlightActivities?: Schema$FloodlightActivity[]; + boolValue?: boolean | null; /** - * Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivitiesListResponse". + * Optional. The dependent values, only applicable when rhs_value_type is DEPENDENT. */ - kind?: string | null; + dependentFieldValue?: Schema$DependentFieldValue; /** - * Pagination token to be used for the next list operation. + * Optional. The field ID on the left hand side of the expression. */ - nextPageToken?: string | null; - } - /** + fieldId?: number | null; + /** + * Optional. Left hand side of the expression match type. + */ + matchType?: string | null; + /** + * Optional. The request value, only applicable when rhs_value_type is REQUEST. + */ + requestValue?: Schema$RequestValue; + /** + * Optional. The string value, only applicable when rhs_value_type is STRING. + */ + stringValue?: string | null; + /** + * Optional. Right hand side of the expression. + */ + valueType?: string | null; + } + /** + * Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE". + */ + export interface Schema$File { + /** + * The date range for which the file has report data. The date range will always be the absolute date range for which the report is run. + */ + dateRange?: Schema$DateRange; + /** + * Etag of this resource. + */ + etag?: string | null; + /** + * The filename of the file. + */ + fileName?: string | null; + /** + * The output format of the report. Only available once the file is available. + */ + format?: string | null; + /** + * The unique ID of this report file. + */ + id?: string | null; + /** + * Identifies what kind of resource this is. Value: the fixed string "dfareporting#file". + */ + kind?: string | null; + /** + * The timestamp in milliseconds since epoch when this file was last modified. + */ + lastModifiedTime?: string | null; + /** + * The ID of the report this file was generated from. + */ + reportId?: string | null; + /** + * The status of the report file. + */ + status?: string | null; + /** + * The URLs where the completed report file can be downloaded. + */ + urls?: {apiUrl?: string; browserUrl?: string} | null; + } + /** + * List of files for a report. + */ + export interface Schema$FileList { + /** + * Etag of this resource. + */ + etag?: string | null; + /** + * The files returned in this response. + */ + items?: Schema$File[]; + /** + * Identifies what kind of resource this is. Value: the fixed string "dfareporting#fileList". + */ + kind?: string | null; + /** + * Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted. + */ + nextPageToken?: string | null; + } + /** + * Flight + */ + export interface Schema$Flight { + endDate?: string | null; + /** + * Rate or cost of this flight. + */ + rateOrCost?: string | null; + startDate?: string | null; + /** + * Units of this flight. + */ + units?: string | null; + } + /** + * Floodlight Activity GenerateTag Response + */ + export interface Schema$FloodlightActivitiesGenerateTagResponse { + /** + * Generated tag for this Floodlight activity. For Google tags, this is the event snippet. + */ + floodlightActivityTag?: string | null; + /** + * The global snippet section of a Google tag. The Google tag sets new cookies on your domain, which will store a unique identifier for a user or the ad click that brought the user to your site. Learn more. + */ + globalSiteTagGlobalSnippet?: string | null; + /** + * Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivitiesGenerateTagResponse". + */ + kind?: string | null; + } + /** + * Floodlight Activity List Response + */ + export interface Schema$FloodlightActivitiesListResponse { + /** + * Floodlight activity collection. + */ + floodlightActivities?: Schema$FloodlightActivity[]; + /** + * Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivitiesListResponse". + */ + kind?: string | null; + /** + * Pagination token to be used for the next list operation. + */ + nextPageToken?: string | null; + } + /** * Contains properties of a Floodlight activity. */ export interface Schema$FloodlightActivity { @@ -3946,6 +4407,44 @@ export namespace dfareporting_v4 { */ regions?: Schema$Region[]; } + /** + * Contains the ingestion error record of the dynamic feed. limited to 100 records. + */ + export interface Schema$IngestionErrorRecord { + /** + * Output only. The list of field errors of the ingestion error record. + */ + errors?: Schema$FieldError[]; + /** + * Output only. The record ID of the ingestion error record. + */ + recordId?: string | null; + } + /** + * Contains the ingestion status of the dynamic feed. + */ + export interface Schema$IngestionStatus { + /** + * Output only. The number of active rows in the feed. + */ + numActiveRows?: string | null; + /** + * Output only. The number of rows processed in the feed. + */ + numRowsProcessed?: string | null; + /** + * Output only. The total number of rows in the feed. + */ + numRowsTotal?: string | null; + /** + * Output only. The number of rows with errors in the feed. + */ + numRowsWithErrors?: string | null; + /** + * Output only. The total number of warnings in the feed. + */ + numWarningsTotal?: string | null; + } /** * Represents a buy from the Planning inventory store. */ @@ -5558,6 +6057,27 @@ export namespace dfareporting_v4 { */ projects?: Schema$Project[]; } + /** + * Contains proximity filter information. + */ + export interface Schema$ProximityFilter { + /** + * Optional. Field ID in the element. + */ + fieldId?: number | null; + /** + * Optional. The radius bucket type of the proximity filter + */ + radiusBucketType?: string | null; + /** + * Optional. The units of the radius value + */ + radiusUnitType?: string | null; + /** + * Optional. Radius length in units defined by radius_units. + */ + radiusValue?: number | null; + } /** * Represents fields that are compatible to be selected for a report of type "REACH". */ @@ -5741,6 +6261,19 @@ export namespace dfareporting_v4 { */ remarketingLists?: Schema$RemarketingList[]; } + /** + * Contains remarketing value attribute information. + */ + export interface Schema$RemarketingValueAttribute { + /** + * Optional. Field ID in the element. + */ + fieldId?: number | null; + /** + * Optional. Remarketing user attribute IDs for auto filtering. + */ + userAttributeIds?: string[] | null; + } /** * Represents a Report resource. */ @@ -5960,6 +6493,23 @@ export namespace dfareporting_v4 { */ reportGenerationTimeZoneId?: string | null; } + /** + * Contains request value information. + */ + export interface Schema$RequestValue { + /** + * Optional. User attribute IDs in the request that should be excluded. Used only when the field type is REMARKETING_VALUE or USER_ATTRIBUTE_ID. + */ + excludeFromUserAttributeIds?: string[] | null; + /** + * Optional. Custom key in the request. Used only when the field type is CUSTOM_VALUE. + */ + key?: string | null; + /** + * Optional. User attribute IDs in the request. Used only when the field type is REMARKETING_VALUE or USER_ATTRIBUTE_ID. + */ + userAttributeIds?: string[] | null; + } /** * Rich Media Exit Override. */ @@ -5994,6 +6544,15 @@ export namespace dfareporting_v4 { */ targetingTemplateId?: string | null; } + /** + * Contains a list of field filters that the given custom rule will apply. + */ + export interface Schema$RuleBlock { + /** + * Optional. A list of non-auto field filters + */ + fieldFilter?: Schema$FieldFilter[]; + } /** * Contains properties of a site. */ @@ -23979,6 +24538,825 @@ export namespace dfareporting_v4 { sortOrder?: string; } + export class Resource$Dynamicfeeds { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a dynamic feed by ID. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/dfareporting.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/dfatrafficking'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await dfareporting.dynamicFeeds.get({ + * // Required. Dynamic feed ID. + * dynamicFeedId: '[^/]+', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "contentSource": {}, + * // "createInfo": {}, + * // "dynamicFeedId": "my_dynamicFeedId", + * // "dynamicFeedName": "my_dynamicFeedName", + * // "element": {}, + * // "feedIngestionStatus": {}, + * // "feedSchedule": {}, + * // "hasPublished": false, + * // "lastModifiedInfo": {}, + * // "status": "my_status", + * // "studioAdvertiserId": "my_studioAdvertiserId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Dynamicfeeds$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Dynamicfeeds$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Dynamicfeeds$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Dynamicfeeds$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Dynamicfeeds$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Dynamicfeeds$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Dynamicfeeds$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Dynamicfeeds$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dfareporting.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/dfareporting/v4/studio/dynamicFeeds/{+dynamicFeedId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['dynamicFeedId'], + pathParams: ['dynamicFeedId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Inserts a new dynamic feed. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/dfareporting.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/dfatrafficking'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await dfareporting.dynamicFeeds.insert({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dynamicFeed": {}, + * // "dynamicProfileId": "my_dynamicProfileId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "contentSource": {}, + * // "createInfo": {}, + * // "dynamicFeedId": "my_dynamicFeedId", + * // "dynamicFeedName": "my_dynamicFeedName", + * // "element": {}, + * // "feedIngestionStatus": {}, + * // "feedSchedule": {}, + * // "hasPublished": false, + * // "lastModifiedInfo": {}, + * // "status": "my_status", + * // "studioAdvertiserId": "my_studioAdvertiserId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Dynamicfeeds$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Dynamicfeeds$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Dynamicfeeds$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Dynamicfeeds$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Dynamicfeeds$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Dynamicfeeds$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Dynamicfeeds$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Dynamicfeeds$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dfareporting.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/dfareporting/v4/studio/dynamicFeeds').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Dynamicfeeds$Get extends StandardParameters { + /** + * Required. Dynamic feed ID. + */ + dynamicFeedId?: string; + } + export interface Params$Resource$Dynamicfeeds$Insert + extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$DynamicFeedsInsertRequest; + } + + export class Resource$Dynamicprofiles { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a dynamic profile by ID. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/dfareporting.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/dfatrafficking'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await dfareporting.dynamicProfiles.get({ + * // Required. Dynamic profile ID. + * dynamicProfileId: '[^/]+', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": {}, + * // "archiveStatus": "my_archiveStatus", + * // "createInfo": {}, + * // "description": "my_description", + * // "draft": {}, + * // "dynamicProfileId": "my_dynamicProfileId", + * // "kind": "my_kind", + * // "lastModifiedInfo": {}, + * // "name": "my_name", + * // "status": "my_status", + * // "studioAdvertiserId": "my_studioAdvertiserId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Dynamicprofiles$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Dynamicprofiles$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Dynamicprofiles$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Dynamicprofiles$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Dynamicprofiles$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Dynamicprofiles$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Dynamicprofiles$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Dynamicprofiles$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dfareporting.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/dfareporting/v4/studio/dynamicProfiles/{+dynamicProfileId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['dynamicProfileId'], + pathParams: ['dynamicProfileId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Inserts a new dynamic profile. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/dfareporting.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/dfatrafficking'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await dfareporting.dynamicProfiles.insert({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "active": {}, + * // "archiveStatus": "my_archiveStatus", + * // "createInfo": {}, + * // "description": "my_description", + * // "draft": {}, + * // "dynamicProfileId": "my_dynamicProfileId", + * // "kind": "my_kind", + * // "lastModifiedInfo": {}, + * // "name": "my_name", + * // "status": "my_status", + * // "studioAdvertiserId": "my_studioAdvertiserId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": {}, + * // "archiveStatus": "my_archiveStatus", + * // "createInfo": {}, + * // "description": "my_description", + * // "draft": {}, + * // "dynamicProfileId": "my_dynamicProfileId", + * // "kind": "my_kind", + * // "lastModifiedInfo": {}, + * // "name": "my_name", + * // "status": "my_status", + * // "studioAdvertiserId": "my_studioAdvertiserId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Dynamicprofiles$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Dynamicprofiles$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Dynamicprofiles$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Dynamicprofiles$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Dynamicprofiles$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Dynamicprofiles$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Dynamicprofiles$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Dynamicprofiles$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dfareporting.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/dfareporting/v4/studio/dynamicProfiles').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 an existing dynamic profile. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/dfareporting.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const dfareporting = google.dfareporting('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/dfatrafficking'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await dfareporting.dynamicProfiles.update({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "active": {}, + * // "archiveStatus": "my_archiveStatus", + * // "createInfo": {}, + * // "description": "my_description", + * // "draft": {}, + * // "dynamicProfileId": "my_dynamicProfileId", + * // "kind": "my_kind", + * // "lastModifiedInfo": {}, + * // "name": "my_name", + * // "status": "my_status", + * // "studioAdvertiserId": "my_studioAdvertiserId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": {}, + * // "archiveStatus": "my_archiveStatus", + * // "createInfo": {}, + * // "description": "my_description", + * // "draft": {}, + * // "dynamicProfileId": "my_dynamicProfileId", + * // "kind": "my_kind", + * // "lastModifiedInfo": {}, + * // "name": "my_name", + * // "status": "my_status", + * // "studioAdvertiserId": "my_studioAdvertiserId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Dynamicprofiles$Update, + options: StreamMethodOptions + ): Promise>; + update( + params?: Params$Resource$Dynamicprofiles$Update, + options?: MethodOptions + ): Promise>; + update( + params: Params$Resource$Dynamicprofiles$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Dynamicprofiles$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Dynamicprofiles$Update, + callback: BodyResponseCallback + ): void; + update(callback: BodyResponseCallback): void; + update( + paramsOrCallback?: + | Params$Resource$Dynamicprofiles$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Dynamicprofiles$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Dynamicprofiles$Update; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dfareporting.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/dfareporting/v4/studio/dynamicProfiles').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'PUT', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Dynamicprofiles$Get + extends StandardParameters { + /** + * Required. Dynamic profile ID. + */ + dynamicProfileId?: string; + } + export interface Params$Resource$Dynamicprofiles$Insert + extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$DynamicProfile; + } + export interface Params$Resource$Dynamicprofiles$Update + extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$DynamicProfile; + } + export class Resource$Dynamictargetingkeys { context: APIRequestContext; constructor(context: APIRequestContext) { From cd5e7cc41a7e00ef93d48a3d8bd82d510af316e6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:35 +0000 Subject: [PATCH 15/37] feat(discoveryengine): update the API #### discoveryengine:v1alpha The following keys were added: - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.description - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.flatPath - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.httpMethod - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.id - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.parameterOrder - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.parameters.analytics.description - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.parameters.analytics.location - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.parameters.analytics.pattern - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.parameters.analytics.required - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.parameters.analytics.type - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.path - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.request.$ref - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.response.$ref - resources.projects.resources.locations.resources.collections.resources.engines.resources.analytics.methods.exportMetrics.scopes - schemas.GoogleCloudDiscoveryengineV1alphaBigQueryDestination.description - schemas.GoogleCloudDiscoveryengineV1alphaBigQueryDestination.id - schemas.GoogleCloudDiscoveryengineV1alphaBigQueryDestination.properties.datasetId.description - schemas.GoogleCloudDiscoveryengineV1alphaBigQueryDestination.properties.datasetId.type - schemas.GoogleCloudDiscoveryengineV1alphaBigQueryDestination.properties.tableId.description - schemas.GoogleCloudDiscoveryengineV1alphaBigQueryDestination.properties.tableId.type - schemas.GoogleCloudDiscoveryengineV1alphaBigQueryDestination.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.id - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.format - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.format - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsRequest.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsRequest.id - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsRequest.properties.outputConfig.$ref - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsRequest.properties.outputConfig.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsRequest.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.id - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.type - schemas.GoogleCloudDiscoveryengineV1alphaOutputConfig.description - schemas.GoogleCloudDiscoveryengineV1alphaOutputConfig.id - schemas.GoogleCloudDiscoveryengineV1alphaOutputConfig.properties.bigqueryDestination.$ref - schemas.GoogleCloudDiscoveryengineV1alphaOutputConfig.properties.bigqueryDestination.description - schemas.GoogleCloudDiscoveryengineV1alphaOutputConfig.type - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.description - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enum - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.type - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.description - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enum - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.type The following keys were changed: - resources.projects.resources.locations.resources.collections.resources.dataStores.resources.sessions.methods.list.parameters.filter.description - resources.projects.resources.locations.resources.collections.resources.engines.resources.sessions.methods.list.parameters.filter.description - resources.projects.resources.locations.resources.dataStores.resources.sessions.methods.list.parameters.filter.description - schemas.GoogleCloudDiscoveryengineV1alphaListSessionsRequest.properties.filter.description - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequest.properties.naturalLanguageQueryUnderstandingSpec.description - schemas.GoogleCloudDiscoveryengineV1betaSearchRequest.properties.naturalLanguageQueryUnderstandingSpec.description #### discoveryengine:v1beta The following keys were added: - resources.media.methods.download.description - resources.media.methods.download.flatPath - resources.media.methods.download.httpMethod - resources.media.methods.download.id - resources.media.methods.download.parameterOrder - resources.media.methods.download.parameters.fileId.description - resources.media.methods.download.parameters.fileId.location - resources.media.methods.download.parameters.fileId.type - resources.media.methods.download.parameters.name.description - resources.media.methods.download.parameters.name.location - resources.media.methods.download.parameters.name.pattern - resources.media.methods.download.parameters.name.required - resources.media.methods.download.parameters.name.type - resources.media.methods.download.parameters.viewId.description - resources.media.methods.download.parameters.viewId.location - resources.media.methods.download.parameters.viewId.type - resources.media.methods.download.path - resources.media.methods.download.response.$ref - resources.media.methods.download.scopes - resources.media.methods.download.supportsMediaDownload - resources.media.methods.download.useMediaDownloadService - schemas.GdataBlobstore2Info.description - schemas.GdataBlobstore2Info.id - schemas.GdataBlobstore2Info.properties.blobGeneration.description - schemas.GdataBlobstore2Info.properties.blobGeneration.format - schemas.GdataBlobstore2Info.properties.blobGeneration.type - schemas.GdataBlobstore2Info.properties.blobId.description - schemas.GdataBlobstore2Info.properties.blobId.type - schemas.GdataBlobstore2Info.properties.downloadReadHandle.description - schemas.GdataBlobstore2Info.properties.downloadReadHandle.format - schemas.GdataBlobstore2Info.properties.downloadReadHandle.type - schemas.GdataBlobstore2Info.properties.readToken.description - schemas.GdataBlobstore2Info.properties.readToken.type - schemas.GdataBlobstore2Info.properties.uploadMetadataContainer.description - schemas.GdataBlobstore2Info.properties.uploadMetadataContainer.format - schemas.GdataBlobstore2Info.properties.uploadMetadataContainer.type - schemas.GdataBlobstore2Info.type - schemas.GdataCompositeMedia.description - schemas.GdataCompositeMedia.id - schemas.GdataCompositeMedia.properties.blobRef.deprecated - schemas.GdataCompositeMedia.properties.blobRef.description - schemas.GdataCompositeMedia.properties.blobRef.format - schemas.GdataCompositeMedia.properties.blobRef.type - schemas.GdataCompositeMedia.properties.blobstore2Info.$ref - schemas.GdataCompositeMedia.properties.blobstore2Info.description - schemas.GdataCompositeMedia.properties.cosmoBinaryReference.description - schemas.GdataCompositeMedia.properties.cosmoBinaryReference.format - schemas.GdataCompositeMedia.properties.cosmoBinaryReference.type - schemas.GdataCompositeMedia.properties.crc32cHash.description - schemas.GdataCompositeMedia.properties.crc32cHash.format - schemas.GdataCompositeMedia.properties.crc32cHash.type - schemas.GdataCompositeMedia.properties.inline.description - schemas.GdataCompositeMedia.properties.inline.format - schemas.GdataCompositeMedia.properties.inline.type - schemas.GdataCompositeMedia.properties.length.description - schemas.GdataCompositeMedia.properties.length.format - schemas.GdataCompositeMedia.properties.length.type - schemas.GdataCompositeMedia.properties.md5Hash.description - schemas.GdataCompositeMedia.properties.md5Hash.format - schemas.GdataCompositeMedia.properties.md5Hash.type - schemas.GdataCompositeMedia.properties.objectId.$ref - schemas.GdataCompositeMedia.properties.objectId.description - schemas.GdataCompositeMedia.properties.path.description - schemas.GdataCompositeMedia.properties.path.type - schemas.GdataCompositeMedia.properties.referenceType.description - schemas.GdataCompositeMedia.properties.referenceType.enum - schemas.GdataCompositeMedia.properties.referenceType.enumDescriptions - schemas.GdataCompositeMedia.properties.referenceType.type - schemas.GdataCompositeMedia.properties.sha1Hash.description - schemas.GdataCompositeMedia.properties.sha1Hash.format - schemas.GdataCompositeMedia.properties.sha1Hash.type - schemas.GdataCompositeMedia.type - schemas.GdataContentTypeInfo.description - schemas.GdataContentTypeInfo.id - schemas.GdataContentTypeInfo.properties.bestGuess.description - schemas.GdataContentTypeInfo.properties.bestGuess.type - schemas.GdataContentTypeInfo.properties.fromBytes.description - schemas.GdataContentTypeInfo.properties.fromBytes.type - schemas.GdataContentTypeInfo.properties.fromFileName.description - schemas.GdataContentTypeInfo.properties.fromFileName.type - schemas.GdataContentTypeInfo.properties.fromHeader.description - schemas.GdataContentTypeInfo.properties.fromHeader.type - schemas.GdataContentTypeInfo.properties.fromUrlPath.description - schemas.GdataContentTypeInfo.properties.fromUrlPath.type - schemas.GdataContentTypeInfo.type - schemas.GdataDiffChecksumsResponse.description - schemas.GdataDiffChecksumsResponse.id - schemas.GdataDiffChecksumsResponse.properties.checksumsLocation.$ref - schemas.GdataDiffChecksumsResponse.properties.checksumsLocation.description - schemas.GdataDiffChecksumsResponse.properties.chunkSizeBytes.description - schemas.GdataDiffChecksumsResponse.properties.chunkSizeBytes.format - schemas.GdataDiffChecksumsResponse.properties.chunkSizeBytes.type - schemas.GdataDiffChecksumsResponse.properties.objectLocation.$ref - schemas.GdataDiffChecksumsResponse.properties.objectLocation.description - schemas.GdataDiffChecksumsResponse.properties.objectSizeBytes.description - schemas.GdataDiffChecksumsResponse.properties.objectSizeBytes.format - schemas.GdataDiffChecksumsResponse.properties.objectSizeBytes.type - schemas.GdataDiffChecksumsResponse.properties.objectVersion.description - schemas.GdataDiffChecksumsResponse.properties.objectVersion.type - schemas.GdataDiffChecksumsResponse.type - schemas.GdataDiffDownloadResponse.description - schemas.GdataDiffDownloadResponse.id - schemas.GdataDiffDownloadResponse.properties.objectLocation.$ref - schemas.GdataDiffDownloadResponse.properties.objectLocation.description - schemas.GdataDiffDownloadResponse.type - schemas.GdataDiffUploadRequest.description - schemas.GdataDiffUploadRequest.id - schemas.GdataDiffUploadRequest.properties.checksumsInfo.$ref - schemas.GdataDiffUploadRequest.properties.checksumsInfo.description - schemas.GdataDiffUploadRequest.properties.objectInfo.$ref - schemas.GdataDiffUploadRequest.properties.objectInfo.description - schemas.GdataDiffUploadRequest.properties.objectVersion.description - schemas.GdataDiffUploadRequest.properties.objectVersion.type - schemas.GdataDiffUploadRequest.type - schemas.GdataDiffUploadResponse.description - schemas.GdataDiffUploadResponse.id - schemas.GdataDiffUploadResponse.properties.objectVersion.description - schemas.GdataDiffUploadResponse.properties.objectVersion.type - schemas.GdataDiffUploadResponse.properties.originalObject.$ref - schemas.GdataDiffUploadResponse.properties.originalObject.description - schemas.GdataDiffUploadResponse.type - schemas.GdataDiffVersionResponse.description - schemas.GdataDiffVersionResponse.id - schemas.GdataDiffVersionResponse.properties.objectSizeBytes.description - schemas.GdataDiffVersionResponse.properties.objectSizeBytes.format - schemas.GdataDiffVersionResponse.properties.objectSizeBytes.type - schemas.GdataDiffVersionResponse.properties.objectVersion.description - schemas.GdataDiffVersionResponse.properties.objectVersion.type - schemas.GdataDiffVersionResponse.type - schemas.GdataDownloadParameters.description - schemas.GdataDownloadParameters.id - schemas.GdataDownloadParameters.properties.allowGzipCompression.description - schemas.GdataDownloadParameters.properties.allowGzipCompression.type - schemas.GdataDownloadParameters.properties.ignoreRange.description - schemas.GdataDownloadParameters.properties.ignoreRange.type - schemas.GdataDownloadParameters.type - schemas.GdataMedia.description - schemas.GdataMedia.id - schemas.GdataMedia.properties.algorithm.deprecated - schemas.GdataMedia.properties.algorithm.description - schemas.GdataMedia.properties.algorithm.type - schemas.GdataMedia.properties.bigstoreObjectRef.deprecated - schemas.GdataMedia.properties.bigstoreObjectRef.description - schemas.GdataMedia.properties.bigstoreObjectRef.format - schemas.GdataMedia.properties.bigstoreObjectRef.type - schemas.GdataMedia.properties.blobRef.deprecated - schemas.GdataMedia.properties.blobRef.description - schemas.GdataMedia.properties.blobRef.format - schemas.GdataMedia.properties.blobRef.type - schemas.GdataMedia.properties.blobstore2Info.$ref - schemas.GdataMedia.properties.blobstore2Info.description - schemas.GdataMedia.properties.compositeMedia.description - schemas.GdataMedia.properties.compositeMedia.items.$ref - schemas.GdataMedia.properties.compositeMedia.type - schemas.GdataMedia.properties.contentType.description - schemas.GdataMedia.properties.contentType.type - schemas.GdataMedia.properties.contentTypeInfo.$ref - schemas.GdataMedia.properties.contentTypeInfo.description - schemas.GdataMedia.properties.cosmoBinaryReference.description - schemas.GdataMedia.properties.cosmoBinaryReference.format - schemas.GdataMedia.properties.cosmoBinaryReference.type - schemas.GdataMedia.properties.crc32cHash.description - schemas.GdataMedia.properties.crc32cHash.format - schemas.GdataMedia.properties.crc32cHash.type - schemas.GdataMedia.properties.diffChecksumsResponse.$ref - schemas.GdataMedia.properties.diffChecksumsResponse.description - schemas.GdataMedia.properties.diffDownloadResponse.$ref - schemas.GdataMedia.properties.diffDownloadResponse.description - schemas.GdataMedia.properties.diffUploadRequest.$ref - schemas.GdataMedia.properties.diffUploadRequest.description - schemas.GdataMedia.properties.diffUploadResponse.$ref - schemas.GdataMedia.properties.diffUploadResponse.description - schemas.GdataMedia.properties.diffVersionResponse.$ref - schemas.GdataMedia.properties.diffVersionResponse.description - schemas.GdataMedia.properties.downloadParameters.$ref - schemas.GdataMedia.properties.downloadParameters.description - schemas.GdataMedia.properties.filename.description - schemas.GdataMedia.properties.filename.type - schemas.GdataMedia.properties.hash.deprecated - schemas.GdataMedia.properties.hash.description - schemas.GdataMedia.properties.hash.type - schemas.GdataMedia.properties.hashVerified.description - schemas.GdataMedia.properties.hashVerified.type - schemas.GdataMedia.properties.inline.description - schemas.GdataMedia.properties.inline.format - schemas.GdataMedia.properties.inline.type - schemas.GdataMedia.properties.isPotentialRetry.description - schemas.GdataMedia.properties.isPotentialRetry.type - schemas.GdataMedia.properties.length.description - schemas.GdataMedia.properties.length.format - schemas.GdataMedia.properties.length.type - schemas.GdataMedia.properties.md5Hash.description - schemas.GdataMedia.properties.md5Hash.format - schemas.GdataMedia.properties.md5Hash.type - schemas.GdataMedia.properties.mediaId.description - schemas.GdataMedia.properties.mediaId.format - schemas.GdataMedia.properties.mediaId.type - schemas.GdataMedia.properties.objectId.$ref - schemas.GdataMedia.properties.objectId.description - schemas.GdataMedia.properties.path.description - schemas.GdataMedia.properties.path.type - schemas.GdataMedia.properties.referenceType.description - schemas.GdataMedia.properties.referenceType.enum - schemas.GdataMedia.properties.referenceType.enumDescriptions - schemas.GdataMedia.properties.referenceType.type - schemas.GdataMedia.properties.sha1Hash.description - schemas.GdataMedia.properties.sha1Hash.format - schemas.GdataMedia.properties.sha1Hash.type - schemas.GdataMedia.properties.sha256Hash.description - schemas.GdataMedia.properties.sha256Hash.format - schemas.GdataMedia.properties.sha256Hash.type - schemas.GdataMedia.properties.timestamp.description - schemas.GdataMedia.properties.timestamp.format - schemas.GdataMedia.properties.timestamp.type - schemas.GdataMedia.properties.token.description - schemas.GdataMedia.properties.token.type - schemas.GdataMedia.type - schemas.GdataObjectId.description - schemas.GdataObjectId.id - schemas.GdataObjectId.properties.bucketName.description - schemas.GdataObjectId.properties.bucketName.type - schemas.GdataObjectId.properties.generation.description - schemas.GdataObjectId.properties.generation.format - schemas.GdataObjectId.properties.generation.type - schemas.GdataObjectId.properties.objectName.description - schemas.GdataObjectId.properties.objectName.type - schemas.GdataObjectId.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.id - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.format - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.format - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.id - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.type - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.description - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enum - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.type - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.description - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enum - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.type The following keys were changed: - resources.projects.resources.locations.resources.collections.resources.dataStores.resources.sessions.methods.list.parameters.filter.description - resources.projects.resources.locations.resources.collections.resources.engines.resources.sessions.methods.list.parameters.filter.description - resources.projects.resources.locations.resources.dataStores.resources.sessions.methods.list.parameters.filter.description - schemas.GoogleCloudDiscoveryengineV1alphaListSessionsRequest.properties.filter.description - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequest.properties.naturalLanguageQueryUnderstandingSpec.description - schemas.GoogleCloudDiscoveryengineV1betaSearchRequest.properties.naturalLanguageQueryUnderstandingSpec.description #### discoveryengine:v1 The following keys were added: - resources.media.methods.download.description - resources.media.methods.download.flatPath - resources.media.methods.download.httpMethod - resources.media.methods.download.id - resources.media.methods.download.parameterOrder - resources.media.methods.download.parameters.fileId.description - resources.media.methods.download.parameters.fileId.location - resources.media.methods.download.parameters.fileId.type - resources.media.methods.download.parameters.name.description - resources.media.methods.download.parameters.name.location - resources.media.methods.download.parameters.name.pattern - resources.media.methods.download.parameters.name.required - resources.media.methods.download.parameters.name.type - resources.media.methods.download.parameters.viewId.description - resources.media.methods.download.parameters.viewId.location - resources.media.methods.download.parameters.viewId.type - resources.media.methods.download.path - resources.media.methods.download.response.$ref - resources.media.methods.download.scopes - resources.media.methods.download.supportsMediaDownload - resources.media.methods.download.useMediaDownloadService - schemas.GdataBlobstore2Info.description - schemas.GdataBlobstore2Info.id - schemas.GdataBlobstore2Info.properties.blobGeneration.description - schemas.GdataBlobstore2Info.properties.blobGeneration.format - schemas.GdataBlobstore2Info.properties.blobGeneration.type - schemas.GdataBlobstore2Info.properties.blobId.description - schemas.GdataBlobstore2Info.properties.blobId.type - schemas.GdataBlobstore2Info.properties.downloadReadHandle.description - schemas.GdataBlobstore2Info.properties.downloadReadHandle.format - schemas.GdataBlobstore2Info.properties.downloadReadHandle.type - schemas.GdataBlobstore2Info.properties.readToken.description - schemas.GdataBlobstore2Info.properties.readToken.type - schemas.GdataBlobstore2Info.properties.uploadMetadataContainer.description - schemas.GdataBlobstore2Info.properties.uploadMetadataContainer.format - schemas.GdataBlobstore2Info.properties.uploadMetadataContainer.type - schemas.GdataBlobstore2Info.type - schemas.GdataCompositeMedia.description - schemas.GdataCompositeMedia.id - schemas.GdataCompositeMedia.properties.blobRef.deprecated - schemas.GdataCompositeMedia.properties.blobRef.description - schemas.GdataCompositeMedia.properties.blobRef.format - schemas.GdataCompositeMedia.properties.blobRef.type - schemas.GdataCompositeMedia.properties.blobstore2Info.$ref - schemas.GdataCompositeMedia.properties.blobstore2Info.description - schemas.GdataCompositeMedia.properties.cosmoBinaryReference.description - schemas.GdataCompositeMedia.properties.cosmoBinaryReference.format - schemas.GdataCompositeMedia.properties.cosmoBinaryReference.type - schemas.GdataCompositeMedia.properties.crc32cHash.description - schemas.GdataCompositeMedia.properties.crc32cHash.format - schemas.GdataCompositeMedia.properties.crc32cHash.type - schemas.GdataCompositeMedia.properties.inline.description - schemas.GdataCompositeMedia.properties.inline.format - schemas.GdataCompositeMedia.properties.inline.type - schemas.GdataCompositeMedia.properties.length.description - schemas.GdataCompositeMedia.properties.length.format - schemas.GdataCompositeMedia.properties.length.type - schemas.GdataCompositeMedia.properties.md5Hash.description - schemas.GdataCompositeMedia.properties.md5Hash.format - schemas.GdataCompositeMedia.properties.md5Hash.type - schemas.GdataCompositeMedia.properties.objectId.$ref - schemas.GdataCompositeMedia.properties.objectId.description - schemas.GdataCompositeMedia.properties.path.description - schemas.GdataCompositeMedia.properties.path.type - schemas.GdataCompositeMedia.properties.referenceType.description - schemas.GdataCompositeMedia.properties.referenceType.enum - schemas.GdataCompositeMedia.properties.referenceType.enumDescriptions - schemas.GdataCompositeMedia.properties.referenceType.type - schemas.GdataCompositeMedia.properties.sha1Hash.description - schemas.GdataCompositeMedia.properties.sha1Hash.format - schemas.GdataCompositeMedia.properties.sha1Hash.type - schemas.GdataCompositeMedia.type - schemas.GdataContentTypeInfo.description - schemas.GdataContentTypeInfo.id - schemas.GdataContentTypeInfo.properties.bestGuess.description - schemas.GdataContentTypeInfo.properties.bestGuess.type - schemas.GdataContentTypeInfo.properties.fromBytes.description - schemas.GdataContentTypeInfo.properties.fromBytes.type - schemas.GdataContentTypeInfo.properties.fromFileName.description - schemas.GdataContentTypeInfo.properties.fromFileName.type - schemas.GdataContentTypeInfo.properties.fromHeader.description - schemas.GdataContentTypeInfo.properties.fromHeader.type - schemas.GdataContentTypeInfo.properties.fromUrlPath.description - schemas.GdataContentTypeInfo.properties.fromUrlPath.type - schemas.GdataContentTypeInfo.type - schemas.GdataDiffChecksumsResponse.description - schemas.GdataDiffChecksumsResponse.id - schemas.GdataDiffChecksumsResponse.properties.checksumsLocation.$ref - schemas.GdataDiffChecksumsResponse.properties.checksumsLocation.description - schemas.GdataDiffChecksumsResponse.properties.chunkSizeBytes.description - schemas.GdataDiffChecksumsResponse.properties.chunkSizeBytes.format - schemas.GdataDiffChecksumsResponse.properties.chunkSizeBytes.type - schemas.GdataDiffChecksumsResponse.properties.objectLocation.$ref - schemas.GdataDiffChecksumsResponse.properties.objectLocation.description - schemas.GdataDiffChecksumsResponse.properties.objectSizeBytes.description - schemas.GdataDiffChecksumsResponse.properties.objectSizeBytes.format - schemas.GdataDiffChecksumsResponse.properties.objectSizeBytes.type - schemas.GdataDiffChecksumsResponse.properties.objectVersion.description - schemas.GdataDiffChecksumsResponse.properties.objectVersion.type - schemas.GdataDiffChecksumsResponse.type - schemas.GdataDiffDownloadResponse.description - schemas.GdataDiffDownloadResponse.id - schemas.GdataDiffDownloadResponse.properties.objectLocation.$ref - schemas.GdataDiffDownloadResponse.properties.objectLocation.description - schemas.GdataDiffDownloadResponse.type - schemas.GdataDiffUploadRequest.description - schemas.GdataDiffUploadRequest.id - schemas.GdataDiffUploadRequest.properties.checksumsInfo.$ref - schemas.GdataDiffUploadRequest.properties.checksumsInfo.description - schemas.GdataDiffUploadRequest.properties.objectInfo.$ref - schemas.GdataDiffUploadRequest.properties.objectInfo.description - schemas.GdataDiffUploadRequest.properties.objectVersion.description - schemas.GdataDiffUploadRequest.properties.objectVersion.type - schemas.GdataDiffUploadRequest.type - schemas.GdataDiffUploadResponse.description - schemas.GdataDiffUploadResponse.id - schemas.GdataDiffUploadResponse.properties.objectVersion.description - schemas.GdataDiffUploadResponse.properties.objectVersion.type - schemas.GdataDiffUploadResponse.properties.originalObject.$ref - schemas.GdataDiffUploadResponse.properties.originalObject.description - schemas.GdataDiffUploadResponse.type - schemas.GdataDiffVersionResponse.description - schemas.GdataDiffVersionResponse.id - schemas.GdataDiffVersionResponse.properties.objectSizeBytes.description - schemas.GdataDiffVersionResponse.properties.objectSizeBytes.format - schemas.GdataDiffVersionResponse.properties.objectSizeBytes.type - schemas.GdataDiffVersionResponse.properties.objectVersion.description - schemas.GdataDiffVersionResponse.properties.objectVersion.type - schemas.GdataDiffVersionResponse.type - schemas.GdataDownloadParameters.description - schemas.GdataDownloadParameters.id - schemas.GdataDownloadParameters.properties.allowGzipCompression.description - schemas.GdataDownloadParameters.properties.allowGzipCompression.type - schemas.GdataDownloadParameters.properties.ignoreRange.description - schemas.GdataDownloadParameters.properties.ignoreRange.type - schemas.GdataDownloadParameters.type - schemas.GdataMedia.description - schemas.GdataMedia.id - schemas.GdataMedia.properties.algorithm.deprecated - schemas.GdataMedia.properties.algorithm.description - schemas.GdataMedia.properties.algorithm.type - schemas.GdataMedia.properties.bigstoreObjectRef.deprecated - schemas.GdataMedia.properties.bigstoreObjectRef.description - schemas.GdataMedia.properties.bigstoreObjectRef.format - schemas.GdataMedia.properties.bigstoreObjectRef.type - schemas.GdataMedia.properties.blobRef.deprecated - schemas.GdataMedia.properties.blobRef.description - schemas.GdataMedia.properties.blobRef.format - schemas.GdataMedia.properties.blobRef.type - schemas.GdataMedia.properties.blobstore2Info.$ref - schemas.GdataMedia.properties.blobstore2Info.description - schemas.GdataMedia.properties.compositeMedia.description - schemas.GdataMedia.properties.compositeMedia.items.$ref - schemas.GdataMedia.properties.compositeMedia.type - schemas.GdataMedia.properties.contentType.description - schemas.GdataMedia.properties.contentType.type - schemas.GdataMedia.properties.contentTypeInfo.$ref - schemas.GdataMedia.properties.contentTypeInfo.description - schemas.GdataMedia.properties.cosmoBinaryReference.description - schemas.GdataMedia.properties.cosmoBinaryReference.format - schemas.GdataMedia.properties.cosmoBinaryReference.type - schemas.GdataMedia.properties.crc32cHash.description - schemas.GdataMedia.properties.crc32cHash.format - schemas.GdataMedia.properties.crc32cHash.type - schemas.GdataMedia.properties.diffChecksumsResponse.$ref - schemas.GdataMedia.properties.diffChecksumsResponse.description - schemas.GdataMedia.properties.diffDownloadResponse.$ref - schemas.GdataMedia.properties.diffDownloadResponse.description - schemas.GdataMedia.properties.diffUploadRequest.$ref - schemas.GdataMedia.properties.diffUploadRequest.description - schemas.GdataMedia.properties.diffUploadResponse.$ref - schemas.GdataMedia.properties.diffUploadResponse.description - schemas.GdataMedia.properties.diffVersionResponse.$ref - schemas.GdataMedia.properties.diffVersionResponse.description - schemas.GdataMedia.properties.downloadParameters.$ref - schemas.GdataMedia.properties.downloadParameters.description - schemas.GdataMedia.properties.filename.description - schemas.GdataMedia.properties.filename.type - schemas.GdataMedia.properties.hash.deprecated - schemas.GdataMedia.properties.hash.description - schemas.GdataMedia.properties.hash.type - schemas.GdataMedia.properties.hashVerified.description - schemas.GdataMedia.properties.hashVerified.type - schemas.GdataMedia.properties.inline.description - schemas.GdataMedia.properties.inline.format - schemas.GdataMedia.properties.inline.type - schemas.GdataMedia.properties.isPotentialRetry.description - schemas.GdataMedia.properties.isPotentialRetry.type - schemas.GdataMedia.properties.length.description - schemas.GdataMedia.properties.length.format - schemas.GdataMedia.properties.length.type - schemas.GdataMedia.properties.md5Hash.description - schemas.GdataMedia.properties.md5Hash.format - schemas.GdataMedia.properties.md5Hash.type - schemas.GdataMedia.properties.mediaId.description - schemas.GdataMedia.properties.mediaId.format - schemas.GdataMedia.properties.mediaId.type - schemas.GdataMedia.properties.objectId.$ref - schemas.GdataMedia.properties.objectId.description - schemas.GdataMedia.properties.path.description - schemas.GdataMedia.properties.path.type - schemas.GdataMedia.properties.referenceType.description - schemas.GdataMedia.properties.referenceType.enum - schemas.GdataMedia.properties.referenceType.enumDescriptions - schemas.GdataMedia.properties.referenceType.type - schemas.GdataMedia.properties.sha1Hash.description - schemas.GdataMedia.properties.sha1Hash.format - schemas.GdataMedia.properties.sha1Hash.type - schemas.GdataMedia.properties.sha256Hash.description - schemas.GdataMedia.properties.sha256Hash.format - schemas.GdataMedia.properties.sha256Hash.type - schemas.GdataMedia.properties.timestamp.description - schemas.GdataMedia.properties.timestamp.format - schemas.GdataMedia.properties.timestamp.type - schemas.GdataMedia.properties.token.description - schemas.GdataMedia.properties.token.type - schemas.GdataMedia.type - schemas.GdataObjectId.description - schemas.GdataObjectId.id - schemas.GdataObjectId.properties.bucketName.description - schemas.GdataObjectId.properties.bucketName.type - schemas.GdataObjectId.properties.generation.description - schemas.GdataObjectId.properties.generation.format - schemas.GdataObjectId.properties.generation.type - schemas.GdataObjectId.properties.objectName.description - schemas.GdataObjectId.properties.objectName.type - schemas.GdataObjectId.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.id - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.format - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.createTime.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.format - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.properties.updateTime.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata.type - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.description - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.id - schemas.GoogleCloudDiscoveryengineV1alphaExportMetricsResponse.type - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.description - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enum - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.type - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.description - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enum - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.enumDescriptions - schemas.GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec.properties.extractedFilterBehavior.type The following keys were changed: - resources.projects.resources.locations.resources.collections.resources.dataStores.resources.sessions.methods.list.parameters.filter.description - resources.projects.resources.locations.resources.collections.resources.engines.resources.sessions.methods.list.parameters.filter.description - resources.projects.resources.locations.resources.dataStores.resources.sessions.methods.list.parameters.filter.description - schemas.GoogleCloudDiscoveryengineV1alphaListSessionsRequest.properties.filter.description - schemas.GoogleCloudDiscoveryengineV1alphaSearchRequest.properties.naturalLanguageQueryUnderstandingSpec.description - schemas.GoogleCloudDiscoveryengineV1betaSearchRequest.properties.naturalLanguageQueryUnderstandingSpec.description --- discovery/discoveryengine-v1.json | 536 ++++++++++++++++++++++- discovery/discoveryengine-v1alpha.json | 134 +++++- discovery/discoveryengine-v1beta.json | 536 ++++++++++++++++++++++- src/apis/discoveryengine/v1.ts | 568 ++++++++++++++++++++++++- src/apis/discoveryengine/v1alpha.ts | 258 ++++++++++- src/apis/discoveryengine/v1beta.ts | 568 ++++++++++++++++++++++++- 6 files changed, 2552 insertions(+), 48 deletions(-) diff --git a/discovery/discoveryengine-v1.json b/discovery/discoveryengine-v1.json index 6d7c8fd2866..41a7e055b4e 100644 --- a/discovery/discoveryengine-v1.json +++ b/discovery/discoveryengine-v1.json @@ -135,6 +135,47 @@ }, "protocol": "rest", "resources": { + "media": { + "methods": { + "download": { + "description": "Downloads a file from the session.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}:downloadFile", + "httpMethod": "GET", + "id": "discoveryengine.media.download", + "parameterOrder": [ + "name" + ], + "parameters": { + "fileId": { + "description": "Required. The ID of the file to be downloaded.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the Session. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + }, + "viewId": { + "description": "Optional. The ID of the view to be downloaded.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:downloadFile", + "response": { + "$ref": "GdataMedia" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaDownload": true, + "useMediaDownloadService": true + } + } + }, "projects": { "methods": { "provision": { @@ -2175,7 +2216,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -4041,7 +4082,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -5847,7 +5888,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -7250,9 +7291,439 @@ } } }, - "revision": "20250724", + "revision": "20250728", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { + "GdataBlobstore2Info": { + "description": "Information to read/write to blobstore2.", + "id": "GdataBlobstore2Info", + "properties": { + "blobGeneration": { + "description": "The blob generation id.", + "format": "int64", + "type": "string" + }, + "blobId": { + "description": "The blob id, e.g., /blobstore/prod/playground/scotty", + "type": "string" + }, + "downloadReadHandle": { + "description": "Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.", + "format": "byte", + "type": "string" + }, + "readToken": { + "description": "The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.", + "type": "string" + }, + "uploadMetadataContainer": { + "description": "Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GdataCompositeMedia": { + "description": "A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites.", + "id": "GdataCompositeMedia", + "properties": { + "blobRef": { + "deprecated": true, + "description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.", + "format": "byte", + "type": "string" + }, + "blobstore2Info": { + "$ref": "GdataBlobstore2Info", + "description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob." + }, + "cosmoBinaryReference": { + "description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.", + "format": "byte", + "type": "string" + }, + "crc32cHash": { + "description": "crc32.c hash for the payload.", + "format": "uint32", + "type": "integer" + }, + "inline": { + "description": "Media data, set if reference_type is INLINE", + "format": "byte", + "type": "string" + }, + "length": { + "description": "Size of the data, in bytes", + "format": "int64", + "type": "string" + }, + "md5Hash": { + "description": "MD5 hash for the payload.", + "format": "byte", + "type": "string" + }, + "objectId": { + "$ref": "GdataObjectId", + "description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF." + }, + "path": { + "description": "Path to the data, set if reference_type is PATH", + "type": "string" + }, + "referenceType": { + "description": "Describes what the field reference contains.", + "enum": [ + "PATH", + "BLOB_REF", + "INLINE", + "BIGSTORE_REF", + "COSMO_BINARY_REFERENCE" + ], + "enumDescriptions": [ + "Reference contains a GFS path or a local path.", + "Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.", + "Data is included into this proto buffer", + "Reference points to a bigstore object", + "Indicates the data is stored in cosmo_binary_reference." + ], + "type": "string" + }, + "sha1Hash": { + "description": "SHA-1 hash for the payload.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GdataContentTypeInfo": { + "description": "Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty.", + "id": "GdataContentTypeInfo", + "properties": { + "bestGuess": { + "description": "Scotty's best guess of what the content type of the file is.", + "type": "string" + }, + "fromBytes": { + "description": "The content type of the file derived by looking at specific bytes (i.e. \"magic bytes\") of the actual file.", + "type": "string" + }, + "fromFileName": { + "description": "The content type of the file derived from the file extension of the original file name used by the client.", + "type": "string" + }, + "fromHeader": { + "description": "The content type of the file as specified in the request headers, multipart headers, or RUPIO start request.", + "type": "string" + }, + "fromUrlPath": { + "description": "The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API).", + "type": "string" + } + }, + "type": "object" + }, + "GdataDiffChecksumsResponse": { + "description": "Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffChecksumsResponse", + "properties": { + "checksumsLocation": { + "$ref": "GdataCompositeMedia", + "description": "Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol." + }, + "chunkSizeBytes": { + "description": "The chunk size of checksums. Must be a multiple of 256KB.", + "format": "int64", + "type": "string" + }, + "objectLocation": { + "$ref": "GdataCompositeMedia", + "description": "If set, calculate the checksums based on the contents and return them to the caller." + }, + "objectSizeBytes": { + "description": "The total size of the server object.", + "format": "int64", + "type": "string" + }, + "objectVersion": { + "description": "The object version of the object the checksums are being returned for.", + "type": "string" + } + }, + "type": "object" + }, + "GdataDiffDownloadResponse": { + "description": "Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffDownloadResponse", + "properties": { + "objectLocation": { + "$ref": "GdataCompositeMedia", + "description": "The original object location." + } + }, + "type": "object" + }, + "GdataDiffUploadRequest": { + "description": "A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffUploadRequest", + "properties": { + "checksumsInfo": { + "$ref": "GdataCompositeMedia", + "description": "The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol." + }, + "objectInfo": { + "$ref": "GdataCompositeMedia", + "description": "The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received." + }, + "objectVersion": { + "description": "The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in.", + "type": "string" + } + }, + "type": "object" + }, + "GdataDiffUploadResponse": { + "description": "Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffUploadResponse", + "properties": { + "objectVersion": { + "description": "The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload.", + "type": "string" + }, + "originalObject": { + "$ref": "GdataCompositeMedia", + "description": "The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification." + } + }, + "type": "object" + }, + "GdataDiffVersionResponse": { + "description": "Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffVersionResponse", + "properties": { + "objectSizeBytes": { + "description": "The total size of the server object.", + "format": "int64", + "type": "string" + }, + "objectVersion": { + "description": "The version of the object stored at the server.", + "type": "string" + } + }, + "type": "object" + }, + "GdataDownloadParameters": { + "description": "Parameters specific to media downloads.", + "id": "GdataDownloadParameters", + "properties": { + "allowGzipCompression": { + "description": "A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client.", + "type": "boolean" + }, + "ignoreRange": { + "description": "Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty.", + "type": "boolean" + } + }, + "type": "object" + }, + "GdataMedia": { + "description": "A reference to data stored on the filesystem, on GFS or in blobstore.", + "id": "GdataMedia", + "properties": { + "algorithm": { + "deprecated": true, + "description": "Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, \"MD5\" is the only possible value for this field. New values may be added at any time.", + "type": "string" + }, + "bigstoreObjectRef": { + "deprecated": true, + "description": "Use object_id instead.", + "format": "byte", + "type": "string" + }, + "blobRef": { + "deprecated": true, + "description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.", + "format": "byte", + "type": "string" + }, + "blobstore2Info": { + "$ref": "GdataBlobstore2Info", + "description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob." + }, + "compositeMedia": { + "description": "A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified.", + "items": { + "$ref": "GdataCompositeMedia" + }, + "type": "array" + }, + "contentType": { + "description": "MIME type of the data", + "type": "string" + }, + "contentTypeInfo": { + "$ref": "GdataContentTypeInfo", + "description": "Extended content type information provided for Scotty uploads." + }, + "cosmoBinaryReference": { + "description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.", + "format": "byte", + "type": "string" + }, + "crc32cHash": { + "description": "For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported.", + "format": "uint32", + "type": "integer" + }, + "diffChecksumsResponse": { + "$ref": "GdataDiffChecksumsResponse", + "description": "Set if reference_type is DIFF_CHECKSUMS_RESPONSE." + }, + "diffDownloadResponse": { + "$ref": "GdataDiffDownloadResponse", + "description": "Set if reference_type is DIFF_DOWNLOAD_RESPONSE." + }, + "diffUploadRequest": { + "$ref": "GdataDiffUploadRequest", + "description": "Set if reference_type is DIFF_UPLOAD_REQUEST." + }, + "diffUploadResponse": { + "$ref": "GdataDiffUploadResponse", + "description": "Set if reference_type is DIFF_UPLOAD_RESPONSE." + }, + "diffVersionResponse": { + "$ref": "GdataDiffVersionResponse", + "description": "Set if reference_type is DIFF_VERSION_RESPONSE." + }, + "downloadParameters": { + "$ref": "GdataDownloadParameters", + "description": "Parameters for a media download." + }, + "filename": { + "description": "Original file name", + "type": "string" + }, + "hash": { + "deprecated": true, + "description": "Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media.", + "type": "string" + }, + "hashVerified": { + "description": "For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification.", + "type": "boolean" + }, + "inline": { + "description": "Media data, set if reference_type is INLINE", + "format": "byte", + "type": "string" + }, + "isPotentialRetry": { + "description": "|is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence.", + "type": "boolean" + }, + "length": { + "description": "Size of the data, in bytes", + "format": "int64", + "type": "string" + }, + "md5Hash": { + "description": "Scotty-provided MD5 hash for an upload.", + "format": "byte", + "type": "string" + }, + "mediaId": { + "description": "Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA.", + "format": "byte", + "type": "string" + }, + "objectId": { + "$ref": "GdataObjectId", + "description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF." + }, + "path": { + "description": "Path to the data, set if reference_type is PATH", + "type": "string" + }, + "referenceType": { + "description": "Describes what the field reference contains.", + "enum": [ + "PATH", + "BLOB_REF", + "INLINE", + "GET_MEDIA", + "COMPOSITE_MEDIA", + "BIGSTORE_REF", + "DIFF_VERSION_RESPONSE", + "DIFF_CHECKSUMS_RESPONSE", + "DIFF_DOWNLOAD_RESPONSE", + "DIFF_UPLOAD_REQUEST", + "DIFF_UPLOAD_RESPONSE", + "COSMO_BINARY_REFERENCE", + "ARBITRARY_BYTES" + ], + "enumDescriptions": [ + "Reference contains a GFS path or a local path.", + "Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.", + "Data is included into this proto buffer", + "Data should be accessed from the current service using the operation GetMedia.", + "The content for this media object is stored across multiple partial media objects under the composite_media field.", + "Reference points to a bigstore object", + "Indicates the data is stored in diff_version_response.", + "Indicates the data is stored in diff_checksums_response.", + "Indicates the data is stored in diff_download_response.", + "Indicates the data is stored in diff_upload_request.", + "Indicates the data is stored in diff_upload_response.", + "Indicates the data is stored in cosmo_binary_reference.", + "Informs Scotty to generate a response payload with the size specified in the length field. The contents of the payload are generated by Scotty and are undefined. This is useful for testing download speeds between the user and Scotty without involving a real payload source. Note: range is not supported when using arbitrary_bytes." + ], + "type": "string" + }, + "sha1Hash": { + "description": "Scotty-provided SHA1 hash for an upload.", + "format": "byte", + "type": "string" + }, + "sha256Hash": { + "description": "Scotty-provided SHA256 hash for an upload.", + "format": "byte", + "type": "string" + }, + "timestamp": { + "description": "Time at which the media data was last updated, in milliseconds since UNIX epoch", + "format": "uint64", + "type": "string" + }, + "token": { + "description": "A unique fingerprint/version id for the media data", + "type": "string" + } + }, + "type": "object" + }, + "GdataObjectId": { + "description": "This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763.", + "id": "GdataObjectId", + "properties": { + "bucketName": { + "description": "The name of the bucket to which this object belongs.", + "type": "string" + }, + "generation": { + "description": "Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions", + "format": "int64", + "type": "string" + }, + "objectName": { + "description": "The name of the object.", + "type": "string" + } + }, + "type": "object" + }, "GoogleApiDistribution": { "description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", "id": "GoogleApiDistribution", @@ -18891,6 +19362,29 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata": { + "description": "Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaExportMetricsResponse": { + "description": "Response of the ExportMetricsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field.", + "id": "GoogleCloudDiscoveryengineV1alphaExportMetricsResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaFieldConfig": { "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", @@ -19494,7 +19988,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", "properties": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "type": "string" }, "orderBy": { @@ -20300,7 +20794,7 @@ }, "naturalLanguageQueryUnderstandingSpec": { "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", - "description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." + "description": "Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", @@ -20909,6 +21403,20 @@ "description": "Specification to enable natural language understanding capabilities for search requests.", "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { + "extractedFilterBehavior": { + "description": "Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED.", + "enum": [ + "EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED", + "HARD_FILTER", + "SOFT_BOOST" + ], + "enumDescriptions": [ + "`EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED` will use the default behavior for extracted filters. For single datastore search, the default is to apply as hard filters. For multi-datastore search, the default is to apply as soft boosts.", + "Applies all extracted filters as hard filters on the results. Results that do not pass the extracted filters will not be returned in the result set.", + "Applies all extracted filters as soft boosts. Results that pass the filters will be boosted up to higher ranks in the result set." + ], + "type": "string" + }, "filterExtractionCondition": { "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ @@ -23920,7 +24428,7 @@ }, "naturalLanguageQueryUnderstandingSpec": { "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", - "description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." + "description": "Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", @@ -24525,6 +25033,20 @@ "description": "Specification to enable natural language understanding capabilities for search requests.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { + "extractedFilterBehavior": { + "description": "Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED.", + "enum": [ + "EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED", + "HARD_FILTER", + "SOFT_BOOST" + ], + "enumDescriptions": [ + "`EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED` will use the default behavior for extracted filters. For single datastore search, the default is to apply as hard filters. For multi-datastore search, the default is to apply as soft boosts.", + "Applies all extracted filters as hard filters on the results. Results that do not pass the extracted filters will not be returned in the result set.", + "Applies all extracted filters as soft boosts. Results that pass the filters will be boosted up to higher ranks in the result set." + ], + "type": "string" + }, "filterExtractionCondition": { "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ diff --git a/discovery/discoveryengine-v1alpha.json b/discovery/discoveryengine-v1alpha.json index a4aea28489e..96fc9acbb32 100644 --- a/discovery/discoveryengine-v1alpha.json +++ b/discovery/discoveryengine-v1alpha.json @@ -3020,7 +3020,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -4215,6 +4215,38 @@ } }, "resources": { + "analytics": { + "methods": { + "exportMetrics": { + "description": "Exports metrics.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/analytics:exportMetrics", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.analytics.exportMetrics", + "parameterOrder": [ + "analytics" + ], + "parameters": { + "analytics": { + "description": "Required. The analytics resource name under the engine where the metrics are created. The format is `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/analytics`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/analytics$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+analytics}:exportMetrics", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaExportMetricsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "assistants": { "methods": { "get": { @@ -5123,7 +5155,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -7262,7 +7294,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -9420,7 +9452,7 @@ } } }, - "revision": "20250724", + "revision": "20250728", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "ApiservingMediaRequestInfo": { @@ -15355,6 +15387,21 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaBigQueryDestination": { + "description": "The BigQuery output destination configuration.", + "id": "GoogleCloudDiscoveryengineV1alphaBigQueryDestination", + "properties": { + "datasetId": { + "description": "Required. The ID of a BigQuery Dataset.", + "type": "string" + }, + "tableId": { + "description": "Required. The table_id of exported BigQuery table.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaBigQuerySource": { "description": "BigQuery source import data from.", "id": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", @@ -18831,6 +18878,40 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata": { + "description": "Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaExportMetricsRequest": { + "description": "Request message for the `ExportMetrics` method.", + "id": "GoogleCloudDiscoveryengineV1alphaExportMetricsRequest", + "properties": { + "outputConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaOutputConfig", + "description": "Required. The output location of the data." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaExportMetricsResponse": { + "description": "Response of the ExportMetricsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field.", + "id": "GoogleCloudDiscoveryengineV1alphaExportMetricsResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaFactChunk": { "description": "Fact Chunk.", "id": "GoogleCloudDiscoveryengineV1alphaFactChunk", @@ -20518,7 +20599,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", "properties": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "type": "string" }, "orderBy": { @@ -20698,6 +20779,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaOutputConfig": { + "description": "The output configuration setting.", + "id": "GoogleCloudDiscoveryengineV1alphaOutputConfig", + "properties": { + "bigqueryDestination": { + "$ref": "GoogleCloudDiscoveryengineV1alphaBigQueryDestination", + "description": "The BigQuery location where the output is to be written to." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaPageInfo": { "description": "Detailed page information.", "id": "GoogleCloudDiscoveryengineV1alphaPageInfo", @@ -22202,7 +22294,7 @@ }, "naturalLanguageQueryUnderstandingSpec": { "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", - "description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." + "description": "Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", @@ -22811,6 +22903,20 @@ "description": "Specification to enable natural language understanding capabilities for search requests.", "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { + "extractedFilterBehavior": { + "description": "Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED.", + "enum": [ + "EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED", + "HARD_FILTER", + "SOFT_BOOST" + ], + "enumDescriptions": [ + "`EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED` will use the default behavior for extracted filters. For single datastore search, the default is to apply as hard filters. For multi-datastore search, the default is to apply as soft boosts.", + "Applies all extracted filters as hard filters on the results. Results that do not pass the extracted filters will not be returned in the result set.", + "Applies all extracted filters as soft boosts. Results that pass the filters will be boosted up to higher ranks in the result set." + ], + "type": "string" + }, "filterExtractionCondition": { "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ @@ -28067,7 +28173,7 @@ }, "naturalLanguageQueryUnderstandingSpec": { "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", - "description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." + "description": "Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", @@ -28672,6 +28778,20 @@ "description": "Specification to enable natural language understanding capabilities for search requests.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { + "extractedFilterBehavior": { + "description": "Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED.", + "enum": [ + "EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED", + "HARD_FILTER", + "SOFT_BOOST" + ], + "enumDescriptions": [ + "`EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED` will use the default behavior for extracted filters. For single datastore search, the default is to apply as hard filters. For multi-datastore search, the default is to apply as soft boosts.", + "Applies all extracted filters as hard filters on the results. Results that do not pass the extracted filters will not be returned in the result set.", + "Applies all extracted filters as soft boosts. Results that pass the filters will be boosted up to higher ranks in the result set." + ], + "type": "string" + }, "filterExtractionCondition": { "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ diff --git a/discovery/discoveryengine-v1beta.json b/discovery/discoveryengine-v1beta.json index 0389fa818d6..59da86296a3 100644 --- a/discovery/discoveryengine-v1beta.json +++ b/discovery/discoveryengine-v1beta.json @@ -135,6 +135,47 @@ }, "protocol": "rest", "resources": { + "media": { + "methods": { + "download": { + "description": "Downloads a file from the session.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}:downloadFile", + "httpMethod": "GET", + "id": "discoveryengine.media.download", + "parameterOrder": [ + "name" + ], + "parameters": { + "fileId": { + "description": "Required. The ID of the file to be downloaded.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the Session. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + }, + "viewId": { + "description": "Optional. The ID of the view to be downloaded.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}:downloadFile", + "response": { + "$ref": "GdataMedia" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaDownload": true, + "useMediaDownloadService": true + } + } + }, "projects": { "methods": { "provision": { @@ -2320,7 +2361,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -4331,7 +4372,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -6198,7 +6239,7 @@ ], "parameters": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "location": "query", "type": "string" }, @@ -8106,9 +8147,439 @@ } } }, - "revision": "20250724", + "revision": "20250728", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { + "GdataBlobstore2Info": { + "description": "Information to read/write to blobstore2.", + "id": "GdataBlobstore2Info", + "properties": { + "blobGeneration": { + "description": "The blob generation id.", + "format": "int64", + "type": "string" + }, + "blobId": { + "description": "The blob id, e.g., /blobstore/prod/playground/scotty", + "type": "string" + }, + "downloadReadHandle": { + "description": "Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.", + "format": "byte", + "type": "string" + }, + "readToken": { + "description": "The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.", + "type": "string" + }, + "uploadMetadataContainer": { + "description": "Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GdataCompositeMedia": { + "description": "A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites.", + "id": "GdataCompositeMedia", + "properties": { + "blobRef": { + "deprecated": true, + "description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.", + "format": "byte", + "type": "string" + }, + "blobstore2Info": { + "$ref": "GdataBlobstore2Info", + "description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob." + }, + "cosmoBinaryReference": { + "description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.", + "format": "byte", + "type": "string" + }, + "crc32cHash": { + "description": "crc32.c hash for the payload.", + "format": "uint32", + "type": "integer" + }, + "inline": { + "description": "Media data, set if reference_type is INLINE", + "format": "byte", + "type": "string" + }, + "length": { + "description": "Size of the data, in bytes", + "format": "int64", + "type": "string" + }, + "md5Hash": { + "description": "MD5 hash for the payload.", + "format": "byte", + "type": "string" + }, + "objectId": { + "$ref": "GdataObjectId", + "description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF." + }, + "path": { + "description": "Path to the data, set if reference_type is PATH", + "type": "string" + }, + "referenceType": { + "description": "Describes what the field reference contains.", + "enum": [ + "PATH", + "BLOB_REF", + "INLINE", + "BIGSTORE_REF", + "COSMO_BINARY_REFERENCE" + ], + "enumDescriptions": [ + "Reference contains a GFS path or a local path.", + "Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.", + "Data is included into this proto buffer", + "Reference points to a bigstore object", + "Indicates the data is stored in cosmo_binary_reference." + ], + "type": "string" + }, + "sha1Hash": { + "description": "SHA-1 hash for the payload.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GdataContentTypeInfo": { + "description": "Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty.", + "id": "GdataContentTypeInfo", + "properties": { + "bestGuess": { + "description": "Scotty's best guess of what the content type of the file is.", + "type": "string" + }, + "fromBytes": { + "description": "The content type of the file derived by looking at specific bytes (i.e. \"magic bytes\") of the actual file.", + "type": "string" + }, + "fromFileName": { + "description": "The content type of the file derived from the file extension of the original file name used by the client.", + "type": "string" + }, + "fromHeader": { + "description": "The content type of the file as specified in the request headers, multipart headers, or RUPIO start request.", + "type": "string" + }, + "fromUrlPath": { + "description": "The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API).", + "type": "string" + } + }, + "type": "object" + }, + "GdataDiffChecksumsResponse": { + "description": "Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffChecksumsResponse", + "properties": { + "checksumsLocation": { + "$ref": "GdataCompositeMedia", + "description": "Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol." + }, + "chunkSizeBytes": { + "description": "The chunk size of checksums. Must be a multiple of 256KB.", + "format": "int64", + "type": "string" + }, + "objectLocation": { + "$ref": "GdataCompositeMedia", + "description": "If set, calculate the checksums based on the contents and return them to the caller." + }, + "objectSizeBytes": { + "description": "The total size of the server object.", + "format": "int64", + "type": "string" + }, + "objectVersion": { + "description": "The object version of the object the checksums are being returned for.", + "type": "string" + } + }, + "type": "object" + }, + "GdataDiffDownloadResponse": { + "description": "Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffDownloadResponse", + "properties": { + "objectLocation": { + "$ref": "GdataCompositeMedia", + "description": "The original object location." + } + }, + "type": "object" + }, + "GdataDiffUploadRequest": { + "description": "A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffUploadRequest", + "properties": { + "checksumsInfo": { + "$ref": "GdataCompositeMedia", + "description": "The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol." + }, + "objectInfo": { + "$ref": "GdataCompositeMedia", + "description": "The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received." + }, + "objectVersion": { + "description": "The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in.", + "type": "string" + } + }, + "type": "object" + }, + "GdataDiffUploadResponse": { + "description": "Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffUploadResponse", + "properties": { + "objectVersion": { + "description": "The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload.", + "type": "string" + }, + "originalObject": { + "$ref": "GdataCompositeMedia", + "description": "The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification." + } + }, + "type": "object" + }, + "GdataDiffVersionResponse": { + "description": "Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", + "id": "GdataDiffVersionResponse", + "properties": { + "objectSizeBytes": { + "description": "The total size of the server object.", + "format": "int64", + "type": "string" + }, + "objectVersion": { + "description": "The version of the object stored at the server.", + "type": "string" + } + }, + "type": "object" + }, + "GdataDownloadParameters": { + "description": "Parameters specific to media downloads.", + "id": "GdataDownloadParameters", + "properties": { + "allowGzipCompression": { + "description": "A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client.", + "type": "boolean" + }, + "ignoreRange": { + "description": "Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty.", + "type": "boolean" + } + }, + "type": "object" + }, + "GdataMedia": { + "description": "A reference to data stored on the filesystem, on GFS or in blobstore.", + "id": "GdataMedia", + "properties": { + "algorithm": { + "deprecated": true, + "description": "Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, \"MD5\" is the only possible value for this field. New values may be added at any time.", + "type": "string" + }, + "bigstoreObjectRef": { + "deprecated": true, + "description": "Use object_id instead.", + "format": "byte", + "type": "string" + }, + "blobRef": { + "deprecated": true, + "description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.", + "format": "byte", + "type": "string" + }, + "blobstore2Info": { + "$ref": "GdataBlobstore2Info", + "description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob." + }, + "compositeMedia": { + "description": "A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified.", + "items": { + "$ref": "GdataCompositeMedia" + }, + "type": "array" + }, + "contentType": { + "description": "MIME type of the data", + "type": "string" + }, + "contentTypeInfo": { + "$ref": "GdataContentTypeInfo", + "description": "Extended content type information provided for Scotty uploads." + }, + "cosmoBinaryReference": { + "description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.", + "format": "byte", + "type": "string" + }, + "crc32cHash": { + "description": "For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported.", + "format": "uint32", + "type": "integer" + }, + "diffChecksumsResponse": { + "$ref": "GdataDiffChecksumsResponse", + "description": "Set if reference_type is DIFF_CHECKSUMS_RESPONSE." + }, + "diffDownloadResponse": { + "$ref": "GdataDiffDownloadResponse", + "description": "Set if reference_type is DIFF_DOWNLOAD_RESPONSE." + }, + "diffUploadRequest": { + "$ref": "GdataDiffUploadRequest", + "description": "Set if reference_type is DIFF_UPLOAD_REQUEST." + }, + "diffUploadResponse": { + "$ref": "GdataDiffUploadResponse", + "description": "Set if reference_type is DIFF_UPLOAD_RESPONSE." + }, + "diffVersionResponse": { + "$ref": "GdataDiffVersionResponse", + "description": "Set if reference_type is DIFF_VERSION_RESPONSE." + }, + "downloadParameters": { + "$ref": "GdataDownloadParameters", + "description": "Parameters for a media download." + }, + "filename": { + "description": "Original file name", + "type": "string" + }, + "hash": { + "deprecated": true, + "description": "Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media.", + "type": "string" + }, + "hashVerified": { + "description": "For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification.", + "type": "boolean" + }, + "inline": { + "description": "Media data, set if reference_type is INLINE", + "format": "byte", + "type": "string" + }, + "isPotentialRetry": { + "description": "|is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence.", + "type": "boolean" + }, + "length": { + "description": "Size of the data, in bytes", + "format": "int64", + "type": "string" + }, + "md5Hash": { + "description": "Scotty-provided MD5 hash for an upload.", + "format": "byte", + "type": "string" + }, + "mediaId": { + "description": "Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA.", + "format": "byte", + "type": "string" + }, + "objectId": { + "$ref": "GdataObjectId", + "description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF." + }, + "path": { + "description": "Path to the data, set if reference_type is PATH", + "type": "string" + }, + "referenceType": { + "description": "Describes what the field reference contains.", + "enum": [ + "PATH", + "BLOB_REF", + "INLINE", + "GET_MEDIA", + "COMPOSITE_MEDIA", + "BIGSTORE_REF", + "DIFF_VERSION_RESPONSE", + "DIFF_CHECKSUMS_RESPONSE", + "DIFF_DOWNLOAD_RESPONSE", + "DIFF_UPLOAD_REQUEST", + "DIFF_UPLOAD_RESPONSE", + "COSMO_BINARY_REFERENCE", + "ARBITRARY_BYTES" + ], + "enumDescriptions": [ + "Reference contains a GFS path or a local path.", + "Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.", + "Data is included into this proto buffer", + "Data should be accessed from the current service using the operation GetMedia.", + "The content for this media object is stored across multiple partial media objects under the composite_media field.", + "Reference points to a bigstore object", + "Indicates the data is stored in diff_version_response.", + "Indicates the data is stored in diff_checksums_response.", + "Indicates the data is stored in diff_download_response.", + "Indicates the data is stored in diff_upload_request.", + "Indicates the data is stored in diff_upload_response.", + "Indicates the data is stored in cosmo_binary_reference.", + "Informs Scotty to generate a response payload with the size specified in the length field. The contents of the payload are generated by Scotty and are undefined. This is useful for testing download speeds between the user and Scotty without involving a real payload source. Note: range is not supported when using arbitrary_bytes." + ], + "type": "string" + }, + "sha1Hash": { + "description": "Scotty-provided SHA1 hash for an upload.", + "format": "byte", + "type": "string" + }, + "sha256Hash": { + "description": "Scotty-provided SHA256 hash for an upload.", + "format": "byte", + "type": "string" + }, + "timestamp": { + "description": "Time at which the media data was last updated, in milliseconds since UNIX epoch", + "format": "uint64", + "type": "string" + }, + "token": { + "description": "A unique fingerprint/version id for the media data", + "type": "string" + } + }, + "type": "object" + }, + "GdataObjectId": { + "description": "This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763.", + "id": "GdataObjectId", + "properties": { + "bucketName": { + "description": "The name of the bucket to which this object belongs.", + "type": "string" + }, + "generation": { + "description": "Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions", + "format": "int64", + "type": "string" + }, + "objectName": { + "description": "The name of the object.", + "type": "string" + } + }, + "type": "object" + }, "GoogleApiDistribution": { "description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", "id": "GoogleApiDistribution", @@ -14227,6 +14698,29 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata": { + "description": "Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaExportMetricsResponse": { + "description": "Response of the ExportMetricsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field.", + "id": "GoogleCloudDiscoveryengineV1alphaExportMetricsResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaFieldConfig": { "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", @@ -14830,7 +15324,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", "properties": { "filter": { - "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: \"user_pseudo_id = some_id\" \"display_name = \\\"some_name\\\"\" \"starred = true\" \"is_pinned=true AND (NOT labels:hidden)\" \"create_time > \\\"1970-01-01T12:00:00Z\\\"\"", + "description": "A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = \"some_name\"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > \"1970-01-01T12:00:00Z\"`", "type": "string" }, "orderBy": { @@ -15636,7 +16130,7 @@ }, "naturalLanguageQueryUnderstandingSpec": { "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", - "description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." + "description": "Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", @@ -16245,6 +16739,20 @@ "description": "Specification to enable natural language understanding capabilities for search requests.", "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { + "extractedFilterBehavior": { + "description": "Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED.", + "enum": [ + "EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED", + "HARD_FILTER", + "SOFT_BOOST" + ], + "enumDescriptions": [ + "`EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED` will use the default behavior for extracted filters. For single datastore search, the default is to apply as hard filters. For multi-datastore search, the default is to apply as soft boosts.", + "Applies all extracted filters as hard filters on the results. Results that do not pass the extracted filters will not be returned in the result set.", + "Applies all extracted filters as soft boosts. Results that pass the filters will be boosted up to higher ranks in the result set." + ], + "type": "string" + }, "filterExtractionCondition": { "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ @@ -23960,7 +24468,7 @@ }, "naturalLanguageQueryUnderstandingSpec": { "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", - "description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." + "description": "Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." }, "offset": { "description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", @@ -24565,6 +25073,20 @@ "description": "Specification to enable natural language understanding capabilities for search requests.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { + "extractedFilterBehavior": { + "description": "Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED.", + "enum": [ + "EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED", + "HARD_FILTER", + "SOFT_BOOST" + ], + "enumDescriptions": [ + "`EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED` will use the default behavior for extracted filters. For single datastore search, the default is to apply as hard filters. For multi-datastore search, the default is to apply as soft boosts.", + "Applies all extracted filters as hard filters on the results. Results that do not pass the extracted filters will not be returned in the result set.", + "Applies all extracted filters as soft boosts. Results that pass the filters will be boosted up to higher ranks in the result set." + ], + "type": "string" + }, "filterExtractionCondition": { "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ diff --git a/src/apis/discoveryengine/v1.ts b/src/apis/discoveryengine/v1.ts index 6e1dda2f627..902c2a2f545 100644 --- a/src/apis/discoveryengine/v1.ts +++ b/src/apis/discoveryengine/v1.ts @@ -112,6 +112,7 @@ export namespace discoveryengine_v1 { */ export class Discoveryengine { context: APIRequestContext; + media: Resource$Media; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable) { @@ -120,10 +121,342 @@ export namespace discoveryengine_v1 { google, }; + this.media = new Resource$Media(this.context); this.projects = new Resource$Projects(this.context); } } + /** + * Information to read/write to blobstore2. + */ + export interface Schema$GdataBlobstore2Info { + /** + * The blob generation id. + */ + blobGeneration?: string | null; + /** + * The blob id, e.g., /blobstore/prod/playground/scotty + */ + blobId?: string | null; + /** + * Read handle passed from Bigstore -\> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads. + */ + downloadReadHandle?: string | null; + /** + * The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call. + */ + readToken?: string | null; + /** + * Metadata passed from Blobstore -\> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads. + */ + uploadMetadataContainer?: string | null; + } + /** + * A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. + */ + export interface Schema$GdataCompositeMedia { + /** + * Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef. + */ + blobRef?: string | null; + /** + * Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob. + */ + blobstore2Info?: Schema$GdataBlobstore2Info; + /** + * A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field. + */ + cosmoBinaryReference?: string | null; + /** + * crc32.c hash for the payload. + */ + crc32cHash?: number | null; + /** + * Media data, set if reference_type is INLINE + */ + inline?: string | null; + /** + * Size of the data, in bytes + */ + length?: string | null; + /** + * MD5 hash for the payload. + */ + md5Hash?: string | null; + /** + * Reference to a TI Blob, set if reference_type is BIGSTORE_REF. + */ + objectId?: Schema$GdataObjectId; + /** + * Path to the data, set if reference_type is PATH + */ + path?: string | null; + /** + * Describes what the field reference contains. + */ + referenceType?: string | null; + /** + * SHA-1 hash for the payload. + */ + sha1Hash?: string | null; + } + /** + * Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty. + */ + export interface Schema$GdataContentTypeInfo { + /** + * Scotty's best guess of what the content type of the file is. + */ + bestGuess?: string | null; + /** + * The content type of the file derived by looking at specific bytes (i.e. "magic bytes") of the actual file. + */ + fromBytes?: string | null; + /** + * The content type of the file derived from the file extension of the original file name used by the client. + */ + fromFileName?: string | null; + /** + * The content type of the file as specified in the request headers, multipart headers, or RUPIO start request. + */ + fromHeader?: string | null; + /** + * The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API). + */ + fromUrlPath?: string | null; + } + /** + * Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffChecksumsResponse { + /** + * Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol. + */ + checksumsLocation?: Schema$GdataCompositeMedia; + /** + * The chunk size of checksums. Must be a multiple of 256KB. + */ + chunkSizeBytes?: string | null; + /** + * If set, calculate the checksums based on the contents and return them to the caller. + */ + objectLocation?: Schema$GdataCompositeMedia; + /** + * The total size of the server object. + */ + objectSizeBytes?: string | null; + /** + * The object version of the object the checksums are being returned for. + */ + objectVersion?: string | null; + } + /** + * Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffDownloadResponse { + /** + * The original object location. + */ + objectLocation?: Schema$GdataCompositeMedia; + } + /** + * A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffUploadRequest { + /** + * The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol. + */ + checksumsInfo?: Schema$GdataCompositeMedia; + /** + * The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. + */ + objectInfo?: Schema$GdataCompositeMedia; + /** + * The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in. + */ + objectVersion?: string | null; + } + /** + * Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffUploadResponse { + /** + * The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload. + */ + objectVersion?: string | null; + /** + * The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification. + */ + originalObject?: Schema$GdataCompositeMedia; + } + /** + * Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffVersionResponse { + /** + * The total size of the server object. + */ + objectSizeBytes?: string | null; + /** + * The version of the object stored at the server. + */ + objectVersion?: string | null; + } + /** + * Parameters specific to media downloads. + */ + export interface Schema$GdataDownloadParameters { + /** + * A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client. + */ + allowGzipCompression?: boolean | null; + /** + * Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty. + */ + ignoreRange?: boolean | null; + } + /** + * A reference to data stored on the filesystem, on GFS or in blobstore. + */ + export interface Schema$GdataMedia { + /** + * Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, "MD5" is the only possible value for this field. New values may be added at any time. + */ + algorithm?: string | null; + /** + * Use object_id instead. + */ + bigstoreObjectRef?: string | null; + /** + * Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef. + */ + blobRef?: string | null; + /** + * Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob. + */ + blobstore2Info?: Schema$GdataBlobstore2Info; + /** + * A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified. + */ + compositeMedia?: Schema$GdataCompositeMedia[]; + /** + * MIME type of the data + */ + contentType?: string | null; + /** + * Extended content type information provided for Scotty uploads. + */ + contentTypeInfo?: Schema$GdataContentTypeInfo; + /** + * A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field. + */ + cosmoBinaryReference?: string | null; + /** + * For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported. + */ + crc32cHash?: number | null; + /** + * Set if reference_type is DIFF_CHECKSUMS_RESPONSE. + */ + diffChecksumsResponse?: Schema$GdataDiffChecksumsResponse; + /** + * Set if reference_type is DIFF_DOWNLOAD_RESPONSE. + */ + diffDownloadResponse?: Schema$GdataDiffDownloadResponse; + /** + * Set if reference_type is DIFF_UPLOAD_REQUEST. + */ + diffUploadRequest?: Schema$GdataDiffUploadRequest; + /** + * Set if reference_type is DIFF_UPLOAD_RESPONSE. + */ + diffUploadResponse?: Schema$GdataDiffUploadResponse; + /** + * Set if reference_type is DIFF_VERSION_RESPONSE. + */ + diffVersionResponse?: Schema$GdataDiffVersionResponse; + /** + * Parameters for a media download. + */ + downloadParameters?: Schema$GdataDownloadParameters; + /** + * Original file name + */ + filename?: string | null; + /** + * Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media. + */ + hash?: string | null; + /** + * For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification. + */ + hashVerified?: boolean | null; + /** + * Media data, set if reference_type is INLINE + */ + inline?: string | null; + /** + * |is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence. + */ + isPotentialRetry?: boolean | null; + /** + * Size of the data, in bytes + */ + length?: string | null; + /** + * Scotty-provided MD5 hash for an upload. + */ + md5Hash?: string | null; + /** + * Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA. + */ + mediaId?: string | null; + /** + * Reference to a TI Blob, set if reference_type is BIGSTORE_REF. + */ + objectId?: Schema$GdataObjectId; + /** + * Path to the data, set if reference_type is PATH + */ + path?: string | null; + /** + * Describes what the field reference contains. + */ + referenceType?: string | null; + /** + * Scotty-provided SHA1 hash for an upload. + */ + sha1Hash?: string | null; + /** + * Scotty-provided SHA256 hash for an upload. + */ + sha256Hash?: string | null; + /** + * Time at which the media data was last updated, in milliseconds since UNIX epoch + */ + timestamp?: string | null; + /** + * A unique fingerprint/version id for the media data + */ + token?: string | null; + } + /** + * This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. + */ + export interface Schema$GdataObjectId { + /** + * The name of the bucket to which this object belongs. + */ + bucketName?: string | null; + /** + * Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions + */ + generation?: string | null; + /** + * The name of the object. + */ + objectName?: string | null; + } /** * `Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. */ @@ -2661,6 +2994,23 @@ export namespace discoveryengine_v1 { */ sampleQuerySet?: string | null; } + /** + * Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Response of the ExportMetricsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsResponse {} /** * Configurations for fields of a schema. For example, configuring a field is indexable, or searchable. */ @@ -3048,7 +3398,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaListSessionsRequest { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string | null; /** @@ -3607,7 +3957,7 @@ export namespace discoveryengine_v1 { */ languageCode?: string | null; /** - * If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. + * Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec; /** @@ -4042,6 +4392,10 @@ export namespace discoveryengine_v1 { * Specification to enable natural language understanding capabilities for search requests. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec { + /** + * Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED. + */ + extractedFilterBehavior?: string | null; /** * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ @@ -7334,7 +7688,7 @@ export namespace discoveryengine_v1 { */ languageCode?: string | null; /** - * If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. + * Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec; /** @@ -7765,6 +8119,10 @@ export namespace discoveryengine_v1 { * Specification to enable natural language understanding capabilities for search requests. */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec { + /** + * Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED. + */ + extractedFilterBehavior?: string | null; /** * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ @@ -12727,6 +13085,198 @@ export namespace discoveryengine_v1 { version?: string | null; } + export class Resource$Media { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Downloads a file from the session. + * @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'], + * }); + * + * // Acquire an 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.media.download({ + * // Required. The ID of the file to be downloaded. + * fileId: 'placeholder-value', + * // Required. The resource name of the Session. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/sessions/{session\}` + * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/sessions/my-session', + * // Optional. The ID of the view to be downloaded. + * viewId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "algorithm": "my_algorithm", + * // "bigstoreObjectRef": "my_bigstoreObjectRef", + * // "blobRef": "my_blobRef", + * // "blobstore2Info": {}, + * // "compositeMedia": [], + * // "contentType": "my_contentType", + * // "contentTypeInfo": {}, + * // "cosmoBinaryReference": "my_cosmoBinaryReference", + * // "crc32cHash": 0, + * // "diffChecksumsResponse": {}, + * // "diffDownloadResponse": {}, + * // "diffUploadRequest": {}, + * // "diffUploadResponse": {}, + * // "diffVersionResponse": {}, + * // "downloadParameters": {}, + * // "filename": "my_filename", + * // "hash": "my_hash", + * // "hashVerified": false, + * // "inline": "my_inline", + * // "isPotentialRetry": false, + * // "length": "my_length", + * // "md5Hash": "my_md5Hash", + * // "mediaId": "my_mediaId", + * // "objectId": {}, + * // "path": "my_path", + * // "referenceType": "my_referenceType", + * // "sha1Hash": "my_sha1Hash", + * // "sha256Hash": "my_sha256Hash", + * // "timestamp": "my_timestamp", + * // "token": "my_token" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + download( + params: Params$Resource$Media$Download, + options: StreamMethodOptions + ): Promise>; + download( + params?: Params$Resource$Media$Download, + options?: MethodOptions + ): Promise>; + download( + params: Params$Resource$Media$Download, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + download( + params: Params$Resource$Media$Download, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + download( + params: Params$Resource$Media$Download, + callback: BodyResponseCallback + ): void; + download(callback: BodyResponseCallback): void; + download( + paramsOrCallback?: + | Params$Resource$Media$Download + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Media$Download; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Media$Download; + 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}:downloadFile').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$Media$Download extends StandardParameters { + /** + * Required. The ID of the file to be downloaded. + */ + fileId?: string; + /** + * Required. The resource name of the Session. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/sessions/{session\}` + */ + name?: string; + /** + * Optional. The ID of the view to be downloaded. + */ + viewId?: string; + } + export class Resource$Projects { context: APIRequestContext; locations: Resource$Projects$Locations; @@ -24008,7 +24558,7 @@ export namespace discoveryengine_v1 { * const res = * await discoveryengine.projects.locations.collections.dataStores.sessions.list( * { - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -24344,7 +24894,7 @@ export namespace discoveryengine_v1 { export interface Params$Resource$Projects$Locations$Collections$Datastores$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** @@ -34510,7 +35060,7 @@ export namespace discoveryengine_v1 { * // Do the magic * const res = * await discoveryengine.projects.locations.collections.engines.sessions.list({ - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -34845,7 +35395,7 @@ export namespace discoveryengine_v1 { export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** @@ -44318,7 +44868,7 @@ export namespace discoveryengine_v1 { * // Do the magic * const res = await discoveryengine.projects.locations.dataStores.sessions.list( * { - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -44652,7 +45202,7 @@ export namespace discoveryengine_v1 { export interface Params$Resource$Projects$Locations$Datastores$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** diff --git a/src/apis/discoveryengine/v1alpha.ts b/src/apis/discoveryengine/v1alpha.ts index 53a16b0c2f5..930ef64fb61 100644 --- a/src/apis/discoveryengine/v1alpha.ts +++ b/src/apis/discoveryengine/v1alpha.ts @@ -2467,6 +2467,19 @@ export namespace discoveryengine_v1alpha { * Request message for SiteSearchEngineService.BatchVerifyTargetSites method. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaBatchVerifyTargetSitesRequest {} + /** + * The BigQuery output destination configuration. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaBigQueryDestination { + /** + * Required. The ID of a BigQuery Dataset. + */ + datasetId?: string | null; + /** + * Required. The table_id of exported BigQuery table. + */ + tableId?: string | null; + } /** * BigQuery source import data from. */ @@ -4783,6 +4796,32 @@ export namespace discoveryengine_v1alpha { */ sampleQuerySet?: string | null; } + /** + * Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Request message for the `ExportMetrics` method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsRequest { + /** + * Required. The output location of the data. + */ + outputConfig?: Schema$GoogleCloudDiscoveryengineV1alphaOutputConfig; + } + /** + * Response of the ExportMetricsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsResponse {} /** * Fact Chunk. */ @@ -5968,7 +6007,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaListSessionsRequest { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string | null; /** @@ -6096,6 +6135,15 @@ export namespace discoveryengine_v1alpha { */ vertexAiOrganicCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; } + /** + * The output configuration setting. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaOutputConfig { + /** + * The BigQuery location where the output is to be written to. + */ + bigqueryDestination?: Schema$GoogleCloudDiscoveryengineV1alphaBigQueryDestination; + } /** * Detailed page information. */ @@ -7218,7 +7266,7 @@ export namespace discoveryengine_v1alpha { */ languageCode?: string | null; /** - * If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. + * Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec; /** @@ -7653,6 +7701,10 @@ export namespace discoveryengine_v1alpha { * Specification to enable natural language understanding capabilities for search requests. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec { + /** + * Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED. + */ + extractedFilterBehavior?: string | null; /** * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ @@ -11427,7 +11479,7 @@ export namespace discoveryengine_v1alpha { */ languageCode?: string | null; /** - * If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. + * Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec; /** @@ -11858,6 +11910,10 @@ export namespace discoveryengine_v1alpha { * Specification to enable natural language understanding capabilities for search requests. */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec { + /** + * Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED. + */ + extractedFilterBehavior?: string | null; /** * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ @@ -30420,7 +30476,7 @@ export namespace discoveryengine_v1alpha { * const res = * await discoveryengine.projects.locations.collections.dataStores.sessions.list( * { - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -30756,7 +30812,7 @@ export namespace discoveryengine_v1alpha { export interface Params$Resource$Projects$Locations$Collections$Datastores$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** @@ -35694,6 +35750,7 @@ export namespace discoveryengine_v1alpha { export class Resource$Projects$Locations$Collections$Engines { context: APIRequestContext; + analytics: Resource$Projects$Locations$Collections$Engines$Analytics; assistants: Resource$Projects$Locations$Collections$Engines$Assistants; completionConfig: Resource$Projects$Locations$Collections$Engines$Completionconfig; controls: Resource$Projects$Locations$Collections$Engines$Controls; @@ -35704,6 +35761,10 @@ export namespace discoveryengine_v1alpha { widgetConfigs: Resource$Projects$Locations$Collections$Engines$Widgetconfigs; constructor(context: APIRequestContext) { this.context = context; + this.analytics = + new Resource$Projects$Locations$Collections$Engines$Analytics( + this.context + ); this.assistants = new Resource$Projects$Locations$Collections$Engines$Assistants( this.context @@ -37164,6 +37225,185 @@ export namespace discoveryengine_v1alpha { requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaTuneEngineRequest; } + export class Resource$Projects$Locations$Collections$Engines$Analytics { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Exports metrics. + * @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'], + * }); + * + * // Acquire an 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.engines.analytics.exportMetrics( + * { + * // Required. The analytics resource name under the engine where the metrics are created. The format is `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/analytics`. + * analytics: + * 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/analytics', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "outputConfig": {} + * // } + * }, + * }, + * ); + * 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. + */ + exportMetrics( + params: Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics, + options: StreamMethodOptions + ): Promise>; + exportMetrics( + params?: Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics, + options?: MethodOptions + ): Promise>; + exportMetrics( + params: Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportMetrics( + params: Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportMetrics( + params: Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics, + callback: BodyResponseCallback + ): void; + exportMetrics( + callback: BodyResponseCallback + ): void; + exportMetrics( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+analytics}:exportMetrics').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['analytics'], + pathParams: ['analytics'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Engines$Analytics$Exportmetrics + extends StandardParameters { + /** + * Required. The analytics resource name under the engine where the metrics are created. The format is `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/analytics`. + */ + analytics?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsRequest; + } + export class Resource$Projects$Locations$Collections$Engines$Assistants { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -42425,7 +42665,7 @@ export namespace discoveryengine_v1alpha { * // Do the magic * const res = * await discoveryengine.projects.locations.collections.engines.sessions.list({ - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -42760,7 +43000,7 @@ export namespace discoveryengine_v1alpha { export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** @@ -53909,7 +54149,7 @@ export namespace discoveryengine_v1alpha { * // Do the magic * const res = await discoveryengine.projects.locations.dataStores.sessions.list( * { - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -54243,7 +54483,7 @@ export namespace discoveryengine_v1alpha { export interface Params$Resource$Projects$Locations$Datastores$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** diff --git a/src/apis/discoveryengine/v1beta.ts b/src/apis/discoveryengine/v1beta.ts index 873008be71b..f5b5be137da 100644 --- a/src/apis/discoveryengine/v1beta.ts +++ b/src/apis/discoveryengine/v1beta.ts @@ -112,6 +112,7 @@ export namespace discoveryengine_v1beta { */ export class Discoveryengine { context: APIRequestContext; + media: Resource$Media; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable) { @@ -120,10 +121,342 @@ export namespace discoveryengine_v1beta { google, }; + this.media = new Resource$Media(this.context); this.projects = new Resource$Projects(this.context); } } + /** + * Information to read/write to blobstore2. + */ + export interface Schema$GdataBlobstore2Info { + /** + * The blob generation id. + */ + blobGeneration?: string | null; + /** + * The blob id, e.g., /blobstore/prod/playground/scotty + */ + blobId?: string | null; + /** + * Read handle passed from Bigstore -\> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads. + */ + downloadReadHandle?: string | null; + /** + * The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call. + */ + readToken?: string | null; + /** + * Metadata passed from Blobstore -\> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads. + */ + uploadMetadataContainer?: string | null; + } + /** + * A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. + */ + export interface Schema$GdataCompositeMedia { + /** + * Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef. + */ + blobRef?: string | null; + /** + * Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob. + */ + blobstore2Info?: Schema$GdataBlobstore2Info; + /** + * A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field. + */ + cosmoBinaryReference?: string | null; + /** + * crc32.c hash for the payload. + */ + crc32cHash?: number | null; + /** + * Media data, set if reference_type is INLINE + */ + inline?: string | null; + /** + * Size of the data, in bytes + */ + length?: string | null; + /** + * MD5 hash for the payload. + */ + md5Hash?: string | null; + /** + * Reference to a TI Blob, set if reference_type is BIGSTORE_REF. + */ + objectId?: Schema$GdataObjectId; + /** + * Path to the data, set if reference_type is PATH + */ + path?: string | null; + /** + * Describes what the field reference contains. + */ + referenceType?: string | null; + /** + * SHA-1 hash for the payload. + */ + sha1Hash?: string | null; + } + /** + * Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty. + */ + export interface Schema$GdataContentTypeInfo { + /** + * Scotty's best guess of what the content type of the file is. + */ + bestGuess?: string | null; + /** + * The content type of the file derived by looking at specific bytes (i.e. "magic bytes") of the actual file. + */ + fromBytes?: string | null; + /** + * The content type of the file derived from the file extension of the original file name used by the client. + */ + fromFileName?: string | null; + /** + * The content type of the file as specified in the request headers, multipart headers, or RUPIO start request. + */ + fromHeader?: string | null; + /** + * The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API). + */ + fromUrlPath?: string | null; + } + /** + * Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffChecksumsResponse { + /** + * Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol. + */ + checksumsLocation?: Schema$GdataCompositeMedia; + /** + * The chunk size of checksums. Must be a multiple of 256KB. + */ + chunkSizeBytes?: string | null; + /** + * If set, calculate the checksums based on the contents and return them to the caller. + */ + objectLocation?: Schema$GdataCompositeMedia; + /** + * The total size of the server object. + */ + objectSizeBytes?: string | null; + /** + * The object version of the object the checksums are being returned for. + */ + objectVersion?: string | null; + } + /** + * Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffDownloadResponse { + /** + * The original object location. + */ + objectLocation?: Schema$GdataCompositeMedia; + } + /** + * A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffUploadRequest { + /** + * The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol. + */ + checksumsInfo?: Schema$GdataCompositeMedia; + /** + * The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. + */ + objectInfo?: Schema$GdataCompositeMedia; + /** + * The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in. + */ + objectVersion?: string | null; + } + /** + * Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffUploadResponse { + /** + * The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload. + */ + objectVersion?: string | null; + /** + * The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification. + */ + originalObject?: Schema$GdataCompositeMedia; + } + /** + * Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. + */ + export interface Schema$GdataDiffVersionResponse { + /** + * The total size of the server object. + */ + objectSizeBytes?: string | null; + /** + * The version of the object stored at the server. + */ + objectVersion?: string | null; + } + /** + * Parameters specific to media downloads. + */ + export interface Schema$GdataDownloadParameters { + /** + * A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client. + */ + allowGzipCompression?: boolean | null; + /** + * Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty. + */ + ignoreRange?: boolean | null; + } + /** + * A reference to data stored on the filesystem, on GFS or in blobstore. + */ + export interface Schema$GdataMedia { + /** + * Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, "MD5" is the only possible value for this field. New values may be added at any time. + */ + algorithm?: string | null; + /** + * Use object_id instead. + */ + bigstoreObjectRef?: string | null; + /** + * Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef. + */ + blobRef?: string | null; + /** + * Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob. + */ + blobstore2Info?: Schema$GdataBlobstore2Info; + /** + * A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified. + */ + compositeMedia?: Schema$GdataCompositeMedia[]; + /** + * MIME type of the data + */ + contentType?: string | null; + /** + * Extended content type information provided for Scotty uploads. + */ + contentTypeInfo?: Schema$GdataContentTypeInfo; + /** + * A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field. + */ + cosmoBinaryReference?: string | null; + /** + * For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported. + */ + crc32cHash?: number | null; + /** + * Set if reference_type is DIFF_CHECKSUMS_RESPONSE. + */ + diffChecksumsResponse?: Schema$GdataDiffChecksumsResponse; + /** + * Set if reference_type is DIFF_DOWNLOAD_RESPONSE. + */ + diffDownloadResponse?: Schema$GdataDiffDownloadResponse; + /** + * Set if reference_type is DIFF_UPLOAD_REQUEST. + */ + diffUploadRequest?: Schema$GdataDiffUploadRequest; + /** + * Set if reference_type is DIFF_UPLOAD_RESPONSE. + */ + diffUploadResponse?: Schema$GdataDiffUploadResponse; + /** + * Set if reference_type is DIFF_VERSION_RESPONSE. + */ + diffVersionResponse?: Schema$GdataDiffVersionResponse; + /** + * Parameters for a media download. + */ + downloadParameters?: Schema$GdataDownloadParameters; + /** + * Original file name + */ + filename?: string | null; + /** + * Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media. + */ + hash?: string | null; + /** + * For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification. + */ + hashVerified?: boolean | null; + /** + * Media data, set if reference_type is INLINE + */ + inline?: string | null; + /** + * |is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence. + */ + isPotentialRetry?: boolean | null; + /** + * Size of the data, in bytes + */ + length?: string | null; + /** + * Scotty-provided MD5 hash for an upload. + */ + md5Hash?: string | null; + /** + * Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA. + */ + mediaId?: string | null; + /** + * Reference to a TI Blob, set if reference_type is BIGSTORE_REF. + */ + objectId?: Schema$GdataObjectId; + /** + * Path to the data, set if reference_type is PATH + */ + path?: string | null; + /** + * Describes what the field reference contains. + */ + referenceType?: string | null; + /** + * Scotty-provided SHA1 hash for an upload. + */ + sha1Hash?: string | null; + /** + * Scotty-provided SHA256 hash for an upload. + */ + sha256Hash?: string | null; + /** + * Time at which the media data was last updated, in milliseconds since UNIX epoch + */ + timestamp?: string | null; + /** + * A unique fingerprint/version id for the media data + */ + token?: string | null; + } + /** + * This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. + */ + export interface Schema$GdataObjectId { + /** + * The name of the bucket to which this object belongs. + */ + bucketName?: string | null; + /** + * Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions + */ + generation?: string | null; + /** + * The name of the object. + */ + objectName?: string | null; + } /** * `Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. */ @@ -2427,6 +2760,23 @@ export namespace discoveryengine_v1beta { */ sampleQuerySet?: string | null; } + /** + * Metadata related to the progress of the Export operation. This is returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Response of the ExportMetricsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaExportMetricsResponse {} /** * Configurations for fields of a schema. For example, configuring a field is indexable, or searchable. */ @@ -2814,7 +3164,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaListSessionsRequest { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string | null; /** @@ -3373,7 +3723,7 @@ export namespace discoveryengine_v1beta { */ languageCode?: string | null; /** - * If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. + * Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec; /** @@ -3808,6 +4158,10 @@ export namespace discoveryengine_v1beta { * Specification to enable natural language understanding capabilities for search requests. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec { + /** + * Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED. + */ + extractedFilterBehavior?: string | null; /** * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ @@ -9377,7 +9731,7 @@ export namespace discoveryengine_v1beta { */ languageCode?: string | null; /** - * If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. + * Config for natural language query understanding capabilities, such as extracting structured field filters from the query. Refer to [this documentation](https://cloud.google.com/generative-ai-app-builder/docs/natural-language-queries) for more information. If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done. */ naturalLanguageQueryUnderstandingSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec; /** @@ -9808,6 +10162,10 @@ export namespace discoveryengine_v1beta { * Specification to enable natural language understanding capabilities for search requests. */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec { + /** + * Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition is set to FilterExtractionCondition.ENABLED. + */ + extractedFilterBehavior?: string | null; /** * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ @@ -13144,6 +13502,198 @@ export namespace discoveryengine_v1beta { version?: string | null; } + export class Resource$Media { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Downloads a file from the session. + * @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'], + * }); + * + * // Acquire an 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.media.download({ + * // Required. The ID of the file to be downloaded. + * fileId: 'placeholder-value', + * // Required. The resource name of the Session. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/sessions/{session\}` + * name: 'projects/my-project/locations/my-location/collections/my-collection/engines/my-engine/sessions/my-session', + * // Optional. The ID of the view to be downloaded. + * viewId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "algorithm": "my_algorithm", + * // "bigstoreObjectRef": "my_bigstoreObjectRef", + * // "blobRef": "my_blobRef", + * // "blobstore2Info": {}, + * // "compositeMedia": [], + * // "contentType": "my_contentType", + * // "contentTypeInfo": {}, + * // "cosmoBinaryReference": "my_cosmoBinaryReference", + * // "crc32cHash": 0, + * // "diffChecksumsResponse": {}, + * // "diffDownloadResponse": {}, + * // "diffUploadRequest": {}, + * // "diffUploadResponse": {}, + * // "diffVersionResponse": {}, + * // "downloadParameters": {}, + * // "filename": "my_filename", + * // "hash": "my_hash", + * // "hashVerified": false, + * // "inline": "my_inline", + * // "isPotentialRetry": false, + * // "length": "my_length", + * // "md5Hash": "my_md5Hash", + * // "mediaId": "my_mediaId", + * // "objectId": {}, + * // "path": "my_path", + * // "referenceType": "my_referenceType", + * // "sha1Hash": "my_sha1Hash", + * // "sha256Hash": "my_sha256Hash", + * // "timestamp": "my_timestamp", + * // "token": "my_token" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + download( + params: Params$Resource$Media$Download, + options: StreamMethodOptions + ): Promise>; + download( + params?: Params$Resource$Media$Download, + options?: MethodOptions + ): Promise>; + download( + params: Params$Resource$Media$Download, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + download( + params: Params$Resource$Media$Download, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + download( + params: Params$Resource$Media$Download, + callback: BodyResponseCallback + ): void; + download(callback: BodyResponseCallback): void; + download( + paramsOrCallback?: + | Params$Resource$Media$Download + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Media$Download; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Media$Download; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:downloadFile').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$Media$Download extends StandardParameters { + /** + * Required. The ID of the file to be downloaded. + */ + fileId?: string; + /** + * Required. The resource name of the Session. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/sessions/{session\}` + */ + name?: string; + /** + * Optional. The ID of the view to be downloaded. + */ + viewId?: string; + } + export class Resource$Projects { context: APIRequestContext; locations: Resource$Projects$Locations; @@ -25330,7 +25880,7 @@ export namespace discoveryengine_v1beta { * const res = * await discoveryengine.projects.locations.collections.dataStores.sessions.list( * { - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -25666,7 +26216,7 @@ export namespace discoveryengine_v1beta { export interface Params$Resource$Projects$Locations$Collections$Datastores$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** @@ -36761,7 +37311,7 @@ export namespace discoveryengine_v1beta { * // Do the magic * const res = * await discoveryengine.projects.locations.collections.engines.sessions.list({ - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -37096,7 +37646,7 @@ export namespace discoveryengine_v1beta { export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** @@ -46956,7 +47506,7 @@ export namespace discoveryengine_v1beta { * // Do the magic * const res = await discoveryengine.projects.locations.dataStores.sessions.list( * { - * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * // A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` * filter: 'placeholder-value', * // A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. * orderBy: 'placeholder-value', @@ -47290,7 +47840,7 @@ export namespace discoveryengine_v1beta { export interface Params$Resource$Projects$Locations$Datastores$Sessions$List extends StandardParameters { /** - * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: "user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "is_pinned=true AND (NOT labels:hidden)" "create_time \> \"1970-01-01T12:00:00Z\"" + * A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time \> "1970-01-01T12:00:00Z"` */ filter?: string; /** From a043fd76fc183441550581f06ac5c15416b60013 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:35 +0000 Subject: [PATCH 16/37] feat(displayvideo): update the API #### displayvideo:v2 The following keys were added: - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.flatPath - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.httpMethod - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.id - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameterOrder - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.format - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.pattern - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.required - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.format - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.pattern - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.required - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.filter.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.filter.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.filter.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.orderBy.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.orderBy.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.orderBy.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageSize.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageSize.format - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageSize.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageSize.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageToken.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageToken.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageToken.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.path - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.response.$ref - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.scopes - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.flatPath - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.httpMethod - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.id - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameterOrder - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.enum - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.enumDescriptions - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.path - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.response.$ref - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.scopes - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.flatPath - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.httpMethod - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.id - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameterOrder - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.enum - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.enumDescriptions - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.path - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.response.$ref - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.scopes - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.flatPath - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.httpMethod - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.id - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameterOrder - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.filter.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.filter.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.filter.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.orderBy.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.orderBy.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.orderBy.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageSize.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageSize.format - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageSize.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageSize.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageToken.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageToken.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageToken.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.path - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.response.$ref - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.scopes - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.flatPath - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.httpMethod - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.id - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameterOrder - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.enum - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.enumDescriptions - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.path - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.request.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.response.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.scopes - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.flatPath - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.httpMethod - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.id - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameterOrder - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.enum - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.enumDescriptions - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.path - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.response.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.scopes - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.flatPath - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.httpMethod - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.id - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameterOrder - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.enum - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.enumDescriptions - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.path - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.response.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.scopes - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.flatPath - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.httpMethod - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.id - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameterOrder - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.enum - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.enumDescriptions - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.path - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.response.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.scopes - schemas.BulkListCampaignAssignedTargetingOptionsResponse.id - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.description - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.items.$ref - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.type - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.nextPageToken.description - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.nextPageToken.type - schemas.BulkListCampaignAssignedTargetingOptionsResponse.type - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.id - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.description - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.items.$ref - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.type - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.nextPageToken.description - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.nextPageToken.type - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.type - schemas.ListCampaignAssignedTargetingOptionsResponse.description - schemas.ListCampaignAssignedTargetingOptionsResponse.id - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.description - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.items.$ref - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.type - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.nextPageToken.description - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.nextPageToken.type - schemas.ListCampaignAssignedTargetingOptionsResponse.type - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.id - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.description - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.items.$ref - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.type - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.nextPageToken.description - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.nextPageToken.type - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.type The following keys were changed: - schemas.CreateSdfDownloadTaskRequest.properties.version.enumDeprecated - schemas.SdfConfig.properties.version.enumDeprecated - schemas.SdfDownloadTaskMetadata.properties.version.enumDeprecated #### displayvideo:v3 The following keys were changed: - schemas.CreateSdfDownloadTaskRequest.properties.version.enumDeprecated - schemas.SdfConfig.properties.version.enumDeprecated - schemas.SdfDownloadTaskMetadata.properties.version.enumDeprecated #### displayvideo:v4 The following keys were added: - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.flatPath - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.httpMethod - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.id - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameterOrder - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.format - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.pattern - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.required - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.advertiserId.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.format - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.pattern - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.required - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.campaignId.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.filter.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.filter.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.filter.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.orderBy.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.orderBy.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.orderBy.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageSize.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageSize.format - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageSize.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageSize.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageToken.description - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageToken.location - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.parameters.pageToken.type - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.path - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.response.$ref - resources.advertisers.resources.campaigns.methods.listAssignedTargetingOptions.scopes - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.flatPath - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.httpMethod - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.id - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameterOrder - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.campaignId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.enum - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.enumDescriptions - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.path - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.response.$ref - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.scopes - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.flatPath - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.httpMethod - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.id - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameterOrder - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.campaignId.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.format - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.description - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.enum - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.enumDescriptions - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.location - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.pattern - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.required - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.type - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.path - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.response.$ref - resources.advertisers.resources.campaigns.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.scopes - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.flatPath - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.httpMethod - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.id - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameterOrder - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.filter.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.filter.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.filter.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.orderBy.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.orderBy.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.orderBy.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageSize.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageSize.format - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageSize.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageSize.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageToken.description - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageToken.location - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.parameters.pageToken.type - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.path - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.response.$ref - resources.advertisers.resources.insertionOrders.methods.listAssignedTargetingOptions.scopes - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.flatPath - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.httpMethod - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.id - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameterOrder - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.enum - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.enumDescriptions - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.parameters.targetingType.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.path - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.request.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.response.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.create.scopes - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.flatPath - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.httpMethod - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.id - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameterOrder - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.assignedTargetingOptionId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.enum - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.enumDescriptions - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.parameters.targetingType.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.path - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.response.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.delete.scopes - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.flatPath - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.httpMethod - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.id - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameterOrder - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.assignedTargetingOptionId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.enum - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.enumDescriptions - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.parameters.targetingType.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.path - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.response.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.get.scopes - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.flatPath - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.httpMethod - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.id - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameterOrder - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.advertiserId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.filter.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.insertionOrderId.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.orderBy.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.format - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageSize.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.pageToken.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.description - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.enum - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.enumDescriptions - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.location - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.pattern - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.required - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.parameters.targetingType.type - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.path - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.response.$ref - resources.advertisers.resources.insertionOrders.resources.targetingTypes.resources.assignedTargetingOptions.methods.list.scopes - schemas.BulkListCampaignAssignedTargetingOptionsResponse.id - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.description - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.items.$ref - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.type - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.nextPageToken.description - schemas.BulkListCampaignAssignedTargetingOptionsResponse.properties.nextPageToken.type - schemas.BulkListCampaignAssignedTargetingOptionsResponse.type - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.id - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.description - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.items.$ref - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.type - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.nextPageToken.description - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.properties.nextPageToken.type - schemas.BulkListInsertionOrderAssignedTargetingOptionsResponse.type - schemas.ListCampaignAssignedTargetingOptionsResponse.description - schemas.ListCampaignAssignedTargetingOptionsResponse.id - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.description - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.items.$ref - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.type - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.nextPageToken.description - schemas.ListCampaignAssignedTargetingOptionsResponse.properties.nextPageToken.type - schemas.ListCampaignAssignedTargetingOptionsResponse.type - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.id - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.description - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.items.$ref - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.assignedTargetingOptions.type - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.nextPageToken.description - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.properties.nextPageToken.type - schemas.ListInsertionOrderAssignedTargetingOptionsResponse.type The following keys were changed: - schemas.CreateSdfDownloadTaskRequest.properties.version.enumDeprecated - schemas.SdfConfig.properties.version.enumDeprecated - schemas.SdfDownloadTaskMetadata.properties.version.enumDeprecated --- discovery/displayvideo-v2.json | 2366 ++++++++++++----- discovery/displayvideo-v3.json | 8 +- discovery/displayvideo-v4.json | 2374 ++++++++++++----- src/apis/displayvideo/v2.ts | 4433 +++++++++++++++++++++---------- src/apis/displayvideo/v4.ts | 4437 ++++++++++++++++++++++---------- 5 files changed, 9728 insertions(+), 3890 deletions(-) diff --git a/discovery/displayvideo-v2.json b/discovery/displayvideo-v2.json index 5d68a6291cb..02ec05c70f4 100644 --- a/discovery/displayvideo-v2.json +++ b/discovery/displayvideo-v2.json @@ -571,18 +571,18 @@ "https://www.googleapis.com/auth/display-video-mediaplanning" ] }, - "patch": { - "description": "Updates an existing campaign. Returns the updated campaign if successful.", - "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}", - "httpMethod": "PATCH", - "id": "displayvideo.advertisers.campaigns.patch", + "listAssignedTargetingOptions": { + "description": "Lists assigned targeting options of a campaign across targeting types.", + "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}:listAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.listAssignedTargetingOptions", "parameterOrder": [ "advertiserId", "campaignId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "description": "Required. The ID of the advertiser the campaign belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", @@ -590,123 +590,7 @@ "type": "string" }, "campaignId": { - "description": "Output only. The unique ID of the campaign. Assigned by the system.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The mask to control which fields to update.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}", - "request": { - "$ref": "Campaign" - }, - "response": { - "$ref": "Campaign" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video", - "https://www.googleapis.com/auth/display-video-mediaplanning" - ] - } - } - }, - "channels": { - "methods": { - "create": { - "description": "Creates a new channel. Returns the newly created channel if successful.", - "flatPath": "v2/advertisers/{advertisersId}/channels", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.create", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the created channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the created channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/channels", - "request": { - "$ref": "Channel" - }, - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "get": { - "description": "Gets a channel for a partner or advertiser.", - "flatPath": "v2/advertisers/{advertisersId}/channels/{channelsId}", - "httpMethod": "GET", - "id": "displayvideo.advertisers.channels.get", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the fetched channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the channel to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the fetched channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/channels/{+channelId}", - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists channels for a partner or advertiser.", - "flatPath": "v2/advertisers/{advertisersId}/channels", - "httpMethod": "GET", - "id": "displayvideo.advertisers.channels.list", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the channels.", + "description": "Required. The ID of the campaign to list assigned targeting options for.", "format": "int64", "location": "path", "pattern": "^[^/]+$", @@ -714,72 +598,61 @@ "type": "string" }, "filter": { - "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: `targetingType=\"TARGETING_TYPE_LANGUAGE\" OR targetingType=\"TARGETING_TYPE_GENDER\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", "location": "query", "type": "string" }, "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`.", + "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", "location": "query", "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the channels.", - "format": "int64", + "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", "location": "query", "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/channels", + "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions", "response": { - "$ref": "ListChannelsResponse" + "$ref": "BulkListCampaignAssignedTargetingOptionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, "patch": { - "description": "Updates a channel. Returns the updated channel if successful.", - "flatPath": "v2/advertisers/{advertisersId}/channels/{channelId}", + "description": "Updates an existing campaign. Returns the updated campaign if successful.", + "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}", "httpMethod": "PATCH", - "id": "displayvideo.advertisers.channels.patch", + "id": "displayvideo.advertisers.campaigns.patch", "parameterOrder": [ "advertiserId", - "channelId" + "campaignId" ], "parameters": { "advertiserId": { - "description": "The ID of the advertiser that owns the created channel.", + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "channelId": { - "description": "Output only. The unique ID of the channel. Assigned by the system.", + "campaignId": { + "description": "Output only. The unique ID of the campaign. Assigned by the system.", "format": "int64", "location": "path", + "pattern": "^[^/]+$", "required": true, "type": "string" }, - "partnerId": { - "description": "The ID of the partner that owns the created channel.", - "format": "int64", - "location": "query", - "type": "string" - }, "updateMask": { "description": "Required. The mask to control which fields to update.", "format": "google-fieldmask", @@ -787,377 +660,451 @@ "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/channels/{channelId}", + "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}", "request": { - "$ref": "Channel" + "$ref": "Campaign" }, "response": { - "$ref": "Channel" + "$ref": "Campaign" }, "scopes": [ - "https://www.googleapis.com/auth/display-video" + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" ] } }, "resources": { - "sites": { - "methods": { - "bulkEdit": { - "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", - "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.sites.bulkEdit", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel to which the sites belong.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit", - "request": { - "$ref": "BulkEditSitesRequest" - }, - "response": { - "$ref": "BulkEditSitesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "create": { - "description": "Creates a site in a channel.", - "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.sites.create", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel in which the site will be created.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the parent channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites", - "request": { - "$ref": "Site" - }, - "response": { - "$ref": "Site" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "delete": { - "description": "Deletes a site from a channel.", - "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}", - "httpMethod": "DELETE", - "id": "displayvideo.advertisers.channels.sites.delete", - "parameterOrder": [ - "advertiserId", - "channelId", - "urlOrAppId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel to which the site belongs.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the parent channel.", - "format": "int64", - "location": "query", - "type": "string" - }, - "urlOrAppId": { - "description": "Required. The URL or app ID of the site to delete.", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists sites in a channel.", - "flatPath": "v2/advertisers/{advertisersId}/channels/{channelsId}/sites", - "httpMethod": "GET", - "id": "displayvideo.advertisers.channels.sites.list", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel to which the requested sites belong.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "filter": { - "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "get": { + "description": "Gets a single targeting option assigned to a campaign.", + "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "campaignId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] }, - "partnerId": { - "description": "The ID of the partner that owns the parent channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/channels/{+channelId}/sites", - "response": { - "$ref": "ListSitesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "replace": { - "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", - "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites:replace", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.sites.replace", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel whose sites will be replaced.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" + "list": { + "description": "Lists the targeting options assigned to a campaign for a specified targeting type.", + "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "campaignId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListCampaignAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] } - }, - "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:replace", - "request": { - "$ref": "ReplaceSitesRequest" - }, - "response": { - "$ref": "ReplaceSitesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] + } } } } } }, - "creatives": { + "channels": { "methods": { "create": { - "description": "Creates a new creative. Returns the newly created creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", - "flatPath": "v2/advertisers/{advertisersId}/creatives", + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v2/advertisers/{advertisersId}/channels", "httpMethod": "POST", - "id": "displayvideo.advertisers.creatives.create", + "id": "displayvideo.advertisers.channels.create", "parameterOrder": [ "advertiserId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "description": "The ID of the advertiser that owns the created channel.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/creatives", + "path": "v2/advertisers/{+advertiserId}/channels", "request": { - "$ref": "Creative" + "$ref": "Channel" }, "response": { - "$ref": "Creative" + "$ref": "Channel" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, - "delete": { - "description": "Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", - "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}", - "httpMethod": "DELETE", - "id": "displayvideo.advertisers.creatives.delete", + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v2/advertisers/{advertisersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.get", "parameterOrder": [ "advertiserId", - "creativeId" + "channelId" ], "parameters": { "advertiserId": { - "description": "The ID of the advertiser this creative belongs to.", + "description": "The ID of the advertiser that owns the fetched channel.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "creativeId": { - "description": "The ID of the creative to be deleted.", + "channelId": { + "description": "Required. The ID of the channel to fetch.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}", + "path": "v2/advertisers/{+advertiserId}/channels/{+channelId}", "response": { - "$ref": "Empty" + "$ref": "Channel" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, - "get": { - "description": "Gets a creative.", - "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}", + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v2/advertisers/{advertisersId}/channels", "httpMethod": "GET", - "id": "displayvideo.advertisers.creatives.get", + "id": "displayvideo.advertisers.channels.list", "parameterOrder": [ - "advertiserId", - "creativeId" + "advertiserId" ], "parameters": { "advertiserId": { - "description": "Required. The ID of the advertiser this creative belongs to.", + "description": "The ID of the advertiser that owns the channels.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "creativeId": { - "description": "Required. The ID of the creative to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}", - "response": { - "$ref": "Creative" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", - "flatPath": "v2/advertisers/{advertisersId}/creatives", - "httpMethod": "GET", - "id": "displayvideo.advertisers.creatives.list", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser to list creatives for.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "filter": { - "description": "Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\" OR dimensions=\"50x100\")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic=\"true\" AND minDuration=\"5.2s\" AND (exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\" OR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")` * All video creatives that are associated with line item ID 1 or 2: `creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", + "filter": { + "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", "type": "string" }, "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `createTime desc`.", + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`.", "location": "query", "type": "string" }, @@ -1168,45 +1115,56 @@ "type": "integer" }, "pageToken": { - "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned.", + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", "location": "query", "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/creatives", + "path": "v2/advertisers/{+advertiserId}/channels", "response": { - "$ref": "ListCreativesResponse" + "$ref": "ListChannelsResponse" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, "patch": { - "description": "Updates an existing creative. Returns the updated creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", - "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}", + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v2/advertisers/{advertisersId}/channels/{channelId}", "httpMethod": "PATCH", - "id": "displayvideo.advertisers.creatives.patch", + "id": "displayvideo.advertisers.channels.patch", "parameterOrder": [ "advertiserId", - "creativeId" + "channelId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "description": "The ID of the advertiser that owns the created channel.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "creativeId": { - "description": "Output only. The unique ID of the creative. Assigned by the system.", + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", "format": "int64", "location": "path", - "pattern": "^[^/]+$", "required": true, "type": "string" }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, "updateMask": { "description": "Required. The mask to control which fields to update.", "format": "google-fieldmask", @@ -1214,210 +1172,1323 @@ "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}", + "path": "v2/advertisers/{+advertiserId}/channels/{channelId}", "request": { - "$ref": "Creative" + "$ref": "Channel" }, "response": { - "$ref": "Creative" + "$ref": "Channel" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] } - } - }, - "insertionOrders": { - "methods": { - "create": { - "description": "Creates a new insertion order. Returns the newly created insertion order if successful.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders", - "httpMethod": "POST", - "id": "displayvideo.advertisers.insertionOrders.create", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders", - "request": { - "$ref": "InsertionOrder" - }, - "response": { - "$ref": "InsertionOrder" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "delete": { - "description": "Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", - "httpMethod": "DELETE", - "id": "displayvideo.advertisers.insertionOrders.delete", - "parameterOrder": [ - "advertiserId", - "insertionOrderId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser this insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" + }, + "resources": { + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", + "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.bulkEdit", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit", + "request": { + "$ref": "BulkEditSitesRequest" + }, + "response": { + "$ref": "BulkEditSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] }, - "insertionOrderId": { - "description": "The ID of the insertion order to delete.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "get": { - "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", - "httpMethod": "GET", - "id": "displayvideo.advertisers.insertionOrders.get", - "parameterOrder": [ - "advertiserId", - "insertionOrderId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser this insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" + "create": { + "description": "Creates a site in a channel.", + "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.create", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel in which the site will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] }, - "insertionOrderId": { - "description": "Required. The ID of the insertion order to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", - "response": { - "$ref": "InsertionOrder" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders", - "httpMethod": "GET", - "id": "displayvideo.advertisers.insertionOrders.list", + "delete": { + "description": "Deletes a site from a channel.", + "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.channels.sites.delete", + "parameterOrder": [ + "advertiserId", + "channelId", + "urlOrAppId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the site belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists sites in a channel.", + "flatPath": "v2/advertisers/{advertisersId}/channels/{channelsId}/sites", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.sites.list", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the requested sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/channels/{+channelId}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "replace": { + "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", + "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites:replace", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.replace", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel whose sites will be replaced.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:replace", + "request": { + "$ref": "ReplaceSitesRequest" + }, + "response": { + "$ref": "ReplaceSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "creatives": { + "methods": { + "create": { + "description": "Creates a new creative. Returns the newly created creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v2/advertisers/{advertisersId}/creatives", + "httpMethod": "POST", + "id": "displayvideo.advertisers.creatives.create", "parameterOrder": [ "advertiserId" ], "parameters": { "advertiserId": { - "description": "Required. The ID of the advertiser to list insertion orders for.", + "description": "Output only. The unique ID of the advertiser the creative belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" - }, - "filter": { - "description": "Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<=\"2020-11-04T18:54:47Z\"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * \"displayName\" (default) * \"entityStatus\" * \"updateTime\" The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", - "location": "query", + } + }, + "path": "v2/advertisers/{+advertiserId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.creatives.delete", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, "type": "string" }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned.", - "location": "query", + "creativeId": { + "description": "The ID of the creative to be deleted.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, "type": "string" } }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders", + "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}", "response": { - "$ref": "ListInsertionOrdersResponse" + "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, - "patch": { - "description": "Updates an existing insertion order. Returns the updated insertion order if successful.", - "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", - "httpMethod": "PATCH", - "id": "displayvideo.advertisers.insertionOrders.patch", + "get": { + "description": "Gets a creative.", + "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.get", "parameterOrder": [ "advertiserId", - "insertionOrderId" + "creativeId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "description": "Required. The ID of the advertiser this creative belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "insertionOrderId": { - "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "creativeId": { + "description": "Required. The ID of the creative to fetch.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" - }, - "updateMask": { - "description": "Required. The mask to control which fields to update.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } - }, - "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", - "request": { - "$ref": "InsertionOrder" - }, - "response": { - "$ref": "InsertionOrder" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] + }, + "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}", + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v2/advertisers/{advertisersId}/creatives", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list creatives for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\" OR dimensions=\"50x100\")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic=\"true\" AND minDuration=\"5.2s\" AND (exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\" OR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")` * All video creatives that are associated with line item ID 1 or 2: `creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `createTime desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/creatives", + "response": { + "$ref": "ListCreativesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing creative. Returns the updated creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.creatives.patch", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "Output only. The unique ID of the creative. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "insertionOrders": { + "methods": { + "create": { + "description": "Creates a new insertion order. Returns the newly created insertion order if successful.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "POST", + "id": "displayvideo.advertisers.insertionOrders.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.insertionOrders.delete", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "The ID of the insertion order to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.get", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list insertion orders for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<=\"2020-11-04T18:54:47Z\"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * \"displayName\" (default) * \"entityStatus\" * \"updateTime\" The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders", + "response": { + "$ref": "ListInsertionOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "listAssignedTargetingOptions": { + "description": "Lists assigned targeting options of an insertion order across targeting types.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}:listAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions", + "response": { + "$ref": "BulkListInsertionOrderAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing insertion order. Returns the updated insertion order if successful.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.insertionOrders.patch", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to an insertion order. Returns the assigned targeting option if successful. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option will belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from an insertion order. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to an insertion order.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to an insertion order.", + "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListInsertionOrderAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } } } }, @@ -8010,7 +9081,7 @@ } } }, - "revision": "20250709", + "revision": "20250729", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -9744,6 +10815,40 @@ }, "type": "object" }, + "BulkListCampaignAssignedTargetingOptionsResponse": { + "id": "BulkListCampaignAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListInsertionOrderAssignedTargetingOptionsResponse": { + "id": "BulkListInsertionOrderAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, "BulkUpdateLineItemsRequest": { "description": "Request message for LineItemService.BulkUpdateLineItems.", "id": "BulkUpdateLineItemsRequest", @@ -10965,7 +12070,7 @@ true, true, true, - false, + true, false, false, false, @@ -16021,6 +17126,24 @@ }, "type": "object" }, + "ListCampaignAssignedTargetingOptionsResponse": { + "description": "Response message for ListCampaignAssignedTargetingOptions.", + "id": "ListCampaignAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, "ListCampaignsResponse": { "id": "ListCampaignsResponse", "properties": { @@ -16191,6 +17314,23 @@ }, "type": "object" }, + "ListInsertionOrderAssignedTargetingOptionsResponse": { + "id": "ListInsertionOrderAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, "ListInsertionOrdersResponse": { "id": "ListInsertionOrdersResponse", "properties": { @@ -18216,7 +19356,7 @@ true, true, true, - false, + true, false, false, false, @@ -18302,7 +19442,7 @@ true, true, true, - false, + true, false, false, false, diff --git a/discovery/displayvideo-v3.json b/discovery/displayvideo-v3.json index 18cacb72437..a3350b85b54 100644 --- a/discovery/displayvideo-v3.json +++ b/discovery/displayvideo-v3.json @@ -9268,7 +9268,7 @@ } } }, - "revision": "20250709", + "revision": "20250729", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -13523,7 +13523,7 @@ true, true, true, - false, + true, false, false, false, @@ -21389,7 +21389,7 @@ true, true, true, - false, + true, false, false, false, @@ -21475,7 +21475,7 @@ true, true, true, - false, + true, false, false, false, diff --git a/discovery/displayvideo-v4.json b/discovery/displayvideo-v4.json index 5c28bbc21c5..f34a4042656 100644 --- a/discovery/displayvideo-v4.json +++ b/discovery/displayvideo-v4.json @@ -1130,18 +1130,18 @@ "https://www.googleapis.com/auth/display-video-mediaplanning" ] }, - "patch": { - "description": "Updates an existing campaign. Returns the updated campaign if successful.", - "flatPath": "v4/advertisers/{advertisersId}/campaigns/{campaignsId}", - "httpMethod": "PATCH", - "id": "displayvideo.advertisers.campaigns.patch", + "listAssignedTargetingOptions": { + "description": "Lists assigned targeting options of a campaign across targeting types.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns/{campaignsId}:listAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.listAssignedTargetingOptions", "parameterOrder": [ "advertiserId", "campaignId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "description": "Required. The ID of the advertiser the campaign belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", @@ -1149,123 +1149,7 @@ "type": "string" }, "campaignId": { - "description": "Output only. The unique ID of the campaign. Assigned by the system.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The mask to control which fields to update.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v4/advertisers/{+advertiserId}/campaigns/{+campaignId}", - "request": { - "$ref": "Campaign" - }, - "response": { - "$ref": "Campaign" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video", - "https://www.googleapis.com/auth/display-video-mediaplanning" - ] - } - } - }, - "channels": { - "methods": { - "create": { - "description": "Creates a new channel. Returns the newly created channel if successful.", - "flatPath": "v4/advertisers/{advertisersId}/channels", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.create", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the created channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the created channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v4/advertisers/{+advertiserId}/channels", - "request": { - "$ref": "Channel" - }, - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "get": { - "description": "Gets a channel for a partner or advertiser.", - "flatPath": "v4/advertisers/{advertisersId}/channels/{channelsId}", - "httpMethod": "GET", - "id": "displayvideo.advertisers.channels.get", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the fetched channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the channel to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the fetched channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v4/advertisers/{+advertiserId}/channels/{+channelId}", - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists channels for a partner or advertiser.", - "flatPath": "v4/advertisers/{advertisersId}/channels", - "httpMethod": "GET", - "id": "displayvideo.advertisers.channels.list", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the channels.", + "description": "Required. The ID of the campaign to list assigned targeting options for.", "format": "int64", "location": "path", "pattern": "^[^/]+$", @@ -1273,72 +1157,61 @@ "type": "string" }, "filter": { - "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: `targetingType=\"TARGETING_TYPE_LANGUAGE\" OR targetingType=\"TARGETING_TYPE_GENDER\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", "location": "query", "type": "string" }, "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`.", + "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", "location": "query", "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the channels.", - "format": "int64", + "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", "location": "query", "type": "string" } }, - "path": "v4/advertisers/{+advertiserId}/channels", + "path": "v4/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions", "response": { - "$ref": "ListChannelsResponse" + "$ref": "BulkListCampaignAssignedTargetingOptionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, "patch": { - "description": "Updates a channel. Returns the updated channel if successful.", - "flatPath": "v4/advertisers/{advertisersId}/channels/{channelId}", + "description": "Updates an existing campaign. Returns the updated campaign if successful.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns/{campaignsId}", "httpMethod": "PATCH", - "id": "displayvideo.advertisers.channels.patch", + "id": "displayvideo.advertisers.campaigns.patch", "parameterOrder": [ "advertiserId", - "channelId" + "campaignId" ], "parameters": { "advertiserId": { - "description": "The ID of the advertiser that owns the created channel.", + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "channelId": { - "description": "Output only. The unique ID of the channel. Assigned by the system.", + "campaignId": { + "description": "Output only. The unique ID of the campaign. Assigned by the system.", "format": "int64", "location": "path", + "pattern": "^[^/]+$", "required": true, "type": "string" }, - "partnerId": { - "description": "The ID of the partner that owns the created channel.", - "format": "int64", - "location": "query", - "type": "string" - }, "updateMask": { "description": "Required. The mask to control which fields to update.", "format": "google-fieldmask", @@ -1346,364 +1219,442 @@ "type": "string" } }, - "path": "v4/advertisers/{+advertiserId}/channels/{channelId}", + "path": "v4/advertisers/{+advertiserId}/campaigns/{+campaignId}", "request": { - "$ref": "Channel" + "$ref": "Campaign" }, "response": { - "$ref": "Channel" + "$ref": "Campaign" }, "scopes": [ - "https://www.googleapis.com/auth/display-video" + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" ] } }, "resources": { - "sites": { - "methods": { - "bulkEdit": { - "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", - "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.sites.bulkEdit", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel to which the sites belong.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit", - "request": { - "$ref": "BulkEditSitesRequest" - }, - "response": { - "$ref": "BulkEditSitesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "create": { - "description": "Creates a site in a channel.", - "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.sites.create", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel in which the site will be created.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the parent channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites", - "request": { - "$ref": "Site" - }, - "response": { - "$ref": "Site" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "delete": { - "description": "Deletes a site from a channel.", - "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}", - "httpMethod": "DELETE", - "id": "displayvideo.advertisers.channels.sites.delete", - "parameterOrder": [ - "advertiserId", - "channelId", - "urlOrAppId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel to which the site belongs.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "partnerId": { - "description": "The ID of the partner that owns the parent channel.", - "format": "int64", - "location": "query", - "type": "string" - }, - "urlOrAppId": { - "description": "Required. The URL or app ID of the site to delete.", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists sites in a channel.", - "flatPath": "v4/advertisers/{advertisersId}/channels/{channelsId}/sites", - "httpMethod": "GET", - "id": "displayvideo.advertisers.channels.sites.list", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel to which the requested sites belong.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "filter": { - "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.", - "location": "query", - "type": "string" + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "get": { + "description": "Gets a single targeting option assigned to a campaign.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "campaignId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION", + "TARGETING_TYPE_CONTENT_THEME_EXCLUSION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] }, - "partnerId": { - "description": "The ID of the partner that owns the parent channel.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "v4/advertisers/{+advertiserId}/channels/{+channelId}/sites", - "response": { - "$ref": "ListSitesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "replace": { - "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", - "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites:replace", - "httpMethod": "POST", - "id": "displayvideo.advertisers.channels.sites.replace", - "parameterOrder": [ - "advertiserId", - "channelId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser that owns the parent channel.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - }, - "channelId": { - "description": "Required. The ID of the parent channel whose sites will be replaced.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" + "list": { + "description": "Lists the targeting options assigned to a campaign for a specified targeting type.", + "flatPath": "v4/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "campaignId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION", + "TARGETING_TYPE_CONTENT_THEME_EXCLUSION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListCampaignAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] } - }, - "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites:replace", - "request": { - "$ref": "ReplaceSitesRequest" - }, - "response": { - "$ref": "ReplaceSitesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] + } } } } } }, - "creatives": { + "channels": { "methods": { "create": { - "description": "Creates a new creative. Returns the newly created creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", - "flatPath": "v4/advertisers/{advertisersId}/creatives", + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v4/advertisers/{advertisersId}/channels", "httpMethod": "POST", - "id": "displayvideo.advertisers.creatives.create", + "id": "displayvideo.advertisers.channels.create", "parameterOrder": [ "advertiserId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "description": "The ID of the advertiser that owns the created channel.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "v4/advertisers/{+advertiserId}/creatives", + "path": "v4/advertisers/{+advertiserId}/channels", "request": { - "$ref": "Creative" + "$ref": "Channel" }, "response": { - "$ref": "Creative" + "$ref": "Channel" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, - "delete": { - "description": "Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", - "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", - "httpMethod": "DELETE", - "id": "displayvideo.advertisers.creatives.delete", + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v4/advertisers/{advertisersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.get", "parameterOrder": [ "advertiserId", - "creativeId" + "channelId" ], "parameters": { "advertiserId": { - "description": "The ID of the advertiser this creative belongs to.", + "description": "The ID of the advertiser that owns the fetched channel.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "creativeId": { - "description": "The ID of the creative to be deleted.", + "channelId": { + "description": "Required. The ID of the channel to fetch.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", + "path": "v4/advertisers/{+advertiserId}/channels/{+channelId}", "response": { - "$ref": "Empty" + "$ref": "Channel" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, - "get": { - "description": "Gets a creative.", - "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v4/advertisers/{advertisersId}/channels", "httpMethod": "GET", - "id": "displayvideo.advertisers.creatives.get", + "id": "displayvideo.advertisers.channels.list", "parameterOrder": [ - "advertiserId", - "creativeId" + "advertiserId" ], "parameters": { "advertiserId": { - "description": "Required. The ID of the advertiser this creative belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - }, - "creativeId": { - "description": "Required. The ID of the creative to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", - "response": { - "$ref": "Creative" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", - "flatPath": "v4/advertisers/{advertisersId}/creatives", - "httpMethod": "GET", - "id": "displayvideo.advertisers.creatives.list", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser to list creatives for.", + "description": "The ID of the advertiser that owns the channels.", "format": "int64", "location": "path", "pattern": "^[^/]+$", @@ -1711,12 +1662,12 @@ "type": "string" }, "filter": { - "description": "Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\" OR dimensions=\"50x100\")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic=\"true\" AND minDuration=\"5.2s\" AND (exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\" OR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")` * All video creatives that are associated with line item ID 1 or 2: `creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", "location": "query", "type": "string" }, "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `createTime desc`.", + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`.", "location": "query", "type": "string" }, @@ -1727,45 +1678,56 @@ "type": "integer" }, "pageToken": { - "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned.", + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", "location": "query", "type": "string" } }, - "path": "v4/advertisers/{+advertiserId}/creatives", + "path": "v4/advertisers/{+advertiserId}/channels", "response": { - "$ref": "ListCreativesResponse" + "$ref": "ListChannelsResponse" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, "patch": { - "description": "Updates an existing creative. Returns the updated creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", - "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v4/advertisers/{advertisersId}/channels/{channelId}", "httpMethod": "PATCH", - "id": "displayvideo.advertisers.creatives.patch", + "id": "displayvideo.advertisers.channels.patch", "parameterOrder": [ "advertiserId", - "creativeId" + "channelId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "description": "The ID of the advertiser that owns the created channel.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "creativeId": { - "description": "Output only. The unique ID of the creative. Assigned by the system.", + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", "format": "int64", "location": "path", - "pattern": "^[^/]+$", "required": true, "type": "string" }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, "updateMask": { "description": "Required. The mask to control which fields to update.", "format": "google-fieldmask", @@ -1773,210 +1735,1331 @@ "type": "string" } }, - "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", + "path": "v4/advertisers/{+advertiserId}/channels/{channelId}", "request": { - "$ref": "Creative" + "$ref": "Channel" }, "response": { - "$ref": "Creative" + "$ref": "Channel" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] } - } - }, - "insertionOrders": { - "methods": { - "create": { - "description": "Creates a new insertion order. Returns the newly created insertion order if successful.", - "flatPath": "v4/advertisers/{advertisersId}/insertionOrders", - "httpMethod": "POST", - "id": "displayvideo.advertisers.insertionOrders.create", - "parameterOrder": [ - "advertiserId" - ], - "parameters": { - "advertiserId": { - "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v4/advertisers/{+advertiserId}/insertionOrders", - "request": { - "$ref": "InsertionOrder" - }, - "response": { - "$ref": "InsertionOrder" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "delete": { - "description": "Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.", - "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", - "httpMethod": "DELETE", - "id": "displayvideo.advertisers.insertionOrders.delete", - "parameterOrder": [ - "advertiserId", - "insertionOrderId" - ], - "parameters": { - "advertiserId": { - "description": "The ID of the advertiser this insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" + }, + "resources": { + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", + "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.bulkEdit", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit", + "request": { + "$ref": "BulkEditSitesRequest" + }, + "response": { + "$ref": "BulkEditSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] }, - "insertionOrderId": { - "description": "The ID of the insertion order to delete.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "get": { - "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.", - "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", - "httpMethod": "GET", - "id": "displayvideo.advertisers.insertionOrders.get", - "parameterOrder": [ - "advertiserId", - "insertionOrderId" - ], - "parameters": { - "advertiserId": { - "description": "Required. The ID of the advertiser this insertion order belongs to.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" + "create": { + "description": "Creates a site in a channel.", + "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.create", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel in which the site will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] }, - "insertionOrderId": { - "description": "Required. The ID of the insertion order to fetch.", - "format": "int64", - "location": "path", - "pattern": "^[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", - "response": { - "$ref": "InsertionOrder" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] - }, - "list": { - "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", - "flatPath": "v4/advertisers/{advertisersId}/insertionOrders", - "httpMethod": "GET", - "id": "displayvideo.advertisers.insertionOrders.list", + "delete": { + "description": "Deletes a site from a channel.", + "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.channels.sites.delete", + "parameterOrder": [ + "advertiserId", + "channelId", + "urlOrAppId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the site belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists sites in a channel.", + "flatPath": "v4/advertisers/{advertisersId}/channels/{channelsId}/sites", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.sites.list", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the requested sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/channels/{+channelId}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "replace": { + "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.", + "flatPath": "v4/advertisers/{advertiserId}/channels/{channelsId}/sites:replace", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.replace", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel whose sites will be replaced.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{advertiserId}/channels/{+channelId}/sites:replace", + "request": { + "$ref": "ReplaceSitesRequest" + }, + "response": { + "$ref": "ReplaceSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "creatives": { + "methods": { + "create": { + "description": "Creates a new creative. Returns the newly created creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v4/advertisers/{advertisersId}/creatives", + "httpMethod": "POST", + "id": "displayvideo.advertisers.creatives.create", "parameterOrder": [ "advertiserId" ], "parameters": { "advertiserId": { - "description": "Required. The ID of the advertiser to list insertion orders for.", + "description": "Output only. The unique ID of the advertiser the creative belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" - }, - "filter": { - "description": "Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<=\"2020-11-04T18:54:47Z\"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * \"displayName\" (default) * \"entityStatus\" * \"updateTime\" The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", - "location": "query", + } + }, + "path": "v4/advertisers/{+advertiserId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.creatives.delete", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, "type": "string" }, - "pageSize": { - "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned.", - "location": "query", + "creativeId": { + "description": "The ID of the creative to be deleted.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, "type": "string" } }, - "path": "v4/advertisers/{+advertiserId}/insertionOrders", + "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", "response": { - "$ref": "ListInsertionOrdersResponse" + "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/display-video" ] }, - "patch": { - "description": "Updates an existing insertion order. Returns the updated insertion order if successful.", - "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", - "httpMethod": "PATCH", - "id": "displayvideo.advertisers.insertionOrders.patch", + "get": { + "description": "Gets a creative.", + "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.get", "parameterOrder": [ "advertiserId", - "insertionOrderId" + "creativeId" ], "parameters": { "advertiserId": { - "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "description": "Required. The ID of the advertiser this creative belongs to.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" }, - "insertionOrderId": { - "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "creativeId": { + "description": "Required. The ID of the creative to fetch.", "format": "int64", "location": "path", "pattern": "^[^/]+$", "required": true, "type": "string" - }, - "updateMask": { - "description": "Required. The mask to control which fields to update.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } - }, - "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", - "request": { - "$ref": "InsertionOrder" - }, - "response": { - "$ref": "InsertionOrder" - }, - "scopes": [ - "https://www.googleapis.com/auth/display-video" - ] + }, + "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v4/advertisers/{advertisersId}/creatives", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list creatives for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\" OR dimensions=\"50x100\")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic=\"true\" AND minDuration=\"5.2s\" AND (exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\" OR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")` * All video creatives that are associated with line item ID 1 or 2: `creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `createTime desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/creatives", + "response": { + "$ref": "ListCreativesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing creative. Returns the updated creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.", + "flatPath": "v4/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.creatives.patch", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "Output only. The unique ID of the creative. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/creatives/{+creativeId}", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "insertionOrders": { + "methods": { + "create": { + "description": "Creates a new insertion order. Returns the newly created insertion order if successful.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "POST", + "id": "displayvideo.advertisers.insertionOrders.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.insertionOrders.delete", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "The ID of the insertion order to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.get", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list insertion orders for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<=\"2020-11-04T18:54:47Z\"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * \"displayName\" (default) * \"entityStatus\" * \"updateTime\" The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders", + "response": { + "$ref": "ListInsertionOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "listAssignedTargetingOptions": { + "description": "Lists assigned targeting options of an insertion order across targeting types.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}:listAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions", + "response": { + "$ref": "BulkListInsertionOrderAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing insertion order. Returns the updated insertion order if successful.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.insertionOrders.patch", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to an insertion order. Returns the assigned targeting option if successful. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option will belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION", + "TARGETING_TYPE_CONTENT_THEME_EXCLUSION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from an insertion order. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION", + "TARGETING_TYPE_CONTENT_THEME_EXCLUSION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to an insertion order.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION", + "TARGETING_TYPE_CONTENT_THEME_EXCLUSION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to an insertion order.", + "flatPath": "v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION", + "TARGETING_TYPE_CONTENT_THEME_EXCLUSION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListInsertionOrderAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } } } }, @@ -8219,7 +9302,7 @@ } } }, - "revision": "20250709", + "revision": "20250729", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -11020,6 +12103,40 @@ }, "type": "object" }, + "BulkListCampaignAssignedTargetingOptionsResponse": { + "id": "BulkListCampaignAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListInsertionOrderAssignedTargetingOptionsResponse": { + "id": "BulkListInsertionOrderAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, "BulkUpdateLineItemsRequest": { "description": "Request message for LineItemService.BulkUpdateLineItems.", "id": "BulkUpdateLineItemsRequest", @@ -12440,7 +13557,7 @@ true, true, true, - false, + true, false, false, false, @@ -18090,6 +19207,24 @@ }, "type": "object" }, + "ListCampaignAssignedTargetingOptionsResponse": { + "description": "Response message for ListCampaignAssignedTargetingOptions.", + "id": "ListCampaignAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, "ListCampaignsResponse": { "id": "ListCampaignsResponse", "properties": { @@ -18294,6 +19429,23 @@ }, "type": "object" }, + "ListInsertionOrderAssignedTargetingOptionsResponse": { + "id": "ListInsertionOrderAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, "ListInsertionOrdersResponse": { "id": "ListInsertionOrdersResponse", "properties": { @@ -20200,7 +21352,7 @@ true, true, true, - false, + true, false, false, false, @@ -20286,7 +21438,7 @@ true, true, true, - false, + true, false, false, false, diff --git a/src/apis/displayvideo/v2.ts b/src/apis/displayvideo/v2.ts index 84a0c55ea79..848dc7a0d49 100644 --- a/src/apis/displayvideo/v2.ts +++ b/src/apis/displayvideo/v2.ts @@ -1126,6 +1126,26 @@ export namespace displayvideo_v2 { */ nextPageToken?: string | null; } + export interface Schema$BulkListCampaignAssignedTargetingOptionsResponse { + /** + * The list of assigned targeting options. This list will be absent if empty. + */ + assignedTargetingOptions?: Schema$AssignedTargetingOption[]; + /** + * A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return. + */ + nextPageToken?: string | null; + } + export interface Schema$BulkListInsertionOrderAssignedTargetingOptionsResponse { + /** + * The list of assigned targeting options. This list will be absent if empty. + */ + assignedTargetingOptions?: Schema$AssignedTargetingOption[]; + /** + * A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return. + */ + nextPageToken?: string | null; + } /** * Request message for LineItemService.BulkUpdateLineItems. */ @@ -3654,6 +3674,19 @@ export namespace displayvideo_v2 { */ nextPageToken?: string | null; } + /** + * Response message for ListCampaignAssignedTargetingOptions. + */ + export interface Schema$ListCampaignAssignedTargetingOptionsResponse { + /** + * The list of assigned targeting options. This list will be absent if empty. + */ + assignedTargetingOptions?: Schema$AssignedTargetingOption[]; + /** + * A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return. + */ + nextPageToken?: string | null; + } export interface Schema$ListCampaignsResponse { /** * The list of campaigns. This list will be absent if empty. @@ -3754,6 +3787,16 @@ export namespace displayvideo_v2 { */ nextPageToken?: string | null; } + export interface Schema$ListInsertionOrderAssignedTargetingOptionsResponse { + /** + * The list of assigned targeting options. This list will be absent if empty. + */ + assignedTargetingOptions?: Schema$AssignedTargetingOption[]; + /** + * A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return. + */ + nextPageToken?: string | null; + } export interface Schema$ListInsertionOrdersResponse { /** * The list of insertion orders. This list will be absent if empty. @@ -7413,8 +7456,12 @@ export namespace displayvideo_v2 { export class Resource$Advertisers$Campaigns { context: APIRequestContext; + targetingTypes: Resource$Advertisers$Campaigns$Targetingtypes; constructor(context: APIRequestContext) { this.context = context; + this.targetingTypes = new Resource$Advertisers$Campaigns$Targetingtypes( + this.context + ); } /** @@ -8023,6 +8070,166 @@ export namespace displayvideo_v2 { } } + /** + * Lists assigned targeting options of a campaign across targeting types. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await displayvideo.advertisers.campaigns.listAssignedTargetingOptions({ + * // Required. The ID of the advertiser the campaign belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the campaign to list assigned targeting options for. + * campaignId: '[^/]+', + * // Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: `targetingType="TARGETING_TYPE_LANGUAGE" OR targetingType="TARGETING_TYPE_GENDER"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`. + * orderBy: 'placeholder-value', + * // Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "assignedTargetingOptions": [], + * // "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. + */ + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + options: StreamMethodOptions + ): Promise>; + listAssignedTargetingOptions( + params?: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + paramsOrCallback?: + | Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v2/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'campaignId'], + pathParams: ['advertiserId', 'campaignId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Updates an existing campaign. Returns the updated campaign if successful. * @example @@ -8251,6 +8458,33 @@ export namespace displayvideo_v2 { */ pageToken?: string; } + export interface Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions + extends StandardParameters { + /** + * Required. The ID of the advertiser the campaign belongs to. + */ + advertiserId?: string; + /** + * Required. The ID of the campaign to list assigned targeting options for. + */ + campaignId?: string; + /** + * Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: `targetingType="TARGETING_TYPE_LANGUAGE" OR targetingType="TARGETING_TYPE_GENDER"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`. + */ + orderBy?: string; + /** + * Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + } export interface Params$Resource$Advertisers$Campaigns$Patch extends StandardParameters { /** @@ -8272,16 +8506,26 @@ export namespace displayvideo_v2 { requestBody?: Schema$Campaign; } - export class Resource$Advertisers$Channels { + export class Resource$Advertisers$Campaigns$Targetingtypes { + context: APIRequestContext; + assignedTargetingOptions: Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions; + constructor(context: APIRequestContext) { + this.context = context; + this.assignedTargetingOptions = + new Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions( + this.context + ); + } + } + + export class Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions { context: APIRequestContext; - sites: Resource$Advertisers$Channels$Sites; constructor(context: APIRequestContext) { this.context = context; - this.sites = new Resource$Advertisers$Channels$Sites(this.context); } /** - * Creates a new channel. Returns the newly created channel if successful. + * Gets a single targeting option assigned to a campaign. * @example * ```js * // Before running the sample: @@ -8310,99 +8554,141 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.create({ - * // The ID of the advertiser that owns the created channel. - * advertiserId: '[^/]+', - * // The ID of the partner that owns the created channel. - * partnerId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "channelId": "my_channelId", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", - * // "partnerId": "my_partnerId", - * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" - * // } - * }, - * }); + * const res = + * await displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get( + * { + * // Required. The ID of the advertiser the campaign belongs to. + * advertiserId: '[^/]+', + * // Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested. + * assignedTargetingOptionId: '[^/]+', + * // Required. The ID of the campaign the assigned targeting option belongs to. + * campaignId: '[^/]+', + * // Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "advertiserId": "my_advertiserId", - * // "channelId": "my_channelId", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", - * // "partnerId": "my_partnerId", - * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `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$Advertisers$Channels$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Advertisers$Channels$Create, + * // "ageRangeDetails": {}, + * // "appCategoryDetails": {}, + * // "appDetails": {}, + * // "assignedTargetingOptionId": "my_assignedTargetingOptionId", + * // "assignedTargetingOptionIdAlias": "my_assignedTargetingOptionIdAlias", + * // "audienceGroupDetails": {}, + * // "audioContentTypeDetails": {}, + * // "authorizedSellerStatusDetails": {}, + * // "browserDetails": {}, + * // "businessChainDetails": {}, + * // "carrierAndIspDetails": {}, + * // "categoryDetails": {}, + * // "channelDetails": {}, + * // "contentDurationDetails": {}, + * // "contentGenreDetails": {}, + * // "contentInstreamPositionDetails": {}, + * // "contentOutstreamPositionDetails": {}, + * // "contentStreamTypeDetails": {}, + * // "dayAndTimeDetails": {}, + * // "deviceMakeModelDetails": {}, + * // "deviceTypeDetails": {}, + * // "digitalContentLabelExclusionDetails": {}, + * // "environmentDetails": {}, + * // "exchangeDetails": {}, + * // "genderDetails": {}, + * // "geoRegionDetails": {}, + * // "householdIncomeDetails": {}, + * // "inheritance": "my_inheritance", + * // "inventorySourceDetails": {}, + * // "inventorySourceGroupDetails": {}, + * // "keywordDetails": {}, + * // "languageDetails": {}, + * // "name": "my_name", + * // "nativeContentPositionDetails": {}, + * // "negativeKeywordListDetails": {}, + * // "omidDetails": {}, + * // "onScreenPositionDetails": {}, + * // "operatingSystemDetails": {}, + * // "parentalStatusDetails": {}, + * // "poiDetails": {}, + * // "proximityLocationListDetails": {}, + * // "regionalLocationListDetails": {}, + * // "sensitiveCategoryExclusionDetails": {}, + * // "sessionPositionDetails": {}, + * // "subExchangeDetails": {}, + * // "targetingType": "my_targetingType", + * // "thirdPartyVerifierDetails": {}, + * // "urlDetails": {}, + * // "userRewardedContentDetails": {}, + * // "videoPlayerSizeDetails": {}, + * // "viewabilityDetails": {}, + * // "youtubeChannelDetails": {}, + * // "youtubeVideoDetails": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Advertisers$Channels$Create, + ): Promise>; + get( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Channels$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Channels$Create, - callback: BodyResponseCallback + get( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Create - | BodyResponseCallback + | Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Create; + {}) as Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Create; + params = + {} as Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get; options = {}; } @@ -8415,32 +8701,42 @@ export namespace displayvideo_v2 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v2/advertisers/{+advertiserId}/channels').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: ( + rootUrl + + '/v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: [ + 'advertiserId', + 'campaignId', + 'targetingType', + 'assignedTargetingOptionId', + ], + pathParams: [ + 'advertiserId', + 'assignedTargetingOptionId', + 'campaignId', + 'targetingType', + ], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a channel for a partner or advertiser. + * Lists the targeting options assigned to a campaign for a specified targeting type. * @example * ```js * // Before running the sample: @@ -8469,25 +8765,31 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.get({ - * // The ID of the advertiser that owns the fetched channel. - * advertiserId: '[^/]+', - * // Required. The ID of the channel to fetch. - * channelId: '[^/]+', - * // The ID of the partner that owns the fetched channel. - * partnerId: 'placeholder-value', - * }); + * const res = + * await displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list( + * { + * // Required. The ID of the advertiser the campaign belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the campaign to list assigned targeting options for. + * campaignId: '[^/]+', + * // Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * // Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "advertiserId": "my_advertiserId", - * // "channelId": "my_channelId", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", - * // "partnerId": "my_partnerId", - * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" + * // "assignedTargetingOptions": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -8503,53 +8805,62 @@ export namespace displayvideo_v2 { * @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$Advertisers$Channels$Get, + list( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Advertisers$Channels$Get, + list( + params?: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Advertisers$Channels$Get, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Channels$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Channels$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Get - | BodyResponseCallback + | Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Get; + {}) as Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Get; + params = + {} as Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List; options = {}; } @@ -8563,7 +8874,8 @@ export namespace displayvideo_v2 { options: Object.assign( { url: ( - rootUrl + '/v2/advertisers/{+advertiserId}/channels/{+channelId}' + rootUrl + + '/v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -8571,70 +8883,143 @@ export namespace displayvideo_v2 { options ), params, - requiredParams: ['advertiserId', 'channelId'], - pathParams: ['advertiserId', 'channelId'], + requiredParams: ['advertiserId', 'campaignId', 'targetingType'], + pathParams: ['advertiserId', 'campaignId', 'targetingType'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } + } + export interface Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get + extends StandardParameters { /** - * Lists channels for a partner or advertiser. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const displayvideo = google.displayvideo('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/display-video'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await displayvideo.advertisers.channels.list({ - * // The ID of the advertiser that owns the channels. - * advertiserId: '[^/]+', - * // Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains "google": `displayName : "google"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - * filter: 'placeholder-value', - * // Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `displayName desc`. - * orderBy: 'placeholder-value', - * // Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned. - * pageToken: 'placeholder-value', - * // The ID of the partner that owns the channels. - * partnerId: 'placeholder-value', - * }); - * console.log(res.data); + * Required. The ID of the advertiser the campaign belongs to. + */ + advertiserId?: string; + /** + * Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested. + */ + assignedTargetingOptionId?: string; + /** + * Required. The ID of the campaign the assigned targeting option belongs to. + */ + campaignId?: string; + /** + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; + } + export interface Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List + extends StandardParameters { + /** + * Required. The ID of the advertiser the campaign belongs to. + */ + advertiserId?: string; + /** + * Required. The ID of the campaign to list assigned targeting options for. + */ + campaignId?: string; + /** + * Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + */ + orderBy?: string; + /** + * Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + /** + * Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; + } + + export class Resource$Advertisers$Channels { + context: APIRequestContext; + sites: Resource$Advertisers$Channels$Sites; + constructor(context: APIRequestContext) { + this.context = context; + this.sites = new Resource$Advertisers$Channels$Sites(this.context); + } + + /** + * Creates a new channel. Returns the newly created channel if successful. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.channels.create({ + * // The ID of the advertiser that owns the created channel. + * advertiserId: '[^/]+', + * // The ID of the partner that owns the created channel. + * partnerId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advertiserId": "my_advertiserId", + * // "channelId": "my_channelId", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", + * // "partnerId": "my_partnerId", + * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" + * // } + * }, + * }); + * console.log(res.data); * * // Example response * // { - * // "channels": [], - * // "nextPageToken": "my_nextPageToken" + * // "advertiserId": "my_advertiserId", + * // "channelId": "my_channelId", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", + * // "partnerId": "my_partnerId", + * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" * // } * } * @@ -8650,55 +9035,53 @@ export namespace displayvideo_v2 { * @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$Advertisers$Channels$List, + create( + params: Params$Resource$Advertisers$Channels$Create, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Advertisers$Channels$List, + create( + params?: Params$Resource$Advertisers$Channels$Create, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Advertisers$Channels$List, + ): Promise>; + create( + params: Params$Resource$Advertisers$Channels$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Channels$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Channels$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Channels$List, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Channels$Create, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$List - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$List; + {}) as Params$Resource$Advertisers$Channels$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$List; + params = {} as Params$Resource$Advertisers$Channels$Create; options = {}; } @@ -8715,7 +9098,7 @@ export namespace displayvideo_v2 { /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -8726,17 +9109,17 @@ export namespace displayvideo_v2 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates a channel. Returns the updated channel if successful. + * Gets a channel for a partner or advertiser. * @example * ```js * // Before running the sample: @@ -8765,29 +9148,13 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.patch({ - * // The ID of the advertiser that owns the created channel. + * const res = await displayvideo.advertisers.channels.get({ + * // The ID of the advertiser that owns the fetched channel. * advertiserId: '[^/]+', - * // Output only. The unique ID of the channel. Assigned by the system. - * channelId: 'placeholder-value', - * // The ID of the partner that owns the created channel. + * // Required. The ID of the channel to fetch. + * channelId: '[^/]+', + * // The ID of the partner that owns the fetched channel. * partnerId: 'placeholder-value', - * // Required. The mask to control which fields to update. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "channelId": "my_channelId", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", - * // "partnerId": "my_partnerId", - * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" - * // } - * }, * }); * console.log(res.data); * @@ -8815,32 +9182,32 @@ export namespace displayvideo_v2 { * @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$Advertisers$Channels$Patch, + get( + params: Params$Resource$Advertisers$Channels$Get, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Advertisers$Channels$Patch, + get( + params?: Params$Resource$Advertisers$Channels$Get, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Advertisers$Channels$Patch, + get( + params: Params$Resource$Advertisers$Channels$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Channels$Patch, + get( + params: Params$Resource$Advertisers$Channels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Channels$Patch, + get( + params: Params$Resource$Advertisers$Channels$Get, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Patch + | Params$Resource$Advertisers$Channels$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -8856,12 +9223,12 @@ export namespace displayvideo_v2 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Patch; + {}) as Params$Resource$Advertisers$Channels$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Patch; + params = {} as Params$Resource$Advertisers$Channels$Get; options = {}; } @@ -8875,9 +9242,9 @@ export namespace displayvideo_v2 { options: Object.assign( { url: ( - rootUrl + '/v2/advertisers/{+advertiserId}/channels/{channelId}' + rootUrl + '/v2/advertisers/{+advertiserId}/channels/{+channelId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -8896,99 +9263,9 @@ export namespace displayvideo_v2 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Advertisers$Channels$Create - extends StandardParameters { - /** - * The ID of the advertiser that owns the created channel. - */ - advertiserId?: string; - /** - * The ID of the partner that owns the created channel. - */ - partnerId?: string; /** - * Request body metadata - */ - requestBody?: Schema$Channel; - } - export interface Params$Resource$Advertisers$Channels$Get - extends StandardParameters { - /** - * The ID of the advertiser that owns the fetched channel. - */ - advertiserId?: string; - /** - * Required. The ID of the channel to fetch. - */ - channelId?: string; - /** - * The ID of the partner that owns the fetched channel. - */ - partnerId?: string; - } - export interface Params$Resource$Advertisers$Channels$List - extends StandardParameters { - /** - * The ID of the advertiser that owns the channels. - */ - advertiserId?: string; - /** - * Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains "google": `displayName : "google"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - */ - filter?: string; - /** - * Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `displayName desc`. - */ - orderBy?: string; - /** - * Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - */ - pageSize?: number; - /** - * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned. - */ - pageToken?: string; - /** - * The ID of the partner that owns the channels. - */ - partnerId?: string; - } - export interface Params$Resource$Advertisers$Channels$Patch - extends StandardParameters { - /** - * The ID of the advertiser that owns the created channel. - */ - advertiserId?: string; - /** - * Output only. The unique ID of the channel. Assigned by the system. - */ - channelId?: string; - /** - * The ID of the partner that owns the created channel. - */ - partnerId?: string; - /** - * Required. The mask to control which fields to update. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Channel; - } - - export class Resource$Advertisers$Channels$Sites { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites. + * Lists channels for a partner or advertiser. * @example * ```js * // Before running the sample: @@ -9017,28 +9294,26 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.bulkEdit({ - * // The ID of the advertiser that owns the parent channel. - * advertiserId: 'placeholder-value', - * // Required. The ID of the parent channel to which the sites belong. - * channelId: '[^/]+', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "createdSites": [], - * // "deletedSites": [], - * // "partnerId": "my_partnerId" - * // } - * }, + * const res = await displayvideo.advertisers.channels.list({ + * // The ID of the advertiser that owns the channels. + * advertiserId: '[^/]+', + * // Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains "google": `displayName : "google"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `displayName desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * // The ID of the partner that owns the channels. + * partnerId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "sites": [] + * // "channels": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -9054,57 +9329,55 @@ export namespace displayvideo_v2 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - bulkEdit( - params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + list( + params: Params$Resource$Advertisers$Channels$List, options: StreamMethodOptions ): Promise>; - bulkEdit( - params?: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + list( + params?: Params$Resource$Advertisers$Channels$List, options?: MethodOptions - ): Promise>; - bulkEdit( - params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + ): Promise>; + list( + params: Params$Resource$Advertisers$Channels$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkEdit( - params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + list( + params: Params$Resource$Advertisers$Channels$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - bulkEdit( - params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - bulkEdit( - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Channels$List, + callback: BodyResponseCallback ): void; - bulkEdit( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$Bulkedit - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$Bulkedit; + {}) as Params$Resource$Advertisers$Channels$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$Bulkedit; + params = {} as Params$Resource$Advertisers$Channels$List; options = {}; } @@ -9117,32 +9390,32 @@ export namespace displayvideo_v2 { const parameters = { options: Object.assign( { - url: ( - rootUrl + - '/v2/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + url: (rootUrl + '/v2/advertisers/{+advertiserId}/channels').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'channelId'], - pathParams: ['advertiserId', 'channelId'], + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a site in a channel. + * Updates a channel. Returns the updated channel if successful. * @example * ```js * // Before running the sample: @@ -9171,20 +9444,27 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.create({ - * // The ID of the advertiser that owns the parent channel. - * advertiserId: 'placeholder-value', - * // Required. The ID of the parent channel in which the site will be created. - * channelId: '[^/]+', - * // The ID of the partner that owns the parent channel. + * const res = await displayvideo.advertisers.channels.patch({ + * // The ID of the advertiser that owns the created channel. + * advertiserId: '[^/]+', + * // Output only. The unique ID of the channel. Assigned by the system. + * channelId: 'placeholder-value', + * // The ID of the partner that owns the created channel. * partnerId: 'placeholder-value', + * // Required. The mask to control which fields to update. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { + * // "advertiserId": "my_advertiserId", + * // "channelId": "my_channelId", + * // "displayName": "my_displayName", * // "name": "my_name", - * // "urlOrAppId": "my_urlOrAppId" + * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", + * // "partnerId": "my_partnerId", + * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" * // } * }, * }); @@ -9192,8 +9472,13 @@ export namespace displayvideo_v2 { * * // Example response * // { + * // "advertiserId": "my_advertiserId", + * // "channelId": "my_channelId", + * // "displayName": "my_displayName", * // "name": "my_name", - * // "urlOrAppId": "my_urlOrAppId" + * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", + * // "partnerId": "my_partnerId", + * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" * // } * } * @@ -9209,53 +9494,53 @@ export namespace displayvideo_v2 { * @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$Advertisers$Channels$Sites$Create, + patch( + params: Params$Resource$Advertisers$Channels$Patch, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Advertisers$Channels$Sites$Create, + patch( + params?: Params$Resource$Advertisers$Channels$Patch, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Advertisers$Channels$Sites$Create, + ): Promise>; + patch( + params: Params$Resource$Advertisers$Channels$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Channels$Sites$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Advertisers$Channels$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Channels$Sites$Create, - callback: BodyResponseCallback + patch( + params: Params$Resource$Advertisers$Channels$Patch, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$Create - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$Create; + {}) as Params$Resource$Advertisers$Channels$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$Create; + params = {} as Params$Resource$Advertisers$Channels$Patch; options = {}; } @@ -9269,10 +9554,9 @@ export namespace displayvideo_v2 { options: Object.assign( { url: ( - rootUrl + - '/v2/advertisers/{advertiserId}/channels/{+channelId}/sites' + rootUrl + '/v2/advertisers/{+advertiserId}/channels/{channelId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options @@ -9283,28 +9567,118 @@ export namespace displayvideo_v2 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Advertisers$Channels$Create + extends StandardParameters { /** - * Deletes a site from a channel. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh + * The ID of the advertiser that owns the created channel. + */ + advertiserId?: string; + /** + * The ID of the partner that owns the created channel. + */ + partnerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + export interface Params$Resource$Advertisers$Channels$Get + extends StandardParameters { + /** + * The ID of the advertiser that owns the fetched channel. + */ + advertiserId?: string; + /** + * Required. The ID of the channel to fetch. + */ + channelId?: string; + /** + * The ID of the partner that owns the fetched channel. + */ + partnerId?: string; + } + export interface Params$Resource$Advertisers$Channels$List + extends StandardParameters { + /** + * The ID of the advertiser that owns the channels. + */ + advertiserId?: string; + /** + * Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains "google": `displayName : "google"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `displayName desc`. + */ + orderBy?: string; + /** + * Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + /** + * The ID of the partner that owns the channels. + */ + partnerId?: string; + } + export interface Params$Resource$Advertisers$Channels$Patch + extends StandardParameters { + /** + * The ID of the advertiser that owns the created channel. + */ + advertiserId?: string; + /** + * Output only. The unique ID of the channel. Assigned by the system. + */ + channelId?: string; + /** + * The ID of the partner that owns the created channel. + */ + partnerId?: string; + /** + * Required. The mask to control which fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + + export class Resource$Advertisers$Channels$Sites { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh * // $ npm install googleapis * // ``` * @@ -9322,20 +9696,29 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.delete({ + * const res = await displayvideo.advertisers.channels.sites.bulkEdit({ * // The ID of the advertiser that owns the parent channel. * advertiserId: 'placeholder-value', - * // Required. The ID of the parent channel to which the site belongs. + * // Required. The ID of the parent channel to which the sites belong. * channelId: '[^/]+', - * // The ID of the partner that owns the parent channel. - * partnerId: 'placeholder-value', - * // Required. The URL or app ID of the site to delete. - * urlOrAppId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advertiserId": "my_advertiserId", + * // "createdSites": [], + * // "deletedSites": [], + * // "partnerId": "my_partnerId" + * // } + * }, * }); * console.log(res.data); * * // Example response - * // {} + * // { + * // "sites": [] + * // } * } * * main().catch(e => { @@ -9350,53 +9733,57 @@ export namespace displayvideo_v2 { * @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$Advertisers$Channels$Sites$Delete, + bulkEdit( + params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Advertisers$Channels$Sites$Delete, + bulkEdit( + params?: Params$Resource$Advertisers$Channels$Sites$Bulkedit, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Advertisers$Channels$Sites$Delete, + ): Promise>; + bulkEdit( + params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Channels$Sites$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + bulkEdit( + params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Channels$Sites$Delete, - callback: BodyResponseCallback + bulkEdit( + params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + bulkEdit( + callback: BodyResponseCallback + ): void; + bulkEdit( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$Delete - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$Bulkedit + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$Delete; + {}) as Params$Resource$Advertisers$Channels$Sites$Bulkedit; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$Delete; + params = {} as Params$Resource$Advertisers$Channels$Sites$Bulkedit; options = {}; } @@ -9411,30 +9798,30 @@ export namespace displayvideo_v2 { { url: ( rootUrl + - '/v2/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}' + '/v2/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'channelId', 'urlOrAppId'], - pathParams: ['advertiserId', 'channelId', 'urlOrAppId'], + requiredParams: ['advertiserId', 'channelId'], + pathParams: ['advertiserId', 'channelId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists sites in a channel. + * Creates a site in a channel. * @example * ```js * // Before running the sample: @@ -9463,28 +9850,29 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.list({ + * const res = await displayvideo.advertisers.channels.sites.create({ * // The ID of the advertiser that owns the parent channel. - * advertiserId: '[^/]+', - * // Required. The ID of the parent channel to which the requested sites belong. + * advertiserId: 'placeholder-value', + * // Required. The ID of the parent channel in which the site will be created. * channelId: '[^/]+', - * // Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - * filter: 'placeholder-value', - * // Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `urlOrAppId desc`. - * orderBy: 'placeholder-value', - * // Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned. - * pageToken: 'placeholder-value', * // The ID of the partner that owns the parent channel. * partnerId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name", + * // "urlOrAppId": "my_urlOrAppId" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "sites": [] + * // "name": "my_name", + * // "urlOrAppId": "my_urlOrAppId" * // } * } * @@ -9500,53 +9888,53 @@ export namespace displayvideo_v2 { * @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$Advertisers$Channels$Sites$List, + create( + params: Params$Resource$Advertisers$Channels$Sites$Create, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Advertisers$Channels$Sites$List, + create( + params?: Params$Resource$Advertisers$Channels$Sites$Create, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Advertisers$Channels$Sites$List, + ): Promise>; + create( + params: Params$Resource$Advertisers$Channels$Sites$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Channels$Sites$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Channels$Sites$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Channels$Sites$List, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Channels$Sites$Create, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$List - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$List; + {}) as Params$Resource$Advertisers$Channels$Sites$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$List; + params = {} as Params$Resource$Advertisers$Channels$Sites$Create; options = {}; } @@ -9561,9 +9949,9 @@ export namespace displayvideo_v2 { { url: ( rootUrl + - '/v2/advertisers/{+advertiserId}/channels/{+channelId}/sites' + '/v2/advertisers/{advertiserId}/channels/{+channelId}/sites' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -9574,17 +9962,17 @@ export namespace displayvideo_v2 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors. + * Deletes a site from a channel. * @example * ```js * // Before running the sample: @@ -9613,28 +10001,20 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.replace({ + * const res = await displayvideo.advertisers.channels.sites.delete({ * // The ID of the advertiser that owns the parent channel. * advertiserId: 'placeholder-value', - * // Required. The ID of the parent channel whose sites will be replaced. + * // Required. The ID of the parent channel to which the site belongs. * channelId: '[^/]+', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "newSites": [], - * // "partnerId": "my_partnerId" - * // } - * }, + * // The ID of the partner that owns the parent channel. + * partnerId: 'placeholder-value', + * // Required. The URL or app ID of the site to delete. + * urlOrAppId: '[^/]+', * }); * console.log(res.data); * * // Example response - * // { - * // "sites": [] - * // } + * // {} * } * * main().catch(e => { @@ -9649,55 +10029,53 @@ export namespace displayvideo_v2 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - replace( - params: Params$Resource$Advertisers$Channels$Sites$Replace, + delete( + params: Params$Resource$Advertisers$Channels$Sites$Delete, options: StreamMethodOptions ): Promise>; - replace( - params?: Params$Resource$Advertisers$Channels$Sites$Replace, + delete( + params?: Params$Resource$Advertisers$Channels$Sites$Delete, options?: MethodOptions - ): Promise>; - replace( - params: Params$Resource$Advertisers$Channels$Sites$Replace, + ): Promise>; + delete( + params: Params$Resource$Advertisers$Channels$Sites$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - replace( - params: Params$Resource$Advertisers$Channels$Sites$Replace, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Channels$Sites$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - replace( - params: Params$Resource$Advertisers$Channels$Sites$Replace, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Channels$Sites$Delete, + callback: BodyResponseCallback ): void; - replace(callback: BodyResponseCallback): void; - replace( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$Replace - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$Replace; + {}) as Params$Resource$Advertisers$Channels$Sites$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$Replace; + params = {} as Params$Resource$Advertisers$Channels$Sites$Delete; options = {}; } @@ -9712,140 +10090,30 @@ export namespace displayvideo_v2 { { url: ( rootUrl + - '/v2/advertisers/{advertiserId}/channels/{+channelId}/sites:replace' + '/v2/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'channelId'], - pathParams: ['advertiserId', 'channelId'], + requiredParams: ['advertiserId', 'channelId', 'urlOrAppId'], + pathParams: ['advertiserId', 'channelId', 'urlOrAppId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Advertisers$Channels$Sites$Bulkedit - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel to which the sites belong. - */ - channelId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$BulkEditSitesRequest; - } - export interface Params$Resource$Advertisers$Channels$Sites$Create - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel in which the site will be created. - */ - channelId?: string; - /** - * The ID of the partner that owns the parent channel. - */ - partnerId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Site; - } - export interface Params$Resource$Advertisers$Channels$Sites$Delete - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel to which the site belongs. - */ - channelId?: string; - /** - * The ID of the partner that owns the parent channel. - */ - partnerId?: string; - /** - * Required. The URL or app ID of the site to delete. - */ - urlOrAppId?: string; - } - export interface Params$Resource$Advertisers$Channels$Sites$List - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel to which the requested sites belong. - */ - channelId?: string; - /** - * Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - */ - filter?: string; - /** - * Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `urlOrAppId desc`. - */ - orderBy?: string; - /** - * Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - */ - pageSize?: number; - /** - * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned. - */ - pageToken?: string; - /** - * The ID of the partner that owns the parent channel. - */ - partnerId?: string; - } - export interface Params$Resource$Advertisers$Channels$Sites$Replace - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel whose sites will be replaced. - */ - channelId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ReplaceSitesRequest; - } - - export class Resource$Advertisers$Creatives { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new creative. Returns the newly created creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * Lists sites in a channel. * @example * ```js * // Before running the sample: @@ -9874,115 +10142,28 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.creatives.create({ - * // Output only. The unique ID of the advertiser the creative belongs to. + * const res = await displayvideo.advertisers.channels.sites.list({ + * // The ID of the advertiser that owns the parent channel. * advertiserId: '[^/]+', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "additionalDimensions": [], - * // "advertiserId": "my_advertiserId", - * // "appendedTag": "my_appendedTag", - * // "assets": [], - * // "cmPlacementId": "my_cmPlacementId", - * // "cmTrackingAd": {}, - * // "companionCreativeIds": [], - * // "counterEvents": [], - * // "createTime": "my_createTime", - * // "creativeAttributes": [], - * // "creativeId": "my_creativeId", - * // "creativeType": "my_creativeType", - * // "dimensions": {}, - * // "displayName": "my_displayName", - * // "dynamic": false, - * // "entityStatus": "my_entityStatus", - * // "exitEvents": [], - * // "expandOnHover": false, - * // "expandingDirection": "my_expandingDirection", - * // "hostingSource": "my_hostingSource", - * // "html5Video": false, - * // "iasCampaignMonitoring": false, - * // "integrationCode": "my_integrationCode", - * // "jsTrackerUrl": "my_jsTrackerUrl", - * // "lineItemIds": [], - * // "mediaDuration": "my_mediaDuration", - * // "mp3Audio": false, - * // "name": "my_name", - * // "notes": "my_notes", - * // "obaIcon": {}, - * // "oggAudio": false, - * // "progressOffset": {}, - * // "requireHtml5": false, - * // "requireMraid": false, - * // "requirePingForAttribution": false, - * // "reviewStatus": {}, - * // "skipOffset": {}, - * // "skippable": false, - * // "thirdPartyTag": "my_thirdPartyTag", - * // "thirdPartyUrls": [], - * // "timerEvents": [], - * // "trackerUrls": [], - * // "transcodes": [], - * // "universalAdId": {}, - * // "updateTime": "my_updateTime", - * // "vastTagUrl": "my_vastTagUrl", - * // "vpaid": false - * // } - * }, - * }); - * console.log(res.data); + * // Required. The ID of the parent channel to which the requested sites belong. + * channelId: '[^/]+', + * // Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `urlOrAppId desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * // The ID of the partner that owns the parent channel. + * partnerId: 'placeholder-value', + * }); + * console.log(res.data); * * // Example response * // { - * // "additionalDimensions": [], - * // "advertiserId": "my_advertiserId", - * // "appendedTag": "my_appendedTag", - * // "assets": [], - * // "cmPlacementId": "my_cmPlacementId", - * // "cmTrackingAd": {}, - * // "companionCreativeIds": [], - * // "counterEvents": [], - * // "createTime": "my_createTime", - * // "creativeAttributes": [], - * // "creativeId": "my_creativeId", - * // "creativeType": "my_creativeType", - * // "dimensions": {}, - * // "displayName": "my_displayName", - * // "dynamic": false, - * // "entityStatus": "my_entityStatus", - * // "exitEvents": [], - * // "expandOnHover": false, - * // "expandingDirection": "my_expandingDirection", - * // "hostingSource": "my_hostingSource", - * // "html5Video": false, - * // "iasCampaignMonitoring": false, - * // "integrationCode": "my_integrationCode", - * // "jsTrackerUrl": "my_jsTrackerUrl", - * // "lineItemIds": [], - * // "mediaDuration": "my_mediaDuration", - * // "mp3Audio": false, - * // "name": "my_name", - * // "notes": "my_notes", - * // "obaIcon": {}, - * // "oggAudio": false, - * // "progressOffset": {}, - * // "requireHtml5": false, - * // "requireMraid": false, - * // "requirePingForAttribution": false, - * // "reviewStatus": {}, - * // "skipOffset": {}, - * // "skippable": false, - * // "thirdPartyTag": "my_thirdPartyTag", - * // "thirdPartyUrls": [], - * // "timerEvents": [], - * // "trackerUrls": [], - * // "transcodes": [], - * // "universalAdId": {}, - * // "updateTime": "my_updateTime", - * // "vastTagUrl": "my_vastTagUrl", - * // "vpaid": false + * // "nextPageToken": "my_nextPageToken", + * // "sites": [] * // } * } * @@ -9998,53 +10179,53 @@ export namespace displayvideo_v2 { * @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$Advertisers$Creatives$Create, + list( + params: Params$Resource$Advertisers$Channels$Sites$List, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Advertisers$Creatives$Create, + list( + params?: Params$Resource$Advertisers$Channels$Sites$List, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Advertisers$Creatives$Create, + ): Promise>; + list( + params: Params$Resource$Advertisers$Channels$Sites$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Creatives$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Channels$Sites$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Creatives$Create, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Channels$Sites$List, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$Create - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$Create; + {}) as Params$Resource$Advertisers$Channels$Sites$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$Create; + params = {} as Params$Resource$Advertisers$Channels$Sites$List; options = {}; } @@ -10058,30 +10239,31 @@ export namespace displayvideo_v2 { options: Object.assign( { url: ( - rootUrl + '/v2/advertisers/{+advertiserId}/creatives' + rootUrl + + '/v2/advertisers/{+advertiserId}/channels/{+channelId}/sites' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: ['advertiserId', 'channelId'], + pathParams: ['advertiserId', 'channelId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors. * @example * ```js * // Before running the sample: @@ -10110,16 +10292,28 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.creatives.delete({ - * // The ID of the advertiser this creative belongs to. - * advertiserId: '[^/]+', - * // The ID of the creative to be deleted. - * creativeId: '[^/]+', + * const res = await displayvideo.advertisers.channels.sites.replace({ + * // The ID of the advertiser that owns the parent channel. + * advertiserId: 'placeholder-value', + * // Required. The ID of the parent channel whose sites will be replaced. + * channelId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advertiserId": "my_advertiserId", + * // "newSites": [], + * // "partnerId": "my_partnerId" + * // } + * }, * }); * console.log(res.data); * * // Example response - * // {} + * // { + * // "sites": [] + * // } * } * * main().catch(e => { @@ -10134,53 +10328,55 @@ export namespace displayvideo_v2 { * @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$Advertisers$Creatives$Delete, + replace( + params: Params$Resource$Advertisers$Channels$Sites$Replace, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Advertisers$Creatives$Delete, + replace( + params?: Params$Resource$Advertisers$Channels$Sites$Replace, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Advertisers$Creatives$Delete, + ): Promise>; + replace( + params: Params$Resource$Advertisers$Channels$Sites$Replace, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Creatives$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + replace( + params: Params$Resource$Advertisers$Channels$Sites$Replace, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Creatives$Delete, - callback: BodyResponseCallback + replace( + params: Params$Resource$Advertisers$Channels$Sites$Replace, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + replace(callback: BodyResponseCallback): void; + replace( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$Delete - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$Replace + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$Delete; + {}) as Params$Resource$Advertisers$Channels$Sites$Replace; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$Delete; + params = {} as Params$Resource$Advertisers$Channels$Sites$Replace; options = {}; } @@ -10195,63 +10391,225 @@ export namespace displayvideo_v2 { { url: ( rootUrl + - '/v2/advertisers/{+advertiserId}/creatives/{+creativeId}' + '/v2/advertisers/{advertiserId}/channels/{+channelId}/sites:replace' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'creativeId'], - pathParams: ['advertiserId', 'creativeId'], + requiredParams: ['advertiserId', 'channelId'], + pathParams: ['advertiserId', 'channelId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Advertisers$Channels$Sites$Bulkedit + extends StandardParameters { /** - * Gets a creative. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const displayvideo = google.displayvideo('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/display-video'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await displayvideo.advertisers.creatives.get({ - * // Required. The ID of the advertiser this creative belongs to. - * advertiserId: '[^/]+', - * // Required. The ID of the creative to fetch. - * creativeId: '[^/]+', + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel to which the sites belong. + */ + channelId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BulkEditSitesRequest; + } + export interface Params$Resource$Advertisers$Channels$Sites$Create + extends StandardParameters { + /** + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel in which the site will be created. + */ + channelId?: string; + /** + * The ID of the partner that owns the parent channel. + */ + partnerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + export interface Params$Resource$Advertisers$Channels$Sites$Delete + extends StandardParameters { + /** + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel to which the site belongs. + */ + channelId?: string; + /** + * The ID of the partner that owns the parent channel. + */ + partnerId?: string; + /** + * Required. The URL or app ID of the site to delete. + */ + urlOrAppId?: string; + } + export interface Params$Resource$Advertisers$Channels$Sites$List + extends StandardParameters { + /** + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel to which the requested sites belong. + */ + channelId?: string; + /** + * Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `urlOrAppId desc`. + */ + orderBy?: string; + /** + * Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + /** + * The ID of the partner that owns the parent channel. + */ + partnerId?: string; + } + export interface Params$Resource$Advertisers$Channels$Sites$Replace + extends StandardParameters { + /** + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel whose sites will be replaced. + */ + channelId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReplaceSitesRequest; + } + + export class Resource$Advertisers$Creatives { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new creative. Returns the newly created creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.creatives.create({ + * // Output only. The unique ID of the advertiser the creative belongs to. + * advertiserId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "additionalDimensions": [], + * // "advertiserId": "my_advertiserId", + * // "appendedTag": "my_appendedTag", + * // "assets": [], + * // "cmPlacementId": "my_cmPlacementId", + * // "cmTrackingAd": {}, + * // "companionCreativeIds": [], + * // "counterEvents": [], + * // "createTime": "my_createTime", + * // "creativeAttributes": [], + * // "creativeId": "my_creativeId", + * // "creativeType": "my_creativeType", + * // "dimensions": {}, + * // "displayName": "my_displayName", + * // "dynamic": false, + * // "entityStatus": "my_entityStatus", + * // "exitEvents": [], + * // "expandOnHover": false, + * // "expandingDirection": "my_expandingDirection", + * // "hostingSource": "my_hostingSource", + * // "html5Video": false, + * // "iasCampaignMonitoring": false, + * // "integrationCode": "my_integrationCode", + * // "jsTrackerUrl": "my_jsTrackerUrl", + * // "lineItemIds": [], + * // "mediaDuration": "my_mediaDuration", + * // "mp3Audio": false, + * // "name": "my_name", + * // "notes": "my_notes", + * // "obaIcon": {}, + * // "oggAudio": false, + * // "progressOffset": {}, + * // "requireHtml5": false, + * // "requireMraid": false, + * // "requirePingForAttribution": false, + * // "reviewStatus": {}, + * // "skipOffset": {}, + * // "skippable": false, + * // "thirdPartyTag": "my_thirdPartyTag", + * // "thirdPartyUrls": [], + * // "timerEvents": [], + * // "trackerUrls": [], + * // "transcodes": [], + * // "universalAdId": {}, + * // "updateTime": "my_updateTime", + * // "vastTagUrl": "my_vastTagUrl", + * // "vpaid": false + * // } + * }, * }); * console.log(res.data); * @@ -10319,32 +10677,32 @@ export namespace displayvideo_v2 { * @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$Advertisers$Creatives$Get, + create( + params: Params$Resource$Advertisers$Creatives$Create, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Advertisers$Creatives$Get, + create( + params?: Params$Resource$Advertisers$Creatives$Create, options?: MethodOptions ): Promise>; - get( - params: Params$Resource$Advertisers$Creatives$Get, + create( + params: Params$Resource$Advertisers$Creatives$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Creatives$Get, + create( + params: Params$Resource$Advertisers$Creatives$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Creatives$Get, + create( + params: Params$Resource$Advertisers$Creatives$Create, callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$Get + | Params$Resource$Advertisers$Creatives$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -10360,12 +10718,12 @@ export namespace displayvideo_v2 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$Get; + {}) as Params$Resource$Advertisers$Creatives$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$Get; + params = {} as Params$Resource$Advertisers$Creatives$Create; options = {}; } @@ -10379,17 +10737,16 @@ export namespace displayvideo_v2 { options: Object.assign( { url: ( - rootUrl + - '/v2/advertisers/{+advertiserId}/creatives/{+creativeId}' + rootUrl + '/v2/advertisers/{+advertiserId}/creatives' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'creativeId'], - pathParams: ['advertiserId', 'creativeId'], + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], context: this.context, }; if (callback) { @@ -10403,7 +10760,7 @@ export namespace displayvideo_v2 { } /** - * Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results. + * Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. * @example * ```js * // Before running the sample: @@ -10432,25 +10789,16 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.creatives.list({ - * // Required. The ID of the advertiser to list creatives for. + * const res = await displayvideo.advertisers.creatives.delete({ + * // The ID of the advertiser this creative belongs to. * advertiserId: '[^/]+', - * // Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width\}x{height\}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange\}-{reviewStatus\}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true" AND minDuration="5.2s" AND (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All video creatives that are associated with line item ID 1 or 2: `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - * filter: 'placeholder-value', - * // Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `createTime desc`. - * orderBy: 'placeholder-value', - * // Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned. - * pageToken: 'placeholder-value', + * // The ID of the creative to be deleted. + * creativeId: '[^/]+', * }); * console.log(res.data); * * // Example response - * // { - * // "creatives": [], - * // "nextPageToken": "my_nextPageToken" - * // } + * // {} * } * * main().catch(e => { @@ -10465,55 +10813,53 @@ export namespace displayvideo_v2 { * @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$Advertisers$Creatives$List, - options: StreamMethodOptions + delete( + params: Params$Resource$Advertisers$Creatives$Delete, + options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Advertisers$Creatives$List, + delete( + params?: Params$Resource$Advertisers$Creatives$Delete, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Advertisers$Creatives$List, + ): Promise>; + delete( + params: Params$Resource$Advertisers$Creatives$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Creatives$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Creatives$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Creatives$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Creatives$Delete, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$List - | BodyResponseCallback + | Params$Resource$Advertisers$Creatives$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$List; + {}) as Params$Resource$Advertisers$Creatives$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$List; + params = {} as Params$Resource$Advertisers$Creatives$Delete; options = {}; } @@ -10527,30 +10873,31 @@ export namespace displayvideo_v2 { options: Object.assign( { url: ( - rootUrl + '/v2/advertisers/{+advertiserId}/creatives' + rootUrl + + '/v2/advertisers/{+advertiserId}/creatives/{+creativeId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: ['advertiserId', 'creativeId'], + pathParams: ['advertiserId', 'creativeId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates an existing creative. Returns the updated creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * Gets a creative. * @example * ```js * // Before running the sample: @@ -10579,67 +10926,11 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.creatives.patch({ - * // Output only. The unique ID of the advertiser the creative belongs to. + * const res = await displayvideo.advertisers.creatives.get({ + * // Required. The ID of the advertiser this creative belongs to. * advertiserId: '[^/]+', - * // Output only. The unique ID of the creative. Assigned by the system. + * // Required. The ID of the creative to fetch. * creativeId: '[^/]+', - * // Required. The mask to control which fields to update. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "additionalDimensions": [], - * // "advertiserId": "my_advertiserId", - * // "appendedTag": "my_appendedTag", - * // "assets": [], - * // "cmPlacementId": "my_cmPlacementId", - * // "cmTrackingAd": {}, - * // "companionCreativeIds": [], - * // "counterEvents": [], - * // "createTime": "my_createTime", - * // "creativeAttributes": [], - * // "creativeId": "my_creativeId", - * // "creativeType": "my_creativeType", - * // "dimensions": {}, - * // "displayName": "my_displayName", - * // "dynamic": false, - * // "entityStatus": "my_entityStatus", - * // "exitEvents": [], - * // "expandOnHover": false, - * // "expandingDirection": "my_expandingDirection", - * // "hostingSource": "my_hostingSource", - * // "html5Video": false, - * // "iasCampaignMonitoring": false, - * // "integrationCode": "my_integrationCode", - * // "jsTrackerUrl": "my_jsTrackerUrl", - * // "lineItemIds": [], - * // "mediaDuration": "my_mediaDuration", - * // "mp3Audio": false, - * // "name": "my_name", - * // "notes": "my_notes", - * // "obaIcon": {}, - * // "oggAudio": false, - * // "progressOffset": {}, - * // "requireHtml5": false, - * // "requireMraid": false, - * // "requirePingForAttribution": false, - * // "reviewStatus": {}, - * // "skipOffset": {}, - * // "skippable": false, - * // "thirdPartyTag": "my_thirdPartyTag", - * // "thirdPartyUrls": [], - * // "timerEvents": [], - * // "trackerUrls": [], - * // "transcodes": [], - * // "universalAdId": {}, - * // "updateTime": "my_updateTime", - * // "vastTagUrl": "my_vastTagUrl", - * // "vpaid": false - * // } - * }, * }); * console.log(res.data); * @@ -10707,32 +10998,32 @@ export namespace displayvideo_v2 { * @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$Advertisers$Creatives$Patch, + get( + params: Params$Resource$Advertisers$Creatives$Get, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Advertisers$Creatives$Patch, + get( + params?: Params$Resource$Advertisers$Creatives$Get, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Advertisers$Creatives$Patch, + get( + params: Params$Resource$Advertisers$Creatives$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Creatives$Patch, + get( + params: Params$Resource$Advertisers$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Creatives$Patch, + get( + params: Params$Resource$Advertisers$Creatives$Get, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$Patch + | Params$Resource$Advertisers$Creatives$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -10748,12 +11039,12 @@ export namespace displayvideo_v2 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$Patch; + {}) as Params$Resource$Advertisers$Creatives$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$Patch; + params = {} as Params$Resource$Advertisers$Creatives$Get; options = {}; } @@ -10770,7 +11061,7 @@ export namespace displayvideo_v2 { rootUrl + '/v2/advertisers/{+advertiserId}/creatives/{+creativeId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -10789,48 +11080,436 @@ export namespace displayvideo_v2 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Advertisers$Creatives$Create - extends StandardParameters { - /** - * Output only. The unique ID of the advertiser the creative belongs to. - */ - advertiserId?: string; /** - * Request body metadata - */ - requestBody?: Schema$Creative; - } - export interface Params$Resource$Advertisers$Creatives$Delete - extends StandardParameters { - /** - * The ID of the advertiser this creative belongs to. - */ - advertiserId?: string; - /** - * The ID of the creative to be deleted. - */ - creativeId?: string; - } - export interface Params$Resource$Advertisers$Creatives$Get - extends StandardParameters { - /** - * Required. The ID of the advertiser this creative belongs to. - */ - advertiserId?: string; - /** - * Required. The ID of the creative to fetch. - */ - creativeId?: string; - } - export interface Params$Resource$Advertisers$Creatives$List - extends StandardParameters { - /** - * Required. The ID of the advertiser to list creatives for. + * Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.creatives.list({ + * // Required. The ID of the advertiser to list creatives for. + * advertiserId: '[^/]+', + * // Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width\}x{height\}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange\}-{reviewStatus\}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true" AND minDuration="5.2s" AND (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All video creatives that are associated with line item ID 1 or 2: `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `createTime desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creatives": [], + * // "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. */ - advertiserId?: string; + list( + params: Params$Resource$Advertisers$Creatives$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Advertisers$Creatives$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Advertisers$Creatives$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Advertisers$Creatives$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Advertisers$Creatives$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Advertisers$Creatives$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Creatives$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Creatives$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v2/advertisers/{+advertiserId}/creatives' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates an existing creative. Returns the updated creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.creatives.patch({ + * // Output only. The unique ID of the advertiser the creative belongs to. + * advertiserId: '[^/]+', + * // Output only. The unique ID of the creative. Assigned by the system. + * creativeId: '[^/]+', + * // Required. The mask to control which fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "additionalDimensions": [], + * // "advertiserId": "my_advertiserId", + * // "appendedTag": "my_appendedTag", + * // "assets": [], + * // "cmPlacementId": "my_cmPlacementId", + * // "cmTrackingAd": {}, + * // "companionCreativeIds": [], + * // "counterEvents": [], + * // "createTime": "my_createTime", + * // "creativeAttributes": [], + * // "creativeId": "my_creativeId", + * // "creativeType": "my_creativeType", + * // "dimensions": {}, + * // "displayName": "my_displayName", + * // "dynamic": false, + * // "entityStatus": "my_entityStatus", + * // "exitEvents": [], + * // "expandOnHover": false, + * // "expandingDirection": "my_expandingDirection", + * // "hostingSource": "my_hostingSource", + * // "html5Video": false, + * // "iasCampaignMonitoring": false, + * // "integrationCode": "my_integrationCode", + * // "jsTrackerUrl": "my_jsTrackerUrl", + * // "lineItemIds": [], + * // "mediaDuration": "my_mediaDuration", + * // "mp3Audio": false, + * // "name": "my_name", + * // "notes": "my_notes", + * // "obaIcon": {}, + * // "oggAudio": false, + * // "progressOffset": {}, + * // "requireHtml5": false, + * // "requireMraid": false, + * // "requirePingForAttribution": false, + * // "reviewStatus": {}, + * // "skipOffset": {}, + * // "skippable": false, + * // "thirdPartyTag": "my_thirdPartyTag", + * // "thirdPartyUrls": [], + * // "timerEvents": [], + * // "trackerUrls": [], + * // "transcodes": [], + * // "universalAdId": {}, + * // "updateTime": "my_updateTime", + * // "vastTagUrl": "my_vastTagUrl", + * // "vpaid": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "additionalDimensions": [], + * // "advertiserId": "my_advertiserId", + * // "appendedTag": "my_appendedTag", + * // "assets": [], + * // "cmPlacementId": "my_cmPlacementId", + * // "cmTrackingAd": {}, + * // "companionCreativeIds": [], + * // "counterEvents": [], + * // "createTime": "my_createTime", + * // "creativeAttributes": [], + * // "creativeId": "my_creativeId", + * // "creativeType": "my_creativeType", + * // "dimensions": {}, + * // "displayName": "my_displayName", + * // "dynamic": false, + * // "entityStatus": "my_entityStatus", + * // "exitEvents": [], + * // "expandOnHover": false, + * // "expandingDirection": "my_expandingDirection", + * // "hostingSource": "my_hostingSource", + * // "html5Video": false, + * // "iasCampaignMonitoring": false, + * // "integrationCode": "my_integrationCode", + * // "jsTrackerUrl": "my_jsTrackerUrl", + * // "lineItemIds": [], + * // "mediaDuration": "my_mediaDuration", + * // "mp3Audio": false, + * // "name": "my_name", + * // "notes": "my_notes", + * // "obaIcon": {}, + * // "oggAudio": false, + * // "progressOffset": {}, + * // "requireHtml5": false, + * // "requireMraid": false, + * // "requirePingForAttribution": false, + * // "reviewStatus": {}, + * // "skipOffset": {}, + * // "skippable": false, + * // "thirdPartyTag": "my_thirdPartyTag", + * // "thirdPartyUrls": [], + * // "timerEvents": [], + * // "trackerUrls": [], + * // "transcodes": [], + * // "universalAdId": {}, + * // "updateTime": "my_updateTime", + * // "vastTagUrl": "my_vastTagUrl", + * // "vpaid": 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$Advertisers$Creatives$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Advertisers$Creatives$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Advertisers$Creatives$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Advertisers$Creatives$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Advertisers$Creatives$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Advertisers$Creatives$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Creatives$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Creatives$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v2/advertisers/{+advertiserId}/creatives/{+creativeId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'creativeId'], + pathParams: ['advertiserId', 'creativeId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Advertisers$Creatives$Create + extends StandardParameters { + /** + * Output only. The unique ID of the advertiser the creative belongs to. + */ + advertiserId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + export interface Params$Resource$Advertisers$Creatives$Delete + extends StandardParameters { + /** + * The ID of the advertiser this creative belongs to. + */ + advertiserId?: string; + /** + * The ID of the creative to be deleted. + */ + creativeId?: string; + } + export interface Params$Resource$Advertisers$Creatives$Get + extends StandardParameters { + /** + * Required. The ID of the advertiser this creative belongs to. + */ + advertiserId?: string; + /** + * Required. The ID of the creative to fetch. + */ + creativeId?: string; + } + export interface Params$Resource$Advertisers$Creatives$List + extends StandardParameters { + /** + * Required. The ID of the advertiser to list creatives for. + */ + advertiserId?: string; /** * Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width\}x{height\}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange\}-{reviewStatus\}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true" AND minDuration="5.2s" AND (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All video creatives that are associated with line item ID 1 or 2: `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. */ @@ -10853,30 +11532,812 @@ export namespace displayvideo_v2 { /** * Output only. The unique ID of the advertiser the creative belongs to. */ - advertiserId?: string; + advertiserId?: string; + /** + * Output only. The unique ID of the creative. Assigned by the system. + */ + creativeId?: string; + /** + * Required. The mask to control which fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + + export class Resource$Advertisers$Insertionorders { + context: APIRequestContext; + targetingTypes: Resource$Advertisers$Insertionorders$Targetingtypes; + constructor(context: APIRequestContext) { + this.context = context; + this.targetingTypes = + new Resource$Advertisers$Insertionorders$Targetingtypes(this.context); + } + + /** + * Creates a new insertion order. Returns the newly created insertion order if successful. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.insertionOrders.create({ + * // Output only. The unique ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advertiserId": "my_advertiserId", + * // "bidStrategy": {}, + * // "billableOutcome": "my_billableOutcome", + * // "budget": {}, + * // "campaignId": "my_campaignId", + * // "displayName": "my_displayName", + * // "entityStatus": "my_entityStatus", + * // "frequencyCap": {}, + * // "insertionOrderId": "my_insertionOrderId", + * // "insertionOrderType": "my_insertionOrderType", + * // "integrationDetails": {}, + * // "name": "my_name", + * // "pacing": {}, + * // "partnerCosts": [], + * // "performanceGoal": {}, + * // "reservationType": "my_reservationType", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "advertiserId": "my_advertiserId", + * // "bidStrategy": {}, + * // "billableOutcome": "my_billableOutcome", + * // "budget": {}, + * // "campaignId": "my_campaignId", + * // "displayName": "my_displayName", + * // "entityStatus": "my_entityStatus", + * // "frequencyCap": {}, + * // "insertionOrderId": "my_insertionOrderId", + * // "insertionOrderType": "my_insertionOrderType", + * // "integrationDetails": {}, + * // "name": "my_name", + * // "pacing": {}, + * // "partnerCosts": [], + * // "performanceGoal": {}, + * // "reservationType": "my_reservationType", + * // "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$Advertisers$Insertionorders$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Advertisers$Insertionorders$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Advertisers$Insertionorders$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Advertisers$Insertionorders$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Advertisers$Insertionorders$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Insertionorders$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v2/advertisers/{+advertiserId}/insertionOrders' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.insertionOrders.delete({ + * // The ID of the advertiser this insertion order belongs to. + * advertiserId: '[^/]+', + * // The ID of the insertion order to delete. + * insertionOrderId: '[^/]+', + * }); + * 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$Advertisers$Insertionorders$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Advertisers$Insertionorders$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Advertisers$Insertionorders$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Advertisers$Insertionorders$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Advertisers$Insertionorders$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Insertionorders$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'insertionOrderId'], + pathParams: ['advertiserId', 'insertionOrderId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * Output only. The unique ID of the creative. Assigned by the system. + * Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.insertionOrders.get({ + * // Required. The ID of the advertiser this insertion order belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the insertion order to fetch. + * insertionOrderId: '[^/]+', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "advertiserId": "my_advertiserId", + * // "bidStrategy": {}, + * // "billableOutcome": "my_billableOutcome", + * // "budget": {}, + * // "campaignId": "my_campaignId", + * // "displayName": "my_displayName", + * // "entityStatus": "my_entityStatus", + * // "frequencyCap": {}, + * // "insertionOrderId": "my_insertionOrderId", + * // "insertionOrderType": "my_insertionOrderType", + * // "integrationDetails": {}, + * // "name": "my_name", + * // "pacing": {}, + * // "partnerCosts": [], + * // "performanceGoal": {}, + * // "reservationType": "my_reservationType", + * // "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. */ - creativeId?: string; + get( + params: Params$Resource$Advertisers$Insertionorders$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Advertisers$Insertionorders$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Advertisers$Insertionorders$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Advertisers$Insertionorders$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Advertisers$Insertionorders$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Insertionorders$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'insertionOrderId'], + pathParams: ['advertiserId', 'insertionOrderId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * Required. The mask to control which fields to update. + * Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.insertionOrders.list({ + * // Required. The ID of the advertiser to list insertion orders for. + * advertiserId: '[^/]+', + * // Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * "updateTime" The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "insertionOrders": [], + * // "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. */ - updateMask?: string; + list( + params: Params$Resource$Advertisers$Insertionorders$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Advertisers$Insertionorders$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Advertisers$Insertionorders$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Advertisers$Insertionorders$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Advertisers$Insertionorders$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Insertionorders$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v2/advertisers/{+advertiserId}/insertionOrders' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata + * Lists assigned targeting options of an insertion order across targeting types. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('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/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR targetingType="TARGETING_TYPE_CHANNEL"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Required. The ID of the insertion order to list assigned targeting options for. + * insertionOrderId: '[^/]+', + * // Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`. + * orderBy: 'placeholder-value', + * // Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "assignedTargetingOptions": [], + * // "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. */ - requestBody?: Schema$Creative; - } + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + options: StreamMethodOptions + ): Promise>; + listAssignedTargetingOptions( + params?: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions; + let options = (optionsOrCallback || {}) as MethodOptions; - export class Resource$Advertisers$Insertionorders { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'insertionOrderId'], + pathParams: ['advertiserId', 'insertionOrderId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } } /** - * Creates a new insertion order. Returns the newly created insertion order if successful. + * Updates an existing insertion order. Returns the updated insertion order if successful. * @example * ```js * // Before running the sample: @@ -10905,9 +12366,13 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.create({ + * const res = await displayvideo.advertisers.insertionOrders.patch({ * // Output only. The unique ID of the advertiser the insertion order belongs to. * advertiserId: '[^/]+', + * // Output only. The unique ID of the insertion order. Assigned by the system. + * insertionOrderId: '[^/]+', + * // Required. The mask to control which fields to update. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { @@ -10969,32 +12434,32 @@ export namespace displayvideo_v2 { * @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$Advertisers$Insertionorders$Create, + patch( + params: Params$Resource$Advertisers$Insertionorders$Patch, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Advertisers$Insertionorders$Create, + patch( + params?: Params$Resource$Advertisers$Insertionorders$Patch, options?: MethodOptions ): Promise>; - create( - params: Params$Resource$Advertisers$Insertionorders$Create, + patch( + params: Params$Resource$Advertisers$Insertionorders$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Insertionorders$Create, + patch( + params: Params$Resource$Advertisers$Insertionorders$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Insertionorders$Create, + patch( + params: Params$Resource$Advertisers$Insertionorders$Patch, callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$Create + | Params$Resource$Advertisers$Insertionorders$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -11010,12 +12475,12 @@ export namespace displayvideo_v2 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$Create; + {}) as Params$Resource$Advertisers$Insertionorders$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$Create; + params = {} as Params$Resource$Advertisers$Insertionorders$Patch; options = {}; } @@ -11029,16 +12494,17 @@ export namespace displayvideo_v2 { options: Object.assign( { url: ( - rootUrl + '/v2/advertisers/{+advertiserId}/insertionOrders' + rootUrl + + '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: ['advertiserId', 'insertionOrderId'], + pathParams: ['advertiserId', 'insertionOrderId'], context: this.context, }; if (callback) { @@ -11050,9 +12516,133 @@ export namespace displayvideo_v2 { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Advertisers$Insertionorders$Create + extends StandardParameters { /** - * Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + * Output only. The unique ID of the advertiser the insertion order belongs to. + */ + advertiserId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InsertionOrder; + } + export interface Params$Resource$Advertisers$Insertionorders$Delete + extends StandardParameters { + /** + * The ID of the advertiser this insertion order belongs to. + */ + advertiserId?: string; + /** + * The ID of the insertion order to delete. + */ + insertionOrderId?: string; + } + export interface Params$Resource$Advertisers$Insertionorders$Get + extends StandardParameters { + /** + * Required. The ID of the advertiser this insertion order belongs to. + */ + advertiserId?: string; + /** + * Required. The ID of the insertion order to fetch. + */ + insertionOrderId?: string; + } + export interface Params$Resource$Advertisers$Insertionorders$List + extends StandardParameters { + /** + * Required. The ID of the advertiser to list insertion orders for. + */ + advertiserId?: string; + /** + * Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * "updateTime" The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. + */ + orderBy?: string; + /** + * Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + } + export interface Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions + extends StandardParameters { + /** + * Required. The ID of the advertiser the insertion order belongs to. + */ + advertiserId?: string; + /** + * Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR targetingType="TARGETING_TYPE_CHANNEL"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Required. The ID of the insertion order to list assigned targeting options for. + */ + insertionOrderId?: string; + /** + * Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`. + */ + orderBy?: string; + /** + * Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + } + export interface Params$Resource$Advertisers$Insertionorders$Patch + extends StandardParameters { + /** + * Output only. The unique ID of the advertiser the insertion order belongs to. + */ + advertiserId?: string; + /** + * Output only. The unique ID of the insertion order. Assigned by the system. + */ + insertionOrderId?: string; + /** + * Required. The mask to control which fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InsertionOrder; + } + + export class Resource$Advertisers$Insertionorders$Targetingtypes { + context: APIRequestContext; + assignedTargetingOptions: Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions; + constructor(context: APIRequestContext) { + this.context = context; + this.assignedTargetingOptions = + new Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions( + this.context + ); + } + } + + export class Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Assigns a targeting option to an insertion order. Returns the assigned targeting option if successful. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` * @example * ```js * // Before running the sample: @@ -11081,16 +12671,135 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.delete({ - * // The ID of the advertiser this insertion order belongs to. - * advertiserId: '[^/]+', - * // The ID of the insertion order to delete. - * insertionOrderId: '[^/]+', - * }); + * const res = + * await displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the insertion order the assigned targeting option will belong to. + * insertionOrderId: '[^/]+', + * // Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "ageRangeDetails": {}, + * // "appCategoryDetails": {}, + * // "appDetails": {}, + * // "assignedTargetingOptionId": "my_assignedTargetingOptionId", + * // "assignedTargetingOptionIdAlias": "my_assignedTargetingOptionIdAlias", + * // "audienceGroupDetails": {}, + * // "audioContentTypeDetails": {}, + * // "authorizedSellerStatusDetails": {}, + * // "browserDetails": {}, + * // "businessChainDetails": {}, + * // "carrierAndIspDetails": {}, + * // "categoryDetails": {}, + * // "channelDetails": {}, + * // "contentDurationDetails": {}, + * // "contentGenreDetails": {}, + * // "contentInstreamPositionDetails": {}, + * // "contentOutstreamPositionDetails": {}, + * // "contentStreamTypeDetails": {}, + * // "dayAndTimeDetails": {}, + * // "deviceMakeModelDetails": {}, + * // "deviceTypeDetails": {}, + * // "digitalContentLabelExclusionDetails": {}, + * // "environmentDetails": {}, + * // "exchangeDetails": {}, + * // "genderDetails": {}, + * // "geoRegionDetails": {}, + * // "householdIncomeDetails": {}, + * // "inheritance": "my_inheritance", + * // "inventorySourceDetails": {}, + * // "inventorySourceGroupDetails": {}, + * // "keywordDetails": {}, + * // "languageDetails": {}, + * // "name": "my_name", + * // "nativeContentPositionDetails": {}, + * // "negativeKeywordListDetails": {}, + * // "omidDetails": {}, + * // "onScreenPositionDetails": {}, + * // "operatingSystemDetails": {}, + * // "parentalStatusDetails": {}, + * // "poiDetails": {}, + * // "proximityLocationListDetails": {}, + * // "regionalLocationListDetails": {}, + * // "sensitiveCategoryExclusionDetails": {}, + * // "sessionPositionDetails": {}, + * // "subExchangeDetails": {}, + * // "targetingType": "my_targetingType", + * // "thirdPartyVerifierDetails": {}, + * // "urlDetails": {}, + * // "userRewardedContentDetails": {}, + * // "videoPlayerSizeDetails": {}, + * // "viewabilityDetails": {}, + * // "youtubeChannelDetails": {}, + * // "youtubeVideoDetails": {} + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response - * // {} + * // { + * // "ageRangeDetails": {}, + * // "appCategoryDetails": {}, + * // "appDetails": {}, + * // "assignedTargetingOptionId": "my_assignedTargetingOptionId", + * // "assignedTargetingOptionIdAlias": "my_assignedTargetingOptionIdAlias", + * // "audienceGroupDetails": {}, + * // "audioContentTypeDetails": {}, + * // "authorizedSellerStatusDetails": {}, + * // "browserDetails": {}, + * // "businessChainDetails": {}, + * // "carrierAndIspDetails": {}, + * // "categoryDetails": {}, + * // "channelDetails": {}, + * // "contentDurationDetails": {}, + * // "contentGenreDetails": {}, + * // "contentInstreamPositionDetails": {}, + * // "contentOutstreamPositionDetails": {}, + * // "contentStreamTypeDetails": {}, + * // "dayAndTimeDetails": {}, + * // "deviceMakeModelDetails": {}, + * // "deviceTypeDetails": {}, + * // "digitalContentLabelExclusionDetails": {}, + * // "environmentDetails": {}, + * // "exchangeDetails": {}, + * // "genderDetails": {}, + * // "geoRegionDetails": {}, + * // "householdIncomeDetails": {}, + * // "inheritance": "my_inheritance", + * // "inventorySourceDetails": {}, + * // "inventorySourceGroupDetails": {}, + * // "keywordDetails": {}, + * // "languageDetails": {}, + * // "name": "my_name", + * // "nativeContentPositionDetails": {}, + * // "negativeKeywordListDetails": {}, + * // "omidDetails": {}, + * // "onScreenPositionDetails": {}, + * // "operatingSystemDetails": {}, + * // "parentalStatusDetails": {}, + * // "poiDetails": {}, + * // "proximityLocationListDetails": {}, + * // "regionalLocationListDetails": {}, + * // "sensitiveCategoryExclusionDetails": {}, + * // "sessionPositionDetails": {}, + * // "subExchangeDetails": {}, + * // "targetingType": "my_targetingType", + * // "thirdPartyVerifierDetails": {}, + * // "urlDetails": {}, + * // "userRewardedContentDetails": {}, + * // "videoPlayerSizeDetails": {}, + * // "viewabilityDetails": {}, + * // "youtubeChannelDetails": {}, + * // "youtubeVideoDetails": {} + * // } * } * * main().catch(e => { @@ -11105,53 +12814,58 @@ export namespace displayvideo_v2 { * @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$Advertisers$Insertionorders$Delete, + create( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Advertisers$Insertionorders$Delete, + create( + params?: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Advertisers$Insertionorders$Delete, + ): Promise>; + create( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Insertionorders$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Insertionorders$Delete, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$Delete - | BodyResponseCallback + | Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$Delete; + {}) as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$Delete; + params = + {} as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create; options = {}; } @@ -11166,30 +12880,30 @@ export namespace displayvideo_v2 { { url: ( rootUrl + - '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'insertionOrderId'], - pathParams: ['advertiserId', 'insertionOrderId'], + requiredParams: ['advertiserId', 'insertionOrderId', 'targetingType'], + pathParams: ['advertiserId', 'insertionOrderId', 'targetingType'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. + * Deletes an assigned targeting option from an insertion order. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` * @example * ```js * // Before running the sample: @@ -11218,34 +12932,23 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.get({ - * // Required. The ID of the advertiser this insertion order belongs to. - * advertiserId: '[^/]+', - * // Required. The ID of the insertion order to fetch. - * insertionOrderId: '[^/]+', - * }); + * const res = + * await displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the assigned targeting option to delete. + * assignedTargetingOptionId: '[^/]+', + * // Required. The ID of the insertion order the assigned targeting option belongs to. + * insertionOrderId: '[^/]+', + * // Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response - * // { - * // "advertiserId": "my_advertiserId", - * // "bidStrategy": {}, - * // "billableOutcome": "my_billableOutcome", - * // "budget": {}, - * // "campaignId": "my_campaignId", - * // "displayName": "my_displayName", - * // "entityStatus": "my_entityStatus", - * // "frequencyCap": {}, - * // "insertionOrderId": "my_insertionOrderId", - * // "insertionOrderType": "my_insertionOrderType", - * // "integrationDetails": {}, - * // "name": "my_name", - * // "pacing": {}, - * // "partnerCosts": [], - * // "performanceGoal": {}, - * // "reservationType": "my_reservationType", - * // "updateTime": "my_updateTime" - * // } + * // {} * } * * main().catch(e => { @@ -11260,53 +12963,54 @@ export namespace displayvideo_v2 { * @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$Advertisers$Insertionorders$Get, + delete( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Advertisers$Insertionorders$Get, + delete( + params?: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Advertisers$Insertionorders$Get, + ): Promise>; + delete( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Insertionorders$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Insertionorders$Get, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$Get - | BodyResponseCallback + | Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$Get; + {}) as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$Get; + params = + {} as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete; options = {}; } @@ -11321,30 +13025,40 @@ export namespace displayvideo_v2 { { url: ( rootUrl + - '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'insertionOrderId'], - pathParams: ['advertiserId', 'insertionOrderId'], + requiredParams: [ + 'advertiserId', + 'insertionOrderId', + 'targetingType', + 'assignedTargetingOptionId', + ], + pathParams: [ + 'advertiserId', + 'assignedTargetingOptionId', + 'insertionOrderId', + 'targetingType', + ], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results. + * Gets a single targeting option assigned to an insertion order. * @example * ```js * // Before running the sample: @@ -11373,24 +13087,76 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.list({ - * // Required. The ID of the advertiser to list insertion orders for. - * advertiserId: '[^/]+', - * // Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - * filter: 'placeholder-value', - * // Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * "updateTime" The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. - * orderBy: 'placeholder-value', - * // Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned. - * pageToken: 'placeholder-value', - * }); + * const res = + * await displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested. + * assignedTargetingOptionId: '[^/]+', + * // Required. The ID of the insertion order the assigned targeting option belongs to. + * insertionOrderId: '[^/]+', + * // Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "insertionOrders": [], - * // "nextPageToken": "my_nextPageToken" + * // "ageRangeDetails": {}, + * // "appCategoryDetails": {}, + * // "appDetails": {}, + * // "assignedTargetingOptionId": "my_assignedTargetingOptionId", + * // "assignedTargetingOptionIdAlias": "my_assignedTargetingOptionIdAlias", + * // "audienceGroupDetails": {}, + * // "audioContentTypeDetails": {}, + * // "authorizedSellerStatusDetails": {}, + * // "browserDetails": {}, + * // "businessChainDetails": {}, + * // "carrierAndIspDetails": {}, + * // "categoryDetails": {}, + * // "channelDetails": {}, + * // "contentDurationDetails": {}, + * // "contentGenreDetails": {}, + * // "contentInstreamPositionDetails": {}, + * // "contentOutstreamPositionDetails": {}, + * // "contentStreamTypeDetails": {}, + * // "dayAndTimeDetails": {}, + * // "deviceMakeModelDetails": {}, + * // "deviceTypeDetails": {}, + * // "digitalContentLabelExclusionDetails": {}, + * // "environmentDetails": {}, + * // "exchangeDetails": {}, + * // "genderDetails": {}, + * // "geoRegionDetails": {}, + * // "householdIncomeDetails": {}, + * // "inheritance": "my_inheritance", + * // "inventorySourceDetails": {}, + * // "inventorySourceGroupDetails": {}, + * // "keywordDetails": {}, + * // "languageDetails": {}, + * // "name": "my_name", + * // "nativeContentPositionDetails": {}, + * // "negativeKeywordListDetails": {}, + * // "omidDetails": {}, + * // "onScreenPositionDetails": {}, + * // "operatingSystemDetails": {}, + * // "parentalStatusDetails": {}, + * // "poiDetails": {}, + * // "proximityLocationListDetails": {}, + * // "regionalLocationListDetails": {}, + * // "sensitiveCategoryExclusionDetails": {}, + * // "sessionPositionDetails": {}, + * // "subExchangeDetails": {}, + * // "targetingType": "my_targetingType", + * // "thirdPartyVerifierDetails": {}, + * // "urlDetails": {}, + * // "userRewardedContentDetails": {}, + * // "videoPlayerSizeDetails": {}, + * // "viewabilityDetails": {}, + * // "youtubeChannelDetails": {}, + * // "youtubeVideoDetails": {} * // } * } * @@ -11406,57 +13172,56 @@ export namespace displayvideo_v2 { * @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$Advertisers$Insertionorders$List, + get( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Advertisers$Insertionorders$List, + get( + params?: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Advertisers$Insertionorders$List, + ): Promise>; + get( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Insertionorders$List, + get( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Advertisers$Insertionorders$List, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + get( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, + callback: BodyResponseCallback ): void; - list( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$List - | BodyResponseCallback + | Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$List; + {}) as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$List; + params = + {} as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get; options = {}; } @@ -11470,7 +13235,8 @@ export namespace displayvideo_v2 { options: Object.assign( { url: ( - rootUrl + '/v2/advertisers/{+advertiserId}/insertionOrders' + rootUrl + + '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -11478,22 +13244,32 @@ export namespace displayvideo_v2 { options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: [ + 'advertiserId', + 'insertionOrderId', + 'targetingType', + 'assignedTargetingOptionId', + ], + pathParams: [ + 'advertiserId', + 'assignedTargetingOptionId', + 'insertionOrderId', + 'targetingType', + ], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates an existing insertion order. Returns the updated insertion order if successful. + * Lists the targeting options assigned to an insertion order. * @example * ```js * // Before running the sample: @@ -11522,59 +13298,31 @@ export namespace displayvideo_v2 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.patch({ - * // Output only. The unique ID of the advertiser the insertion order belongs to. - * advertiserId: '[^/]+', - * // Output only. The unique ID of the insertion order. Assigned by the system. - * insertionOrderId: '[^/]+', - * // Required. The mask to control which fields to update. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "bidStrategy": {}, - * // "billableOutcome": "my_billableOutcome", - * // "budget": {}, - * // "campaignId": "my_campaignId", - * // "displayName": "my_displayName", - * // "entityStatus": "my_entityStatus", - * // "frequencyCap": {}, - * // "insertionOrderId": "my_insertionOrderId", - * // "insertionOrderType": "my_insertionOrderType", - * // "integrationDetails": {}, - * // "name": "my_name", - * // "pacing": {}, - * // "partnerCosts": [], - * // "performanceGoal": {}, - * // "reservationType": "my_reservationType", - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * const res = + * await displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Required. The ID of the insertion order to list assigned targeting options for. + * insertionOrderId: '[^/]+', + * // Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * // Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "advertiserId": "my_advertiserId", - * // "bidStrategy": {}, - * // "billableOutcome": "my_billableOutcome", - * // "budget": {}, - * // "campaignId": "my_campaignId", - * // "displayName": "my_displayName", - * // "entityStatus": "my_entityStatus", - * // "frequencyCap": {}, - * // "insertionOrderId": "my_insertionOrderId", - * // "insertionOrderType": "my_insertionOrderType", - * // "integrationDetails": {}, - * // "name": "my_name", - * // "pacing": {}, - * // "partnerCosts": [], - * // "performanceGoal": {}, - * // "reservationType": "my_reservationType", - * // "updateTime": "my_updateTime" + * // "assignedTargetingOptions": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -11590,53 +13338,62 @@ export namespace displayvideo_v2 { * @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$Advertisers$Insertionorders$Patch, + list( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Advertisers$Insertionorders$Patch, + list( + params?: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Advertisers$Insertionorders$Patch, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Insertionorders$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Insertionorders$Patch, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$Patch - | BodyResponseCallback + | Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$Patch; + {}) as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$Patch; + params = + {} as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List; options = {}; } @@ -11651,105 +13408,119 @@ export namespace displayvideo_v2 { { url: ( rootUrl + - '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + '/v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'insertionOrderId'], - pathParams: ['advertiserId', 'insertionOrderId'], + requiredParams: ['advertiserId', 'insertionOrderId', 'targetingType'], + pathParams: ['advertiserId', 'insertionOrderId', 'targetingType'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Advertisers$Insertionorders$Create + export interface Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create extends StandardParameters { /** - * Output only. The unique ID of the advertiser the insertion order belongs to. + * Required. The ID of the advertiser the insertion order belongs to. */ advertiserId?: string; + /** + * Required. The ID of the insertion order the assigned targeting option will belong to. + */ + insertionOrderId?: string; + /** + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; /** * Request body metadata */ - requestBody?: Schema$InsertionOrder; + requestBody?: Schema$AssignedTargetingOption; } - export interface Params$Resource$Advertisers$Insertionorders$Delete + export interface Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete extends StandardParameters { /** - * The ID of the advertiser this insertion order belongs to. + * Required. The ID of the advertiser the insertion order belongs to. */ advertiserId?: string; /** - * The ID of the insertion order to delete. + * Required. The ID of the assigned targeting option to delete. + */ + assignedTargetingOptionId?: string; + /** + * Required. The ID of the insertion order the assigned targeting option belongs to. */ insertionOrderId?: string; + /** + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; } - export interface Params$Resource$Advertisers$Insertionorders$Get + export interface Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get extends StandardParameters { /** - * Required. The ID of the advertiser this insertion order belongs to. + * Required. The ID of the advertiser the insertion order belongs to. */ advertiserId?: string; /** - * Required. The ID of the insertion order to fetch. + * Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested. + */ + assignedTargetingOptionId?: string; + /** + * Required. The ID of the insertion order the assigned targeting option belongs to. */ insertionOrderId?: string; + /** + * Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; } - export interface Params$Resource$Advertisers$Insertionorders$List + export interface Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List extends StandardParameters { /** - * Required. The ID of the advertiser to list insertion orders for. + * Required. The ID of the advertiser the insertion order belongs to. */ advertiserId?: string; /** - * Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. */ filter?: string; /** - * Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * "updateTime" The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. + * Required. The ID of the insertion order to list assigned targeting options for. + */ + insertionOrderId?: string; + /** + * Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. */ orderBy?: string; /** - * Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. */ pageSize?: number; /** - * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned. + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned. */ pageToken?: string; - } - export interface Params$Resource$Advertisers$Insertionorders$Patch - extends StandardParameters { /** - * Output only. The unique ID of the advertiser the insertion order belongs to. - */ - advertiserId?: string; - /** - * Output only. The unique ID of the insertion order. Assigned by the system. - */ - insertionOrderId?: string; - /** - * Required. The mask to control which fields to update. - */ - updateMask?: string; - - /** - * Request body metadata + * Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` */ - requestBody?: Schema$InsertionOrder; + targetingType?: string; } export class Resource$Advertisers$Invoices { diff --git a/src/apis/displayvideo/v4.ts b/src/apis/displayvideo/v4.ts index 112eb87d450..11ba0d62a67 100644 --- a/src/apis/displayvideo/v4.ts +++ b/src/apis/displayvideo/v4.ts @@ -1518,6 +1518,26 @@ export namespace displayvideo_v4 { */ nextPageToken?: string | null; } + export interface Schema$BulkListCampaignAssignedTargetingOptionsResponse { + /** + * The list of assigned targeting options. This list will be absent if empty. + */ + assignedTargetingOptions?: Schema$AssignedTargetingOption[]; + /** + * A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return. + */ + nextPageToken?: string | null; + } + export interface Schema$BulkListInsertionOrderAssignedTargetingOptionsResponse { + /** + * The list of assigned targeting options. This list will be absent if empty. + */ + assignedTargetingOptions?: Schema$AssignedTargetingOption[]; + /** + * A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return. + */ + nextPageToken?: string | null; + } /** * Request message for LineItemService.BulkUpdateLineItems. */ @@ -4398,6 +4418,19 @@ export namespace displayvideo_v4 { */ nextPageToken?: string | null; } + /** + * Response message for ListCampaignAssignedTargetingOptions. + */ + export interface Schema$ListCampaignAssignedTargetingOptionsResponse { + /** + * The list of assigned targeting options. This list will be absent if empty. + */ + assignedTargetingOptions?: Schema$AssignedTargetingOption[]; + /** + * A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return. + */ + nextPageToken?: string | null; + } export interface Schema$ListCampaignsResponse { /** * The list of campaigns. This list will be absent if empty. @@ -4518,6 +4551,16 @@ export namespace displayvideo_v4 { */ nextPageToken?: string | null; } + export interface Schema$ListInsertionOrderAssignedTargetingOptionsResponse { + /** + * The list of assigned targeting options. This list will be absent if empty. + */ + assignedTargetingOptions?: Schema$AssignedTargetingOption[]; + /** + * A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return. + */ + nextPageToken?: string | null; + } export interface Schema$ListInsertionOrdersResponse { /** * The list of insertion orders. This list will be absent if empty. @@ -9296,8 +9339,12 @@ export namespace displayvideo_v4 { export class Resource$Advertisers$Campaigns { context: APIRequestContext; + targetingTypes: Resource$Advertisers$Campaigns$Targetingtypes; constructor(context: APIRequestContext) { this.context = context; + this.targetingTypes = new Resource$Advertisers$Campaigns$Targetingtypes( + this.context + ); } /** @@ -9906,6 +9953,166 @@ export namespace displayvideo_v4 { } } + /** + * Lists assigned targeting options of a campaign across targeting types. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await displayvideo.advertisers.campaigns.listAssignedTargetingOptions({ + * // Required. The ID of the advertiser the campaign belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the campaign to list assigned targeting options for. + * campaignId: '[^/]+', + * // Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: `targetingType="TARGETING_TYPE_LANGUAGE" OR targetingType="TARGETING_TYPE_GENDER"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`. + * orderBy: 'placeholder-value', + * // Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "assignedTargetingOptions": [], + * // "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. + */ + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + options: StreamMethodOptions + ): Promise>; + listAssignedTargetingOptions( + params?: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + paramsOrCallback?: + | Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v4/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'campaignId'], + pathParams: ['advertiserId', 'campaignId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Updates an existing campaign. Returns the updated campaign if successful. * @example @@ -10134,6 +10341,33 @@ export namespace displayvideo_v4 { */ pageToken?: string; } + export interface Params$Resource$Advertisers$Campaigns$Listassignedtargetingoptions + extends StandardParameters { + /** + * Required. The ID of the advertiser the campaign belongs to. + */ + advertiserId?: string; + /** + * Required. The ID of the campaign to list assigned targeting options for. + */ + campaignId?: string; + /** + * Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: `targetingType="TARGETING_TYPE_LANGUAGE" OR targetingType="TARGETING_TYPE_GENDER"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`. + */ + orderBy?: string; + /** + * Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + } export interface Params$Resource$Advertisers$Campaigns$Patch extends StandardParameters { /** @@ -10155,16 +10389,26 @@ export namespace displayvideo_v4 { requestBody?: Schema$Campaign; } - export class Resource$Advertisers$Channels { + export class Resource$Advertisers$Campaigns$Targetingtypes { + context: APIRequestContext; + assignedTargetingOptions: Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions; + constructor(context: APIRequestContext) { + this.context = context; + this.assignedTargetingOptions = + new Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions( + this.context + ); + } + } + + export class Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions { context: APIRequestContext; - sites: Resource$Advertisers$Channels$Sites; constructor(context: APIRequestContext) { this.context = context; - this.sites = new Resource$Advertisers$Channels$Sites(this.context); } /** - * Creates a new channel. Returns the newly created channel if successful. + * Gets a single targeting option assigned to a campaign. * @example * ```js * // Before running the sample: @@ -10193,99 +10437,142 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.create({ - * // The ID of the advertiser that owns the created channel. - * advertiserId: '[^/]+', - * // The ID of the partner that owns the created channel. - * partnerId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "channelId": "my_channelId", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", - * // "partnerId": "my_partnerId", - * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" - * // } - * }, - * }); + * const res = + * await displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get( + * { + * // Required. The ID of the advertiser the campaign belongs to. + * advertiserId: '[^/]+', + * // Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested. + * assignedTargetingOptionId: '[^/]+', + * // Required. The ID of the campaign the assigned targeting option belongs to. + * campaignId: '[^/]+', + * // Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "advertiserId": "my_advertiserId", - * // "channelId": "my_channelId", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", - * // "partnerId": "my_partnerId", - * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `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$Advertisers$Channels$Create, - options: StreamMethodOptions - ): Promise>; - create( - params?: Params$Resource$Advertisers$Channels$Create, + * // "ageRangeDetails": {}, + * // "appCategoryDetails": {}, + * // "appDetails": {}, + * // "assignedTargetingOptionId": "my_assignedTargetingOptionId", + * // "assignedTargetingOptionIdAlias": "my_assignedTargetingOptionIdAlias", + * // "audienceGroupDetails": {}, + * // "audioContentTypeDetails": {}, + * // "authorizedSellerStatusDetails": {}, + * // "browserDetails": {}, + * // "businessChainDetails": {}, + * // "carrierAndIspDetails": {}, + * // "categoryDetails": {}, + * // "channelDetails": {}, + * // "contentDurationDetails": {}, + * // "contentGenreDetails": {}, + * // "contentInstreamPositionDetails": {}, + * // "contentOutstreamPositionDetails": {}, + * // "contentStreamTypeDetails": {}, + * // "contentThemeExclusionDetails": {}, + * // "dayAndTimeDetails": {}, + * // "deviceMakeModelDetails": {}, + * // "deviceTypeDetails": {}, + * // "digitalContentLabelExclusionDetails": {}, + * // "environmentDetails": {}, + * // "exchangeDetails": {}, + * // "genderDetails": {}, + * // "geoRegionDetails": {}, + * // "householdIncomeDetails": {}, + * // "inheritance": "my_inheritance", + * // "inventorySourceDetails": {}, + * // "inventorySourceGroupDetails": {}, + * // "keywordDetails": {}, + * // "languageDetails": {}, + * // "name": "my_name", + * // "nativeContentPositionDetails": {}, + * // "negativeKeywordListDetails": {}, + * // "omidDetails": {}, + * // "onScreenPositionDetails": {}, + * // "operatingSystemDetails": {}, + * // "parentalStatusDetails": {}, + * // "poiDetails": {}, + * // "proximityLocationListDetails": {}, + * // "regionalLocationListDetails": {}, + * // "sensitiveCategoryExclusionDetails": {}, + * // "sessionPositionDetails": {}, + * // "subExchangeDetails": {}, + * // "targetingType": "my_targetingType", + * // "thirdPartyVerifierDetails": {}, + * // "urlDetails": {}, + * // "userRewardedContentDetails": {}, + * // "videoPlayerSizeDetails": {}, + * // "viewabilityDetails": {}, + * // "youtubeChannelDetails": {}, + * // "youtubeVideoDetails": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Advertisers$Channels$Create, + ): Promise>; + get( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Channels$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Channels$Create, - callback: BodyResponseCallback + get( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Create - | BodyResponseCallback + | Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Create; + {}) as Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Create; + params = + {} as Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get; options = {}; } @@ -10298,32 +10585,42 @@ export namespace displayvideo_v4 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v4/advertisers/{+advertiserId}/channels').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: ( + rootUrl + + '/v4/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: [ + 'advertiserId', + 'campaignId', + 'targetingType', + 'assignedTargetingOptionId', + ], + pathParams: [ + 'advertiserId', + 'assignedTargetingOptionId', + 'campaignId', + 'targetingType', + ], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a channel for a partner or advertiser. + * Lists the targeting options assigned to a campaign for a specified targeting type. * @example * ```js * // Before running the sample: @@ -10352,25 +10649,31 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.get({ - * // The ID of the advertiser that owns the fetched channel. - * advertiserId: '[^/]+', - * // Required. The ID of the channel to fetch. - * channelId: '[^/]+', - * // The ID of the partner that owns the fetched channel. - * partnerId: 'placeholder-value', - * }); + * const res = + * await displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list( + * { + * // Required. The ID of the advertiser the campaign belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the campaign to list assigned targeting options for. + * campaignId: '[^/]+', + * // Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * // Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "advertiserId": "my_advertiserId", - * // "channelId": "my_channelId", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", - * // "partnerId": "my_partnerId", - * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" + * // "assignedTargetingOptions": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -10386,53 +10689,62 @@ export namespace displayvideo_v4 { * @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$Advertisers$Channels$Get, + list( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Advertisers$Channels$Get, + list( + params?: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Advertisers$Channels$Get, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Channels$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Channels$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Get - | BodyResponseCallback + | Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Get; + {}) as Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Get; + params = + {} as Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List; options = {}; } @@ -10446,7 +10758,8 @@ export namespace displayvideo_v4 { options: Object.assign( { url: ( - rootUrl + '/v4/advertisers/{+advertiserId}/channels/{+channelId}' + rootUrl + + '/v4/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -10454,70 +10767,143 @@ export namespace displayvideo_v4 { options ), params, - requiredParams: ['advertiserId', 'channelId'], - pathParams: ['advertiserId', 'channelId'], + requiredParams: ['advertiserId', 'campaignId', 'targetingType'], + pathParams: ['advertiserId', 'campaignId', 'targetingType'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } + } + export interface Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$Get + extends StandardParameters { /** - * Lists channels for a partner or advertiser. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const displayvideo = google.displayvideo('v4'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/display-video'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await displayvideo.advertisers.channels.list({ - * // The ID of the advertiser that owns the channels. - * advertiserId: '[^/]+', - * // Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains "google": `displayName : "google"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - * filter: 'placeholder-value', - * // Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `displayName desc`. - * orderBy: 'placeholder-value', - * // Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned. - * pageToken: 'placeholder-value', - * // The ID of the partner that owns the channels. - * partnerId: 'placeholder-value', - * }); + * Required. The ID of the advertiser the campaign belongs to. + */ + advertiserId?: string; + /** + * Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested. + */ + assignedTargetingOptionId?: string; + /** + * Required. The ID of the campaign the assigned targeting option belongs to. + */ + campaignId?: string; + /** + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; + } + export interface Params$Resource$Advertisers$Campaigns$Targetingtypes$Assignedtargetingoptions$List + extends StandardParameters { + /** + * Required. The ID of the advertiser the campaign belongs to. + */ + advertiserId?: string; + /** + * Required. The ID of the campaign to list assigned targeting options for. + */ + campaignId?: string; + /** + * Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + */ + orderBy?: string; + /** + * Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + /** + * Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; + } + + export class Resource$Advertisers$Channels { + context: APIRequestContext; + sites: Resource$Advertisers$Channels$Sites; + constructor(context: APIRequestContext) { + this.context = context; + this.sites = new Resource$Advertisers$Channels$Sites(this.context); + } + + /** + * Creates a new channel. Returns the newly created channel if successful. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.channels.create({ + * // The ID of the advertiser that owns the created channel. + * advertiserId: '[^/]+', + * // The ID of the partner that owns the created channel. + * partnerId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advertiserId": "my_advertiserId", + * // "channelId": "my_channelId", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", + * // "partnerId": "my_partnerId", + * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "channels": [], - * // "nextPageToken": "my_nextPageToken" + * // "advertiserId": "my_advertiserId", + * // "channelId": "my_channelId", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", + * // "partnerId": "my_partnerId", + * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" * // } * } * @@ -10533,55 +10919,53 @@ export namespace displayvideo_v4 { * @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$Advertisers$Channels$List, + create( + params: Params$Resource$Advertisers$Channels$Create, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Advertisers$Channels$List, + create( + params?: Params$Resource$Advertisers$Channels$Create, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Advertisers$Channels$List, + ): Promise>; + create( + params: Params$Resource$Advertisers$Channels$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Channels$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Channels$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Channels$List, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Channels$Create, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$List - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$List; + {}) as Params$Resource$Advertisers$Channels$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$List; + params = {} as Params$Resource$Advertisers$Channels$Create; options = {}; } @@ -10598,7 +10982,7 @@ export namespace displayvideo_v4 { /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -10609,17 +10993,17 @@ export namespace displayvideo_v4 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates a channel. Returns the updated channel if successful. + * Gets a channel for a partner or advertiser. * @example * ```js * // Before running the sample: @@ -10648,29 +11032,13 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.patch({ - * // The ID of the advertiser that owns the created channel. + * const res = await displayvideo.advertisers.channels.get({ + * // The ID of the advertiser that owns the fetched channel. * advertiserId: '[^/]+', - * // Output only. The unique ID of the channel. Assigned by the system. - * channelId: 'placeholder-value', - * // The ID of the partner that owns the created channel. + * // Required. The ID of the channel to fetch. + * channelId: '[^/]+', + * // The ID of the partner that owns the fetched channel. * partnerId: 'placeholder-value', - * // Required. The mask to control which fields to update. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "channelId": "my_channelId", - * // "displayName": "my_displayName", - * // "name": "my_name", - * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", - * // "partnerId": "my_partnerId", - * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" - * // } - * }, * }); * console.log(res.data); * @@ -10698,32 +11066,32 @@ export namespace displayvideo_v4 { * @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$Advertisers$Channels$Patch, + get( + params: Params$Resource$Advertisers$Channels$Get, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Advertisers$Channels$Patch, + get( + params?: Params$Resource$Advertisers$Channels$Get, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Advertisers$Channels$Patch, + get( + params: Params$Resource$Advertisers$Channels$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Channels$Patch, + get( + params: Params$Resource$Advertisers$Channels$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Channels$Patch, + get( + params: Params$Resource$Advertisers$Channels$Get, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Patch + | Params$Resource$Advertisers$Channels$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -10739,12 +11107,12 @@ export namespace displayvideo_v4 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Patch; + {}) as Params$Resource$Advertisers$Channels$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Patch; + params = {} as Params$Resource$Advertisers$Channels$Get; options = {}; } @@ -10758,9 +11126,9 @@ export namespace displayvideo_v4 { options: Object.assign( { url: ( - rootUrl + '/v4/advertisers/{+advertiserId}/channels/{channelId}' + rootUrl + '/v4/advertisers/{+advertiserId}/channels/{+channelId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -10779,99 +11147,9 @@ export namespace displayvideo_v4 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Advertisers$Channels$Create - extends StandardParameters { - /** - * The ID of the advertiser that owns the created channel. - */ - advertiserId?: string; - /** - * The ID of the partner that owns the created channel. - */ - partnerId?: string; /** - * Request body metadata - */ - requestBody?: Schema$Channel; - } - export interface Params$Resource$Advertisers$Channels$Get - extends StandardParameters { - /** - * The ID of the advertiser that owns the fetched channel. - */ - advertiserId?: string; - /** - * Required. The ID of the channel to fetch. - */ - channelId?: string; - /** - * The ID of the partner that owns the fetched channel. - */ - partnerId?: string; - } - export interface Params$Resource$Advertisers$Channels$List - extends StandardParameters { - /** - * The ID of the advertiser that owns the channels. - */ - advertiserId?: string; - /** - * Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains "google": `displayName : "google"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - */ - filter?: string; - /** - * Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `displayName desc`. - */ - orderBy?: string; - /** - * Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - */ - pageSize?: number; - /** - * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned. - */ - pageToken?: string; - /** - * The ID of the partner that owns the channels. - */ - partnerId?: string; - } - export interface Params$Resource$Advertisers$Channels$Patch - extends StandardParameters { - /** - * The ID of the advertiser that owns the created channel. - */ - advertiserId?: string; - /** - * Output only. The unique ID of the channel. Assigned by the system. - */ - channelId?: string; - /** - * The ID of the partner that owns the created channel. - */ - partnerId?: string; - /** - * Required. The mask to control which fields to update. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Channel; - } - - export class Resource$Advertisers$Channels$Sites { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites. + * Lists channels for a partner or advertiser. * @example * ```js * // Before running the sample: @@ -10900,28 +11178,26 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.bulkEdit({ - * // The ID of the advertiser that owns the parent channel. - * advertiserId: 'placeholder-value', - * // Required. The ID of the parent channel to which the sites belong. - * channelId: '[^/]+', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "createdSites": [], - * // "deletedSites": [], - * // "partnerId": "my_partnerId" - * // } - * }, + * const res = await displayvideo.advertisers.channels.list({ + * // The ID of the advertiser that owns the channels. + * advertiserId: '[^/]+', + * // Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains "google": `displayName : "google"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `displayName desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * // The ID of the partner that owns the channels. + * partnerId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "sites": [] + * // "channels": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -10937,57 +11213,55 @@ export namespace displayvideo_v4 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - bulkEdit( - params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + list( + params: Params$Resource$Advertisers$Channels$List, options: StreamMethodOptions ): Promise>; - bulkEdit( - params?: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + list( + params?: Params$Resource$Advertisers$Channels$List, options?: MethodOptions - ): Promise>; - bulkEdit( - params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + ): Promise>; + list( + params: Params$Resource$Advertisers$Channels$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkEdit( - params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + list( + params: Params$Resource$Advertisers$Channels$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - bulkEdit( - params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - bulkEdit( - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Channels$List, + callback: BodyResponseCallback ): void; - bulkEdit( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$Bulkedit - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$Bulkedit; + {}) as Params$Resource$Advertisers$Channels$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$Bulkedit; + params = {} as Params$Resource$Advertisers$Channels$List; options = {}; } @@ -11000,32 +11274,32 @@ export namespace displayvideo_v4 { const parameters = { options: Object.assign( { - url: ( - rootUrl + - '/v4/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + url: (rootUrl + '/v4/advertisers/{+advertiserId}/channels').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'channelId'], - pathParams: ['advertiserId', 'channelId'], + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a site in a channel. + * Updates a channel. Returns the updated channel if successful. * @example * ```js * // Before running the sample: @@ -11054,20 +11328,27 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.create({ - * // The ID of the advertiser that owns the parent channel. - * advertiserId: 'placeholder-value', - * // Required. The ID of the parent channel in which the site will be created. - * channelId: '[^/]+', - * // The ID of the partner that owns the parent channel. + * const res = await displayvideo.advertisers.channels.patch({ + * // The ID of the advertiser that owns the created channel. + * advertiserId: '[^/]+', + * // Output only. The unique ID of the channel. Assigned by the system. + * channelId: 'placeholder-value', + * // The ID of the partner that owns the created channel. * partnerId: 'placeholder-value', + * // Required. The mask to control which fields to update. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { + * // "advertiserId": "my_advertiserId", + * // "channelId": "my_channelId", + * // "displayName": "my_displayName", * // "name": "my_name", - * // "urlOrAppId": "my_urlOrAppId" + * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", + * // "partnerId": "my_partnerId", + * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" * // } * }, * }); @@ -11075,8 +11356,13 @@ export namespace displayvideo_v4 { * * // Example response * // { + * // "advertiserId": "my_advertiserId", + * // "channelId": "my_channelId", + * // "displayName": "my_displayName", * // "name": "my_name", - * // "urlOrAppId": "my_urlOrAppId" + * // "negativelyTargetedLineItemCount": "my_negativelyTargetedLineItemCount", + * // "partnerId": "my_partnerId", + * // "positivelyTargetedLineItemCount": "my_positivelyTargetedLineItemCount" * // } * } * @@ -11092,53 +11378,53 @@ export namespace displayvideo_v4 { * @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$Advertisers$Channels$Sites$Create, + patch( + params: Params$Resource$Advertisers$Channels$Patch, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Advertisers$Channels$Sites$Create, + patch( + params?: Params$Resource$Advertisers$Channels$Patch, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Advertisers$Channels$Sites$Create, + ): Promise>; + patch( + params: Params$Resource$Advertisers$Channels$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Channels$Sites$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Advertisers$Channels$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Channels$Sites$Create, - callback: BodyResponseCallback + patch( + params: Params$Resource$Advertisers$Channels$Patch, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$Create - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$Create; + {}) as Params$Resource$Advertisers$Channels$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$Create; + params = {} as Params$Resource$Advertisers$Channels$Patch; options = {}; } @@ -11152,10 +11438,9 @@ export namespace displayvideo_v4 { options: Object.assign( { url: ( - rootUrl + - '/v4/advertisers/{advertiserId}/channels/{+channelId}/sites' + rootUrl + '/v4/advertisers/{+advertiserId}/channels/{channelId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options @@ -11166,29 +11451,119 @@ export namespace displayvideo_v4 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Advertisers$Channels$Create + extends StandardParameters { /** - * Deletes a site from a channel. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis + * The ID of the advertiser that owns the created channel. + */ + advertiserId?: string; + /** + * The ID of the partner that owns the created channel. + */ + partnerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + export interface Params$Resource$Advertisers$Channels$Get + extends StandardParameters { + /** + * The ID of the advertiser that owns the fetched channel. + */ + advertiserId?: string; + /** + * Required. The ID of the channel to fetch. + */ + channelId?: string; + /** + * The ID of the partner that owns the fetched channel. + */ + partnerId?: string; + } + export interface Params$Resource$Advertisers$Channels$List + extends StandardParameters { + /** + * The ID of the advertiser that owns the channels. + */ + advertiserId?: string; + /** + * Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains "google": `displayName : "google"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `displayName desc`. + */ + orderBy?: string; + /** + * Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + /** + * The ID of the partner that owns the channels. + */ + partnerId?: string; + } + export interface Params$Resource$Advertisers$Channels$Patch + extends StandardParameters { + /** + * The ID of the advertiser that owns the created channel. + */ + advertiserId?: string; + /** + * Output only. The unique ID of the channel. Assigned by the system. + */ + channelId?: string; + /** + * The ID of the partner that owns the created channel. + */ + partnerId?: string; + /** + * Required. The mask to control which fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Channel; + } + + export class Resource$Advertisers$Channels$Sites { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis * // ``` * * const {google} = require('googleapis'); @@ -11205,20 +11580,29 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.delete({ + * const res = await displayvideo.advertisers.channels.sites.bulkEdit({ * // The ID of the advertiser that owns the parent channel. * advertiserId: 'placeholder-value', - * // Required. The ID of the parent channel to which the site belongs. + * // Required. The ID of the parent channel to which the sites belong. * channelId: '[^/]+', - * // The ID of the partner that owns the parent channel. - * partnerId: 'placeholder-value', - * // Required. The URL or app ID of the site to delete. - * urlOrAppId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advertiserId": "my_advertiserId", + * // "createdSites": [], + * // "deletedSites": [], + * // "partnerId": "my_partnerId" + * // } + * }, * }); * console.log(res.data); * * // Example response - * // {} + * // { + * // "sites": [] + * // } * } * * main().catch(e => { @@ -11233,53 +11617,57 @@ export namespace displayvideo_v4 { * @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$Advertisers$Channels$Sites$Delete, + bulkEdit( + params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Advertisers$Channels$Sites$Delete, + bulkEdit( + params?: Params$Resource$Advertisers$Channels$Sites$Bulkedit, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Advertisers$Channels$Sites$Delete, + ): Promise>; + bulkEdit( + params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Channels$Sites$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + bulkEdit( + params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Channels$Sites$Delete, - callback: BodyResponseCallback + bulkEdit( + params: Params$Resource$Advertisers$Channels$Sites$Bulkedit, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + bulkEdit( + callback: BodyResponseCallback + ): void; + bulkEdit( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$Delete - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$Bulkedit + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$Delete; + {}) as Params$Resource$Advertisers$Channels$Sites$Bulkedit; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$Delete; + params = {} as Params$Resource$Advertisers$Channels$Sites$Bulkedit; options = {}; } @@ -11294,30 +11682,30 @@ export namespace displayvideo_v4 { { url: ( rootUrl + - '/v4/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}' + '/v4/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'channelId', 'urlOrAppId'], - pathParams: ['advertiserId', 'channelId', 'urlOrAppId'], + requiredParams: ['advertiserId', 'channelId'], + pathParams: ['advertiserId', 'channelId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists sites in a channel. + * Creates a site in a channel. * @example * ```js * // Before running the sample: @@ -11346,28 +11734,29 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.list({ + * const res = await displayvideo.advertisers.channels.sites.create({ * // The ID of the advertiser that owns the parent channel. - * advertiserId: '[^/]+', - * // Required. The ID of the parent channel to which the requested sites belong. + * advertiserId: 'placeholder-value', + * // Required. The ID of the parent channel in which the site will be created. * channelId: '[^/]+', - * // Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - * filter: 'placeholder-value', - * // Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `urlOrAppId desc`. - * orderBy: 'placeholder-value', - * // Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned. - * pageToken: 'placeholder-value', * // The ID of the partner that owns the parent channel. * partnerId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name", + * // "urlOrAppId": "my_urlOrAppId" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "sites": [] + * // "name": "my_name", + * // "urlOrAppId": "my_urlOrAppId" * // } * } * @@ -11383,53 +11772,53 @@ export namespace displayvideo_v4 { * @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$Advertisers$Channels$Sites$List, + create( + params: Params$Resource$Advertisers$Channels$Sites$Create, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Advertisers$Channels$Sites$List, + create( + params?: Params$Resource$Advertisers$Channels$Sites$Create, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Advertisers$Channels$Sites$List, + ): Promise>; + create( + params: Params$Resource$Advertisers$Channels$Sites$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Channels$Sites$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Channels$Sites$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Channels$Sites$List, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Channels$Sites$Create, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$List - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$List; + {}) as Params$Resource$Advertisers$Channels$Sites$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$List; + params = {} as Params$Resource$Advertisers$Channels$Sites$Create; options = {}; } @@ -11444,9 +11833,9 @@ export namespace displayvideo_v4 { { url: ( rootUrl + - '/v4/advertisers/{+advertiserId}/channels/{+channelId}/sites' + '/v4/advertisers/{advertiserId}/channels/{+channelId}/sites' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -11457,17 +11846,17 @@ export namespace displayvideo_v4 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors. + * Deletes a site from a channel. * @example * ```js * // Before running the sample: @@ -11496,28 +11885,20 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.channels.sites.replace({ + * const res = await displayvideo.advertisers.channels.sites.delete({ * // The ID of the advertiser that owns the parent channel. * advertiserId: 'placeholder-value', - * // Required. The ID of the parent channel whose sites will be replaced. + * // Required. The ID of the parent channel to which the site belongs. * channelId: '[^/]+', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "newSites": [], - * // "partnerId": "my_partnerId" - * // } - * }, + * // The ID of the partner that owns the parent channel. + * partnerId: 'placeholder-value', + * // Required. The URL or app ID of the site to delete. + * urlOrAppId: '[^/]+', * }); * console.log(res.data); * * // Example response - * // { - * // "sites": [] - * // } + * // {} * } * * main().catch(e => { @@ -11532,55 +11913,53 @@ export namespace displayvideo_v4 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - replace( - params: Params$Resource$Advertisers$Channels$Sites$Replace, + delete( + params: Params$Resource$Advertisers$Channels$Sites$Delete, options: StreamMethodOptions ): Promise>; - replace( - params?: Params$Resource$Advertisers$Channels$Sites$Replace, + delete( + params?: Params$Resource$Advertisers$Channels$Sites$Delete, options?: MethodOptions - ): Promise>; - replace( - params: Params$Resource$Advertisers$Channels$Sites$Replace, + ): Promise>; + delete( + params: Params$Resource$Advertisers$Channels$Sites$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - replace( - params: Params$Resource$Advertisers$Channels$Sites$Replace, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Channels$Sites$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - replace( - params: Params$Resource$Advertisers$Channels$Sites$Replace, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Channels$Sites$Delete, + callback: BodyResponseCallback ): void; - replace(callback: BodyResponseCallback): void; - replace( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Advertisers$Channels$Sites$Replace - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Channels$Sites$Replace; + {}) as Params$Resource$Advertisers$Channels$Sites$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Channels$Sites$Replace; + params = {} as Params$Resource$Advertisers$Channels$Sites$Delete; options = {}; } @@ -11595,140 +11974,30 @@ export namespace displayvideo_v4 { { url: ( rootUrl + - '/v4/advertisers/{advertiserId}/channels/{+channelId}/sites:replace' + '/v4/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'channelId'], - pathParams: ['advertiserId', 'channelId'], + requiredParams: ['advertiserId', 'channelId', 'urlOrAppId'], + pathParams: ['advertiserId', 'channelId', 'urlOrAppId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Advertisers$Channels$Sites$Bulkedit - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel to which the sites belong. - */ - channelId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$BulkEditSitesRequest; - } - export interface Params$Resource$Advertisers$Channels$Sites$Create - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel in which the site will be created. - */ - channelId?: string; - /** - * The ID of the partner that owns the parent channel. - */ - partnerId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Site; - } - export interface Params$Resource$Advertisers$Channels$Sites$Delete - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel to which the site belongs. - */ - channelId?: string; - /** - * The ID of the partner that owns the parent channel. - */ - partnerId?: string; - /** - * Required. The URL or app ID of the site to delete. - */ - urlOrAppId?: string; - } - export interface Params$Resource$Advertisers$Channels$Sites$List - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel to which the requested sites belong. - */ - channelId?: string; - /** - * Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - */ - filter?: string; - /** - * Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `urlOrAppId desc`. - */ - orderBy?: string; - /** - * Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - */ - pageSize?: number; - /** - * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned. - */ - pageToken?: string; - /** - * The ID of the partner that owns the parent channel. - */ - partnerId?: string; - } - export interface Params$Resource$Advertisers$Channels$Sites$Replace - extends StandardParameters { - /** - * The ID of the advertiser that owns the parent channel. - */ - advertiserId?: string; - /** - * Required. The ID of the parent channel whose sites will be replaced. - */ - channelId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ReplaceSitesRequest; - } - - export class Resource$Advertisers$Creatives { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new creative. Returns the newly created creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * Lists sites in a channel. * @example * ```js * // Before running the sample: @@ -11757,115 +12026,28 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.creatives.create({ - * // Output only. The unique ID of the advertiser the creative belongs to. + * const res = await displayvideo.advertisers.channels.sites.list({ + * // The ID of the advertiser that owns the parent channel. * advertiserId: '[^/]+', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "additionalDimensions": [], - * // "advertiserId": "my_advertiserId", - * // "appendedTag": "my_appendedTag", - * // "assets": [], - * // "cmPlacementId": "my_cmPlacementId", - * // "cmTrackingAd": {}, - * // "companionCreativeIds": [], - * // "counterEvents": [], - * // "createTime": "my_createTime", - * // "creativeAttributes": [], - * // "creativeId": "my_creativeId", - * // "creativeType": "my_creativeType", - * // "dimensions": {}, - * // "displayName": "my_displayName", - * // "dynamic": false, - * // "entityStatus": "my_entityStatus", - * // "exitEvents": [], - * // "expandOnHover": false, - * // "expandingDirection": "my_expandingDirection", - * // "hostingSource": "my_hostingSource", - * // "html5Video": false, - * // "iasCampaignMonitoring": false, - * // "integrationCode": "my_integrationCode", - * // "jsTrackerUrl": "my_jsTrackerUrl", - * // "lineItemIds": [], - * // "mediaDuration": "my_mediaDuration", - * // "mp3Audio": false, - * // "name": "my_name", - * // "notes": "my_notes", - * // "obaIcon": {}, - * // "oggAudio": false, - * // "progressOffset": {}, - * // "requireHtml5": false, - * // "requireMraid": false, - * // "requirePingForAttribution": false, - * // "reviewStatus": {}, - * // "skipOffset": {}, - * // "skippable": false, - * // "thirdPartyTag": "my_thirdPartyTag", - * // "thirdPartyUrls": [], - * // "timerEvents": [], - * // "trackerUrls": [], - * // "transcodes": [], - * // "universalAdId": {}, - * // "updateTime": "my_updateTime", - * // "vastTagUrl": "my_vastTagUrl", - * // "vpaid": false - * // } - * }, - * }); - * console.log(res.data); + * // Required. The ID of the parent channel to which the requested sites belong. + * channelId: '[^/]+', + * // Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `urlOrAppId desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * // The ID of the partner that owns the parent channel. + * partnerId: 'placeholder-value', + * }); + * console.log(res.data); * * // Example response * // { - * // "additionalDimensions": [], - * // "advertiserId": "my_advertiserId", - * // "appendedTag": "my_appendedTag", - * // "assets": [], - * // "cmPlacementId": "my_cmPlacementId", - * // "cmTrackingAd": {}, - * // "companionCreativeIds": [], - * // "counterEvents": [], - * // "createTime": "my_createTime", - * // "creativeAttributes": [], - * // "creativeId": "my_creativeId", - * // "creativeType": "my_creativeType", - * // "dimensions": {}, - * // "displayName": "my_displayName", - * // "dynamic": false, - * // "entityStatus": "my_entityStatus", - * // "exitEvents": [], - * // "expandOnHover": false, - * // "expandingDirection": "my_expandingDirection", - * // "hostingSource": "my_hostingSource", - * // "html5Video": false, - * // "iasCampaignMonitoring": false, - * // "integrationCode": "my_integrationCode", - * // "jsTrackerUrl": "my_jsTrackerUrl", - * // "lineItemIds": [], - * // "mediaDuration": "my_mediaDuration", - * // "mp3Audio": false, - * // "name": "my_name", - * // "notes": "my_notes", - * // "obaIcon": {}, - * // "oggAudio": false, - * // "progressOffset": {}, - * // "requireHtml5": false, - * // "requireMraid": false, - * // "requirePingForAttribution": false, - * // "reviewStatus": {}, - * // "skipOffset": {}, - * // "skippable": false, - * // "thirdPartyTag": "my_thirdPartyTag", - * // "thirdPartyUrls": [], - * // "timerEvents": [], - * // "trackerUrls": [], - * // "transcodes": [], - * // "universalAdId": {}, - * // "updateTime": "my_updateTime", - * // "vastTagUrl": "my_vastTagUrl", - * // "vpaid": false + * // "nextPageToken": "my_nextPageToken", + * // "sites": [] * // } * } * @@ -11881,53 +12063,53 @@ export namespace displayvideo_v4 { * @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$Advertisers$Creatives$Create, + list( + params: Params$Resource$Advertisers$Channels$Sites$List, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Advertisers$Creatives$Create, + list( + params?: Params$Resource$Advertisers$Channels$Sites$List, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Advertisers$Creatives$Create, + ): Promise>; + list( + params: Params$Resource$Advertisers$Channels$Sites$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Creatives$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Channels$Sites$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Creatives$Create, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Channels$Sites$List, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$Create - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$Create; + {}) as Params$Resource$Advertisers$Channels$Sites$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$Create; + params = {} as Params$Resource$Advertisers$Channels$Sites$List; options = {}; } @@ -11941,30 +12123,31 @@ export namespace displayvideo_v4 { options: Object.assign( { url: ( - rootUrl + '/v4/advertisers/{+advertiserId}/creatives' + rootUrl + + '/v4/advertisers/{+advertiserId}/channels/{+channelId}/sites' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: ['advertiserId', 'channelId'], + pathParams: ['advertiserId', 'channelId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors. * @example * ```js * // Before running the sample: @@ -11993,16 +12176,28 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.creatives.delete({ - * // The ID of the advertiser this creative belongs to. - * advertiserId: '[^/]+', - * // The ID of the creative to be deleted. - * creativeId: '[^/]+', + * const res = await displayvideo.advertisers.channels.sites.replace({ + * // The ID of the advertiser that owns the parent channel. + * advertiserId: 'placeholder-value', + * // Required. The ID of the parent channel whose sites will be replaced. + * channelId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advertiserId": "my_advertiserId", + * // "newSites": [], + * // "partnerId": "my_partnerId" + * // } + * }, * }); * console.log(res.data); * * // Example response - * // {} + * // { + * // "sites": [] + * // } * } * * main().catch(e => { @@ -12017,53 +12212,55 @@ export namespace displayvideo_v4 { * @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$Advertisers$Creatives$Delete, + replace( + params: Params$Resource$Advertisers$Channels$Sites$Replace, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Advertisers$Creatives$Delete, + replace( + params?: Params$Resource$Advertisers$Channels$Sites$Replace, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Advertisers$Creatives$Delete, + ): Promise>; + replace( + params: Params$Resource$Advertisers$Channels$Sites$Replace, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Creatives$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + replace( + params: Params$Resource$Advertisers$Channels$Sites$Replace, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Creatives$Delete, - callback: BodyResponseCallback + replace( + params: Params$Resource$Advertisers$Channels$Sites$Replace, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + replace(callback: BodyResponseCallback): void; + replace( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$Delete - | BodyResponseCallback + | Params$Resource$Advertisers$Channels$Sites$Replace + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$Delete; + {}) as Params$Resource$Advertisers$Channels$Sites$Replace; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$Delete; + params = {} as Params$Resource$Advertisers$Channels$Sites$Replace; options = {}; } @@ -12078,63 +12275,225 @@ export namespace displayvideo_v4 { { url: ( rootUrl + - '/v4/advertisers/{+advertiserId}/creatives/{+creativeId}' + '/v4/advertisers/{advertiserId}/channels/{+channelId}/sites:replace' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'creativeId'], - pathParams: ['advertiserId', 'creativeId'], + requiredParams: ['advertiserId', 'channelId'], + pathParams: ['advertiserId', 'channelId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Advertisers$Channels$Sites$Bulkedit + extends StandardParameters { /** - * Gets a creative. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const displayvideo = google.displayvideo('v4'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/display-video'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await displayvideo.advertisers.creatives.get({ - * // Required. The ID of the advertiser this creative belongs to. - * advertiserId: '[^/]+', - * // Required. The ID of the creative to fetch. - * creativeId: '[^/]+', + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel to which the sites belong. + */ + channelId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BulkEditSitesRequest; + } + export interface Params$Resource$Advertisers$Channels$Sites$Create + extends StandardParameters { + /** + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel in which the site will be created. + */ + channelId?: string; + /** + * The ID of the partner that owns the parent channel. + */ + partnerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Site; + } + export interface Params$Resource$Advertisers$Channels$Sites$Delete + extends StandardParameters { + /** + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel to which the site belongs. + */ + channelId?: string; + /** + * The ID of the partner that owns the parent channel. + */ + partnerId?: string; + /** + * Required. The URL or app ID of the site to delete. + */ + urlOrAppId?: string; + } + export interface Params$Resource$Advertisers$Channels$Sites$List + extends StandardParameters { + /** + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel to which the requested sites belong. + */ + channelId?: string; + /** + * Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be added to the field name. Example: `urlOrAppId desc`. + */ + orderBy?: string; + /** + * Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + /** + * The ID of the partner that owns the parent channel. + */ + partnerId?: string; + } + export interface Params$Resource$Advertisers$Channels$Sites$Replace + extends StandardParameters { + /** + * The ID of the advertiser that owns the parent channel. + */ + advertiserId?: string; + /** + * Required. The ID of the parent channel whose sites will be replaced. + */ + channelId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReplaceSitesRequest; + } + + export class Resource$Advertisers$Creatives { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new creative. Returns the newly created creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.creatives.create({ + * // Output only. The unique ID of the advertiser the creative belongs to. + * advertiserId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "additionalDimensions": [], + * // "advertiserId": "my_advertiserId", + * // "appendedTag": "my_appendedTag", + * // "assets": [], + * // "cmPlacementId": "my_cmPlacementId", + * // "cmTrackingAd": {}, + * // "companionCreativeIds": [], + * // "counterEvents": [], + * // "createTime": "my_createTime", + * // "creativeAttributes": [], + * // "creativeId": "my_creativeId", + * // "creativeType": "my_creativeType", + * // "dimensions": {}, + * // "displayName": "my_displayName", + * // "dynamic": false, + * // "entityStatus": "my_entityStatus", + * // "exitEvents": [], + * // "expandOnHover": false, + * // "expandingDirection": "my_expandingDirection", + * // "hostingSource": "my_hostingSource", + * // "html5Video": false, + * // "iasCampaignMonitoring": false, + * // "integrationCode": "my_integrationCode", + * // "jsTrackerUrl": "my_jsTrackerUrl", + * // "lineItemIds": [], + * // "mediaDuration": "my_mediaDuration", + * // "mp3Audio": false, + * // "name": "my_name", + * // "notes": "my_notes", + * // "obaIcon": {}, + * // "oggAudio": false, + * // "progressOffset": {}, + * // "requireHtml5": false, + * // "requireMraid": false, + * // "requirePingForAttribution": false, + * // "reviewStatus": {}, + * // "skipOffset": {}, + * // "skippable": false, + * // "thirdPartyTag": "my_thirdPartyTag", + * // "thirdPartyUrls": [], + * // "timerEvents": [], + * // "trackerUrls": [], + * // "transcodes": [], + * // "universalAdId": {}, + * // "updateTime": "my_updateTime", + * // "vastTagUrl": "my_vastTagUrl", + * // "vpaid": false + * // } + * }, * }); * console.log(res.data); * @@ -12202,32 +12561,32 @@ export namespace displayvideo_v4 { * @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$Advertisers$Creatives$Get, + create( + params: Params$Resource$Advertisers$Creatives$Create, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Advertisers$Creatives$Get, + create( + params?: Params$Resource$Advertisers$Creatives$Create, options?: MethodOptions ): Promise>; - get( - params: Params$Resource$Advertisers$Creatives$Get, + create( + params: Params$Resource$Advertisers$Creatives$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Creatives$Get, + create( + params: Params$Resource$Advertisers$Creatives$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Creatives$Get, + create( + params: Params$Resource$Advertisers$Creatives$Create, callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$Get + | Params$Resource$Advertisers$Creatives$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -12243,12 +12602,12 @@ export namespace displayvideo_v4 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$Get; + {}) as Params$Resource$Advertisers$Creatives$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$Get; + params = {} as Params$Resource$Advertisers$Creatives$Create; options = {}; } @@ -12262,17 +12621,16 @@ export namespace displayvideo_v4 { options: Object.assign( { url: ( - rootUrl + - '/v4/advertisers/{+advertiserId}/creatives/{+creativeId}' + rootUrl + '/v4/advertisers/{+advertiserId}/creatives' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'creativeId'], - pathParams: ['advertiserId', 'creativeId'], + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], context: this.context, }; if (callback) { @@ -12286,7 +12644,7 @@ export namespace displayvideo_v4 { } /** - * Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results. + * Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. * @example * ```js * // Before running the sample: @@ -12315,25 +12673,16 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.creatives.list({ - * // Required. The ID of the advertiser to list creatives for. + * const res = await displayvideo.advertisers.creatives.delete({ + * // The ID of the advertiser this creative belongs to. * advertiserId: '[^/]+', - * // Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width\}x{height\}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange\}-{reviewStatus\}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true" AND minDuration="5.2s" AND (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All video creatives that are associated with line item ID 1 or 2: `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - * filter: 'placeholder-value', - * // Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `createTime desc`. - * orderBy: 'placeholder-value', - * // Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned. - * pageToken: 'placeholder-value', + * // The ID of the creative to be deleted. + * creativeId: '[^/]+', * }); * console.log(res.data); * * // Example response - * // { - * // "creatives": [], - * // "nextPageToken": "my_nextPageToken" - * // } + * // {} * } * * main().catch(e => { @@ -12348,55 +12697,53 @@ export namespace displayvideo_v4 { * @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$Advertisers$Creatives$List, + delete( + params: Params$Resource$Advertisers$Creatives$Delete, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Advertisers$Creatives$List, + delete( + params?: Params$Resource$Advertisers$Creatives$Delete, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Advertisers$Creatives$List, + ): Promise>; + delete( + params: Params$Resource$Advertisers$Creatives$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Creatives$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Creatives$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Creatives$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Creatives$Delete, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$List - | BodyResponseCallback + | Params$Resource$Advertisers$Creatives$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$List; + {}) as Params$Resource$Advertisers$Creatives$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$List; + params = {} as Params$Resource$Advertisers$Creatives$Delete; options = {}; } @@ -12410,30 +12757,31 @@ export namespace displayvideo_v4 { options: Object.assign( { url: ( - rootUrl + '/v4/advertisers/{+advertiserId}/creatives' + rootUrl + + '/v4/advertisers/{+advertiserId}/creatives/{+creativeId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: ['advertiserId', 'creativeId'], + pathParams: ['advertiserId', 'creativeId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates an existing creative. Returns the updated creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * Gets a creative. * @example * ```js * // Before running the sample: @@ -12462,67 +12810,11 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.creatives.patch({ - * // Output only. The unique ID of the advertiser the creative belongs to. + * const res = await displayvideo.advertisers.creatives.get({ + * // Required. The ID of the advertiser this creative belongs to. * advertiserId: '[^/]+', - * // Output only. The unique ID of the creative. Assigned by the system. + * // Required. The ID of the creative to fetch. * creativeId: '[^/]+', - * // Required. The mask to control which fields to update. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "additionalDimensions": [], - * // "advertiserId": "my_advertiserId", - * // "appendedTag": "my_appendedTag", - * // "assets": [], - * // "cmPlacementId": "my_cmPlacementId", - * // "cmTrackingAd": {}, - * // "companionCreativeIds": [], - * // "counterEvents": [], - * // "createTime": "my_createTime", - * // "creativeAttributes": [], - * // "creativeId": "my_creativeId", - * // "creativeType": "my_creativeType", - * // "dimensions": {}, - * // "displayName": "my_displayName", - * // "dynamic": false, - * // "entityStatus": "my_entityStatus", - * // "exitEvents": [], - * // "expandOnHover": false, - * // "expandingDirection": "my_expandingDirection", - * // "hostingSource": "my_hostingSource", - * // "html5Video": false, - * // "iasCampaignMonitoring": false, - * // "integrationCode": "my_integrationCode", - * // "jsTrackerUrl": "my_jsTrackerUrl", - * // "lineItemIds": [], - * // "mediaDuration": "my_mediaDuration", - * // "mp3Audio": false, - * // "name": "my_name", - * // "notes": "my_notes", - * // "obaIcon": {}, - * // "oggAudio": false, - * // "progressOffset": {}, - * // "requireHtml5": false, - * // "requireMraid": false, - * // "requirePingForAttribution": false, - * // "reviewStatus": {}, - * // "skipOffset": {}, - * // "skippable": false, - * // "thirdPartyTag": "my_thirdPartyTag", - * // "thirdPartyUrls": [], - * // "timerEvents": [], - * // "trackerUrls": [], - * // "transcodes": [], - * // "universalAdId": {}, - * // "updateTime": "my_updateTime", - * // "vastTagUrl": "my_vastTagUrl", - * // "vpaid": false - * // } - * }, * }); * console.log(res.data); * @@ -12590,32 +12882,32 @@ export namespace displayvideo_v4 { * @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$Advertisers$Creatives$Patch, + get( + params: Params$Resource$Advertisers$Creatives$Get, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Advertisers$Creatives$Patch, + get( + params?: Params$Resource$Advertisers$Creatives$Get, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Advertisers$Creatives$Patch, + get( + params: Params$Resource$Advertisers$Creatives$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Creatives$Patch, + get( + params: Params$Resource$Advertisers$Creatives$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Creatives$Patch, + get( + params: Params$Resource$Advertisers$Creatives$Get, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Advertisers$Creatives$Patch + | Params$Resource$Advertisers$Creatives$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -12631,12 +12923,12 @@ export namespace displayvideo_v4 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Creatives$Patch; + {}) as Params$Resource$Advertisers$Creatives$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Creatives$Patch; + params = {} as Params$Resource$Advertisers$Creatives$Get; options = {}; } @@ -12653,7 +12945,7 @@ export namespace displayvideo_v4 { rootUrl + '/v4/advertisers/{+advertiserId}/creatives/{+creativeId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -12672,49 +12964,437 @@ export namespace displayvideo_v4 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Advertisers$Creatives$Create - extends StandardParameters { - /** - * Output only. The unique ID of the advertiser the creative belongs to. - */ - advertiserId?: string; /** - * Request body metadata - */ - requestBody?: Schema$Creative; - } - export interface Params$Resource$Advertisers$Creatives$Delete - extends StandardParameters { - /** - * The ID of the advertiser this creative belongs to. - */ - advertiserId?: string; - /** - * The ID of the creative to be deleted. - */ - creativeId?: string; - } - export interface Params$Resource$Advertisers$Creatives$Get - extends StandardParameters { - /** - * Required. The ID of the advertiser this creative belongs to. - */ - advertiserId?: string; - /** - * Required. The ID of the creative to fetch. - */ - creativeId?: string; - } - export interface Params$Resource$Advertisers$Creatives$List - extends StandardParameters { - /** - * Required. The ID of the advertiser to list creatives for. + * Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.creatives.list({ + * // Required. The ID of the advertiser to list creatives for. + * advertiserId: '[^/]+', + * // Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width\}x{height\}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange\}-{reviewStatus\}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true" AND minDuration="5.2s" AND (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All video creatives that are associated with line item ID 1 or 2: `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `createTime desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creatives": [], + * // "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. */ - advertiserId?: string; - /** + list( + params: Params$Resource$Advertisers$Creatives$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Advertisers$Creatives$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Advertisers$Creatives$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Advertisers$Creatives$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Advertisers$Creatives$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Advertisers$Creatives$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Creatives$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Creatives$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v4/advertisers/{+advertiserId}/creatives' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates an existing creative. Returns the updated creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.creatives.patch({ + * // Output only. The unique ID of the advertiser the creative belongs to. + * advertiserId: '[^/]+', + * // Output only. The unique ID of the creative. Assigned by the system. + * creativeId: '[^/]+', + * // Required. The mask to control which fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "additionalDimensions": [], + * // "advertiserId": "my_advertiserId", + * // "appendedTag": "my_appendedTag", + * // "assets": [], + * // "cmPlacementId": "my_cmPlacementId", + * // "cmTrackingAd": {}, + * // "companionCreativeIds": [], + * // "counterEvents": [], + * // "createTime": "my_createTime", + * // "creativeAttributes": [], + * // "creativeId": "my_creativeId", + * // "creativeType": "my_creativeType", + * // "dimensions": {}, + * // "displayName": "my_displayName", + * // "dynamic": false, + * // "entityStatus": "my_entityStatus", + * // "exitEvents": [], + * // "expandOnHover": false, + * // "expandingDirection": "my_expandingDirection", + * // "hostingSource": "my_hostingSource", + * // "html5Video": false, + * // "iasCampaignMonitoring": false, + * // "integrationCode": "my_integrationCode", + * // "jsTrackerUrl": "my_jsTrackerUrl", + * // "lineItemIds": [], + * // "mediaDuration": "my_mediaDuration", + * // "mp3Audio": false, + * // "name": "my_name", + * // "notes": "my_notes", + * // "obaIcon": {}, + * // "oggAudio": false, + * // "progressOffset": {}, + * // "requireHtml5": false, + * // "requireMraid": false, + * // "requirePingForAttribution": false, + * // "reviewStatus": {}, + * // "skipOffset": {}, + * // "skippable": false, + * // "thirdPartyTag": "my_thirdPartyTag", + * // "thirdPartyUrls": [], + * // "timerEvents": [], + * // "trackerUrls": [], + * // "transcodes": [], + * // "universalAdId": {}, + * // "updateTime": "my_updateTime", + * // "vastTagUrl": "my_vastTagUrl", + * // "vpaid": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "additionalDimensions": [], + * // "advertiserId": "my_advertiserId", + * // "appendedTag": "my_appendedTag", + * // "assets": [], + * // "cmPlacementId": "my_cmPlacementId", + * // "cmTrackingAd": {}, + * // "companionCreativeIds": [], + * // "counterEvents": [], + * // "createTime": "my_createTime", + * // "creativeAttributes": [], + * // "creativeId": "my_creativeId", + * // "creativeType": "my_creativeType", + * // "dimensions": {}, + * // "displayName": "my_displayName", + * // "dynamic": false, + * // "entityStatus": "my_entityStatus", + * // "exitEvents": [], + * // "expandOnHover": false, + * // "expandingDirection": "my_expandingDirection", + * // "hostingSource": "my_hostingSource", + * // "html5Video": false, + * // "iasCampaignMonitoring": false, + * // "integrationCode": "my_integrationCode", + * // "jsTrackerUrl": "my_jsTrackerUrl", + * // "lineItemIds": [], + * // "mediaDuration": "my_mediaDuration", + * // "mp3Audio": false, + * // "name": "my_name", + * // "notes": "my_notes", + * // "obaIcon": {}, + * // "oggAudio": false, + * // "progressOffset": {}, + * // "requireHtml5": false, + * // "requireMraid": false, + * // "requirePingForAttribution": false, + * // "reviewStatus": {}, + * // "skipOffset": {}, + * // "skippable": false, + * // "thirdPartyTag": "my_thirdPartyTag", + * // "thirdPartyUrls": [], + * // "timerEvents": [], + * // "trackerUrls": [], + * // "transcodes": [], + * // "universalAdId": {}, + * // "updateTime": "my_updateTime", + * // "vastTagUrl": "my_vastTagUrl", + * // "vpaid": 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$Advertisers$Creatives$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Advertisers$Creatives$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Advertisers$Creatives$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Advertisers$Creatives$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Advertisers$Creatives$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Advertisers$Creatives$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Creatives$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Creatives$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v4/advertisers/{+advertiserId}/creatives/{+creativeId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'creativeId'], + pathParams: ['advertiserId', 'creativeId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Advertisers$Creatives$Create + extends StandardParameters { + /** + * Output only. The unique ID of the advertiser the creative belongs to. + */ + advertiserId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + export interface Params$Resource$Advertisers$Creatives$Delete + extends StandardParameters { + /** + * The ID of the advertiser this creative belongs to. + */ + advertiserId?: string; + /** + * The ID of the creative to be deleted. + */ + creativeId?: string; + } + export interface Params$Resource$Advertisers$Creatives$Get + extends StandardParameters { + /** + * Required. The ID of the advertiser this creative belongs to. + */ + advertiserId?: string; + /** + * Required. The ID of the creative to fetch. + */ + creativeId?: string; + } + export interface Params$Resource$Advertisers$Creatives$List + extends StandardParameters { + /** + * Required. The ID of the advertiser to list creatives for. + */ + advertiserId?: string; + /** * Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width\}x{height\}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange\}-{reviewStatus\}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration\}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true" AND minDuration="5.2s" AND (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All video creatives that are associated with line item ID 1 or 2: `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. */ filter?: string; @@ -12736,30 +13416,812 @@ export namespace displayvideo_v4 { /** * Output only. The unique ID of the advertiser the creative belongs to. */ - advertiserId?: string; + advertiserId?: string; + /** + * Output only. The unique ID of the creative. Assigned by the system. + */ + creativeId?: string; + /** + * Required. The mask to control which fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Creative; + } + + export class Resource$Advertisers$Insertionorders { + context: APIRequestContext; + targetingTypes: Resource$Advertisers$Insertionorders$Targetingtypes; + constructor(context: APIRequestContext) { + this.context = context; + this.targetingTypes = + new Resource$Advertisers$Insertionorders$Targetingtypes(this.context); + } + + /** + * Creates a new insertion order. Returns the newly created insertion order if successful. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.insertionOrders.create({ + * // Output only. The unique ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advertiserId": "my_advertiserId", + * // "bidStrategy": {}, + * // "budget": {}, + * // "campaignId": "my_campaignId", + * // "displayName": "my_displayName", + * // "entityStatus": "my_entityStatus", + * // "frequencyCap": {}, + * // "insertionOrderId": "my_insertionOrderId", + * // "insertionOrderType": "my_insertionOrderType", + * // "integrationDetails": {}, + * // "kpi": {}, + * // "name": "my_name", + * // "optimizationObjective": "my_optimizationObjective", + * // "pacing": {}, + * // "partnerCosts": [], + * // "reservationType": "my_reservationType", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "advertiserId": "my_advertiserId", + * // "bidStrategy": {}, + * // "budget": {}, + * // "campaignId": "my_campaignId", + * // "displayName": "my_displayName", + * // "entityStatus": "my_entityStatus", + * // "frequencyCap": {}, + * // "insertionOrderId": "my_insertionOrderId", + * // "insertionOrderType": "my_insertionOrderType", + * // "integrationDetails": {}, + * // "kpi": {}, + * // "name": "my_name", + * // "optimizationObjective": "my_optimizationObjective", + * // "pacing": {}, + * // "partnerCosts": [], + * // "reservationType": "my_reservationType", + * // "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$Advertisers$Insertionorders$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Advertisers$Insertionorders$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Advertisers$Insertionorders$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Advertisers$Insertionorders$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Advertisers$Insertionorders$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Insertionorders$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v4/advertisers/{+advertiserId}/insertionOrders' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.insertionOrders.delete({ + * // The ID of the advertiser this insertion order belongs to. + * advertiserId: '[^/]+', + * // The ID of the insertion order to delete. + * insertionOrderId: '[^/]+', + * }); + * 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$Advertisers$Insertionorders$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Advertisers$Insertionorders$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Advertisers$Insertionorders$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Advertisers$Insertionorders$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Advertisers$Insertionorders$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Insertionorders$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'insertionOrderId'], + pathParams: ['advertiserId', 'insertionOrderId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * Output only. The unique ID of the creative. Assigned by the system. + * Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.insertionOrders.get({ + * // Required. The ID of the advertiser this insertion order belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the insertion order to fetch. + * insertionOrderId: '[^/]+', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "advertiserId": "my_advertiserId", + * // "bidStrategy": {}, + * // "budget": {}, + * // "campaignId": "my_campaignId", + * // "displayName": "my_displayName", + * // "entityStatus": "my_entityStatus", + * // "frequencyCap": {}, + * // "insertionOrderId": "my_insertionOrderId", + * // "insertionOrderType": "my_insertionOrderType", + * // "integrationDetails": {}, + * // "kpi": {}, + * // "name": "my_name", + * // "optimizationObjective": "my_optimizationObjective", + * // "pacing": {}, + * // "partnerCosts": [], + * // "reservationType": "my_reservationType", + * // "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. */ - creativeId?: string; + get( + params: Params$Resource$Advertisers$Insertionorders$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Advertisers$Insertionorders$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Advertisers$Insertionorders$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Advertisers$Insertionorders$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Advertisers$Insertionorders$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Insertionorders$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'insertionOrderId'], + pathParams: ['advertiserId', 'insertionOrderId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * Required. The mask to control which fields to update. + * Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await displayvideo.advertisers.insertionOrders.list({ + * // Required. The ID of the advertiser to list insertion orders for. + * advertiserId: '[^/]+', + * // Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * "updateTime" The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "insertionOrders": [], + * // "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. */ - updateMask?: string; + list( + params: Params$Resource$Advertisers$Insertionorders$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Advertisers$Insertionorders$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Advertisers$Insertionorders$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Advertisers$Insertionorders$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Advertisers$Insertionorders$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advertisers$Insertionorders$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v4/advertisers/{+advertiserId}/insertionOrders' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId'], + pathParams: ['advertiserId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata + * Lists assigned targeting options of an insertion order across targeting types. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/displayvideo.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const displayvideo = google.displayvideo('v4'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/display-video'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR targetingType="TARGETING_TYPE_CHANNEL"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Required. The ID of the insertion order to list assigned targeting options for. + * insertionOrderId: '[^/]+', + * // Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`. + * orderBy: 'placeholder-value', + * // Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "assignedTargetingOptions": [], + * // "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. */ - requestBody?: Schema$Creative; - } + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + options: StreamMethodOptions + ): Promise>; + listAssignedTargetingOptions( + params?: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + params: Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions, + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + callback: BodyResponseCallback + ): void; + listAssignedTargetingOptions( + paramsOrCallback?: + | Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions; + let options = (optionsOrCallback || {}) as MethodOptions; - export class Resource$Advertisers$Insertionorders { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://displayvideo.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['advertiserId', 'insertionOrderId'], + pathParams: ['advertiserId', 'insertionOrderId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } } /** - * Creates a new insertion order. Returns the newly created insertion order if successful. + * Updates an existing insertion order. Returns the updated insertion order if successful. * @example * ```js * // Before running the sample: @@ -12788,9 +14250,13 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.create({ + * const res = await displayvideo.advertisers.insertionOrders.patch({ * // Output only. The unique ID of the advertiser the insertion order belongs to. * advertiserId: '[^/]+', + * // Output only. The unique ID of the insertion order. Assigned by the system. + * insertionOrderId: '[^/]+', + * // Required. The mask to control which fields to update. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { @@ -12852,32 +14318,32 @@ export namespace displayvideo_v4 { * @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$Advertisers$Insertionorders$Create, + patch( + params: Params$Resource$Advertisers$Insertionorders$Patch, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Advertisers$Insertionorders$Create, + patch( + params?: Params$Resource$Advertisers$Insertionorders$Patch, options?: MethodOptions ): Promise>; - create( - params: Params$Resource$Advertisers$Insertionorders$Create, + patch( + params: Params$Resource$Advertisers$Insertionorders$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Insertionorders$Create, + patch( + params: Params$Resource$Advertisers$Insertionorders$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Advertisers$Insertionorders$Create, + patch( + params: Params$Resource$Advertisers$Insertionorders$Patch, callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$Create + | Params$Resource$Advertisers$Insertionorders$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -12893,12 +14359,12 @@ export namespace displayvideo_v4 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$Create; + {}) as Params$Resource$Advertisers$Insertionorders$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$Create; + params = {} as Params$Resource$Advertisers$Insertionorders$Patch; options = {}; } @@ -12912,16 +14378,17 @@ export namespace displayvideo_v4 { options: Object.assign( { url: ( - rootUrl + '/v4/advertisers/{+advertiserId}/insertionOrders' + rootUrl + + '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: ['advertiserId', 'insertionOrderId'], + pathParams: ['advertiserId', 'insertionOrderId'], context: this.context, }; if (callback) { @@ -12933,9 +14400,133 @@ export namespace displayvideo_v4 { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Advertisers$Insertionorders$Create + extends StandardParameters { /** - * Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + * Output only. The unique ID of the advertiser the insertion order belongs to. + */ + advertiserId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InsertionOrder; + } + export interface Params$Resource$Advertisers$Insertionorders$Delete + extends StandardParameters { + /** + * The ID of the advertiser this insertion order belongs to. + */ + advertiserId?: string; + /** + * The ID of the insertion order to delete. + */ + insertionOrderId?: string; + } + export interface Params$Resource$Advertisers$Insertionorders$Get + extends StandardParameters { + /** + * Required. The ID of the advertiser this insertion order belongs to. + */ + advertiserId?: string; + /** + * Required. The ID of the insertion order to fetch. + */ + insertionOrderId?: string; + } + export interface Params$Resource$Advertisers$Insertionorders$List + extends StandardParameters { + /** + * Required. The ID of the advertiser to list insertion orders for. + */ + advertiserId?: string; + /** + * Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * "updateTime" The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. + */ + orderBy?: string; + /** + * Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + } + export interface Params$Resource$Advertisers$Insertionorders$Listassignedtargetingoptions + extends StandardParameters { + /** + * Required. The ID of the advertiser the insertion order belongs to. + */ + advertiserId?: string; + /** + * Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR targetingType="TARGETING_TYPE_CHANNEL"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + */ + filter?: string; + /** + * Required. The ID of the insertion order to list assigned targeting options for. + */ + insertionOrderId?: string; + /** + * Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`. + */ + orderBy?: string; + /** + * Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + */ + pageSize?: number; + /** + * A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + */ + pageToken?: string; + } + export interface Params$Resource$Advertisers$Insertionorders$Patch + extends StandardParameters { + /** + * Output only. The unique ID of the advertiser the insertion order belongs to. + */ + advertiserId?: string; + /** + * Output only. The unique ID of the insertion order. Assigned by the system. + */ + insertionOrderId?: string; + /** + * Required. The mask to control which fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InsertionOrder; + } + + export class Resource$Advertisers$Insertionorders$Targetingtypes { + context: APIRequestContext; + assignedTargetingOptions: Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions; + constructor(context: APIRequestContext) { + this.context = context; + this.assignedTargetingOptions = + new Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions( + this.context + ); + } + } + + export class Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Assigns a targeting option to an insertion order. Returns the assigned targeting option if successful. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` * @example * ```js * // Before running the sample: @@ -12964,16 +14555,137 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.delete({ - * // The ID of the advertiser this insertion order belongs to. - * advertiserId: '[^/]+', - * // The ID of the insertion order to delete. - * insertionOrderId: '[^/]+', - * }); + * const res = + * await displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the insertion order the assigned targeting option will belong to. + * insertionOrderId: '[^/]+', + * // Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "ageRangeDetails": {}, + * // "appCategoryDetails": {}, + * // "appDetails": {}, + * // "assignedTargetingOptionId": "my_assignedTargetingOptionId", + * // "assignedTargetingOptionIdAlias": "my_assignedTargetingOptionIdAlias", + * // "audienceGroupDetails": {}, + * // "audioContentTypeDetails": {}, + * // "authorizedSellerStatusDetails": {}, + * // "browserDetails": {}, + * // "businessChainDetails": {}, + * // "carrierAndIspDetails": {}, + * // "categoryDetails": {}, + * // "channelDetails": {}, + * // "contentDurationDetails": {}, + * // "contentGenreDetails": {}, + * // "contentInstreamPositionDetails": {}, + * // "contentOutstreamPositionDetails": {}, + * // "contentStreamTypeDetails": {}, + * // "contentThemeExclusionDetails": {}, + * // "dayAndTimeDetails": {}, + * // "deviceMakeModelDetails": {}, + * // "deviceTypeDetails": {}, + * // "digitalContentLabelExclusionDetails": {}, + * // "environmentDetails": {}, + * // "exchangeDetails": {}, + * // "genderDetails": {}, + * // "geoRegionDetails": {}, + * // "householdIncomeDetails": {}, + * // "inheritance": "my_inheritance", + * // "inventorySourceDetails": {}, + * // "inventorySourceGroupDetails": {}, + * // "keywordDetails": {}, + * // "languageDetails": {}, + * // "name": "my_name", + * // "nativeContentPositionDetails": {}, + * // "negativeKeywordListDetails": {}, + * // "omidDetails": {}, + * // "onScreenPositionDetails": {}, + * // "operatingSystemDetails": {}, + * // "parentalStatusDetails": {}, + * // "poiDetails": {}, + * // "proximityLocationListDetails": {}, + * // "regionalLocationListDetails": {}, + * // "sensitiveCategoryExclusionDetails": {}, + * // "sessionPositionDetails": {}, + * // "subExchangeDetails": {}, + * // "targetingType": "my_targetingType", + * // "thirdPartyVerifierDetails": {}, + * // "urlDetails": {}, + * // "userRewardedContentDetails": {}, + * // "videoPlayerSizeDetails": {}, + * // "viewabilityDetails": {}, + * // "youtubeChannelDetails": {}, + * // "youtubeVideoDetails": {} + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response - * // {} + * // { + * // "ageRangeDetails": {}, + * // "appCategoryDetails": {}, + * // "appDetails": {}, + * // "assignedTargetingOptionId": "my_assignedTargetingOptionId", + * // "assignedTargetingOptionIdAlias": "my_assignedTargetingOptionIdAlias", + * // "audienceGroupDetails": {}, + * // "audioContentTypeDetails": {}, + * // "authorizedSellerStatusDetails": {}, + * // "browserDetails": {}, + * // "businessChainDetails": {}, + * // "carrierAndIspDetails": {}, + * // "categoryDetails": {}, + * // "channelDetails": {}, + * // "contentDurationDetails": {}, + * // "contentGenreDetails": {}, + * // "contentInstreamPositionDetails": {}, + * // "contentOutstreamPositionDetails": {}, + * // "contentStreamTypeDetails": {}, + * // "contentThemeExclusionDetails": {}, + * // "dayAndTimeDetails": {}, + * // "deviceMakeModelDetails": {}, + * // "deviceTypeDetails": {}, + * // "digitalContentLabelExclusionDetails": {}, + * // "environmentDetails": {}, + * // "exchangeDetails": {}, + * // "genderDetails": {}, + * // "geoRegionDetails": {}, + * // "householdIncomeDetails": {}, + * // "inheritance": "my_inheritance", + * // "inventorySourceDetails": {}, + * // "inventorySourceGroupDetails": {}, + * // "keywordDetails": {}, + * // "languageDetails": {}, + * // "name": "my_name", + * // "nativeContentPositionDetails": {}, + * // "negativeKeywordListDetails": {}, + * // "omidDetails": {}, + * // "onScreenPositionDetails": {}, + * // "operatingSystemDetails": {}, + * // "parentalStatusDetails": {}, + * // "poiDetails": {}, + * // "proximityLocationListDetails": {}, + * // "regionalLocationListDetails": {}, + * // "sensitiveCategoryExclusionDetails": {}, + * // "sessionPositionDetails": {}, + * // "subExchangeDetails": {}, + * // "targetingType": "my_targetingType", + * // "thirdPartyVerifierDetails": {}, + * // "urlDetails": {}, + * // "userRewardedContentDetails": {}, + * // "videoPlayerSizeDetails": {}, + * // "viewabilityDetails": {}, + * // "youtubeChannelDetails": {}, + * // "youtubeVideoDetails": {} + * // } * } * * main().catch(e => { @@ -12988,53 +14700,58 @@ export namespace displayvideo_v4 { * @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$Advertisers$Insertionorders$Delete, + create( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Advertisers$Insertionorders$Delete, + create( + params?: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Advertisers$Insertionorders$Delete, + ): Promise>; + create( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Insertionorders$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Advertisers$Insertionorders$Delete, - callback: BodyResponseCallback + create( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$Delete - | BodyResponseCallback + | Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$Delete; + {}) as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$Delete; + params = + {} as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create; options = {}; } @@ -13049,30 +14766,30 @@ export namespace displayvideo_v4 { { url: ( rootUrl + - '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'insertionOrderId'], - pathParams: ['advertiserId', 'insertionOrderId'], + requiredParams: ['advertiserId', 'insertionOrderId', 'targetingType'], + pathParams: ['advertiserId', 'insertionOrderId', 'targetingType'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. + * Deletes an assigned targeting option from an insertion order. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` * @example * ```js * // Before running the sample: @@ -13101,34 +14818,23 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.get({ - * // Required. The ID of the advertiser this insertion order belongs to. - * advertiserId: '[^/]+', - * // Required. The ID of the insertion order to fetch. - * insertionOrderId: '[^/]+', - * }); + * const res = + * await displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Required. The ID of the assigned targeting option to delete. + * assignedTargetingOptionId: '[^/]+', + * // Required. The ID of the insertion order the assigned targeting option belongs to. + * insertionOrderId: '[^/]+', + * // Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response - * // { - * // "advertiserId": "my_advertiserId", - * // "bidStrategy": {}, - * // "budget": {}, - * // "campaignId": "my_campaignId", - * // "displayName": "my_displayName", - * // "entityStatus": "my_entityStatus", - * // "frequencyCap": {}, - * // "insertionOrderId": "my_insertionOrderId", - * // "insertionOrderType": "my_insertionOrderType", - * // "integrationDetails": {}, - * // "kpi": {}, - * // "name": "my_name", - * // "optimizationObjective": "my_optimizationObjective", - * // "pacing": {}, - * // "partnerCosts": [], - * // "reservationType": "my_reservationType", - * // "updateTime": "my_updateTime" - * // } + * // {} * } * * main().catch(e => { @@ -13143,53 +14849,54 @@ export namespace displayvideo_v4 { * @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$Advertisers$Insertionorders$Get, + delete( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Advertisers$Insertionorders$Get, + delete( + params?: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Advertisers$Insertionorders$Get, + ): Promise>; + delete( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Insertionorders$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Advertisers$Insertionorders$Get, - callback: BodyResponseCallback + delete( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$Get - | BodyResponseCallback + | Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$Get; + {}) as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$Get; + params = + {} as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete; options = {}; } @@ -13204,30 +14911,40 @@ export namespace displayvideo_v4 { { url: ( rootUrl + - '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'insertionOrderId'], - pathParams: ['advertiserId', 'insertionOrderId'], + requiredParams: [ + 'advertiserId', + 'insertionOrderId', + 'targetingType', + 'assignedTargetingOptionId', + ], + pathParams: [ + 'advertiserId', + 'assignedTargetingOptionId', + 'insertionOrderId', + 'targetingType', + ], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results. + * Gets a single targeting option assigned to an insertion order. * @example * ```js * // Before running the sample: @@ -13256,24 +14973,77 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.list({ - * // Required. The ID of the advertiser to list insertion orders for. - * advertiserId: '[^/]+', - * // Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. - * filter: 'placeholder-value', - * // Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * "updateTime" The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. - * orderBy: 'placeholder-value', - * // Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned. - * pageToken: 'placeholder-value', - * }); + * const res = + * await displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested. + * assignedTargetingOptionId: '[^/]+', + * // Required. The ID of the insertion order the assigned targeting option belongs to. + * insertionOrderId: '[^/]+', + * // Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "insertionOrders": [], - * // "nextPageToken": "my_nextPageToken" + * // "ageRangeDetails": {}, + * // "appCategoryDetails": {}, + * // "appDetails": {}, + * // "assignedTargetingOptionId": "my_assignedTargetingOptionId", + * // "assignedTargetingOptionIdAlias": "my_assignedTargetingOptionIdAlias", + * // "audienceGroupDetails": {}, + * // "audioContentTypeDetails": {}, + * // "authorizedSellerStatusDetails": {}, + * // "browserDetails": {}, + * // "businessChainDetails": {}, + * // "carrierAndIspDetails": {}, + * // "categoryDetails": {}, + * // "channelDetails": {}, + * // "contentDurationDetails": {}, + * // "contentGenreDetails": {}, + * // "contentInstreamPositionDetails": {}, + * // "contentOutstreamPositionDetails": {}, + * // "contentStreamTypeDetails": {}, + * // "contentThemeExclusionDetails": {}, + * // "dayAndTimeDetails": {}, + * // "deviceMakeModelDetails": {}, + * // "deviceTypeDetails": {}, + * // "digitalContentLabelExclusionDetails": {}, + * // "environmentDetails": {}, + * // "exchangeDetails": {}, + * // "genderDetails": {}, + * // "geoRegionDetails": {}, + * // "householdIncomeDetails": {}, + * // "inheritance": "my_inheritance", + * // "inventorySourceDetails": {}, + * // "inventorySourceGroupDetails": {}, + * // "keywordDetails": {}, + * // "languageDetails": {}, + * // "name": "my_name", + * // "nativeContentPositionDetails": {}, + * // "negativeKeywordListDetails": {}, + * // "omidDetails": {}, + * // "onScreenPositionDetails": {}, + * // "operatingSystemDetails": {}, + * // "parentalStatusDetails": {}, + * // "poiDetails": {}, + * // "proximityLocationListDetails": {}, + * // "regionalLocationListDetails": {}, + * // "sensitiveCategoryExclusionDetails": {}, + * // "sessionPositionDetails": {}, + * // "subExchangeDetails": {}, + * // "targetingType": "my_targetingType", + * // "thirdPartyVerifierDetails": {}, + * // "urlDetails": {}, + * // "userRewardedContentDetails": {}, + * // "videoPlayerSizeDetails": {}, + * // "viewabilityDetails": {}, + * // "youtubeChannelDetails": {}, + * // "youtubeVideoDetails": {} * // } * } * @@ -13289,57 +15059,56 @@ export namespace displayvideo_v4 { * @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$Advertisers$Insertionorders$List, + get( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Advertisers$Insertionorders$List, + get( + params?: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Advertisers$Insertionorders$List, + ): Promise>; + get( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Advertisers$Insertionorders$List, + get( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Advertisers$Insertionorders$List, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + get( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get, + callback: BodyResponseCallback ): void; - list( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$List - | BodyResponseCallback + | Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$List; + {}) as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$List; + params = + {} as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get; options = {}; } @@ -13353,7 +15122,8 @@ export namespace displayvideo_v4 { options: Object.assign( { url: ( - rootUrl + '/v4/advertisers/{+advertiserId}/insertionOrders' + rootUrl + + '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -13361,22 +15131,32 @@ export namespace displayvideo_v4 { options ), params, - requiredParams: ['advertiserId'], - pathParams: ['advertiserId'], + requiredParams: [ + 'advertiserId', + 'insertionOrderId', + 'targetingType', + 'assignedTargetingOptionId', + ], + pathParams: [ + 'advertiserId', + 'assignedTargetingOptionId', + 'insertionOrderId', + 'targetingType', + ], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates an existing insertion order. Returns the updated insertion order if successful. + * Lists the targeting options assigned to an insertion order. * @example * ```js * // Before running the sample: @@ -13405,59 +15185,31 @@ export namespace displayvideo_v4 { * google.options({auth: authClient}); * * // Do the magic - * const res = await displayvideo.advertisers.insertionOrders.patch({ - * // Output only. The unique ID of the advertiser the insertion order belongs to. - * advertiserId: '[^/]+', - * // Output only. The unique ID of the insertion order. Assigned by the system. - * insertionOrderId: '[^/]+', - * // Required. The mask to control which fields to update. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advertiserId": "my_advertiserId", - * // "bidStrategy": {}, - * // "budget": {}, - * // "campaignId": "my_campaignId", - * // "displayName": "my_displayName", - * // "entityStatus": "my_entityStatus", - * // "frequencyCap": {}, - * // "insertionOrderId": "my_insertionOrderId", - * // "insertionOrderType": "my_insertionOrderType", - * // "integrationDetails": {}, - * // "kpi": {}, - * // "name": "my_name", - * // "optimizationObjective": "my_optimizationObjective", - * // "pacing": {}, - * // "partnerCosts": [], - * // "reservationType": "my_reservationType", - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * const res = + * await displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list( + * { + * // Required. The ID of the advertiser the insertion order belongs to. + * advertiserId: '[^/]+', + * // Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * filter: 'placeholder-value', + * // Required. The ID of the insertion order to list assigned targeting options for. + * insertionOrderId: '[^/]+', + * // Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + * orderBy: 'placeholder-value', + * // Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned. + * pageToken: 'placeholder-value', + * // Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + * targetingType: '[^/]+', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "advertiserId": "my_advertiserId", - * // "bidStrategy": {}, - * // "budget": {}, - * // "campaignId": "my_campaignId", - * // "displayName": "my_displayName", - * // "entityStatus": "my_entityStatus", - * // "frequencyCap": {}, - * // "insertionOrderId": "my_insertionOrderId", - * // "insertionOrderType": "my_insertionOrderType", - * // "integrationDetails": {}, - * // "kpi": {}, - * // "name": "my_name", - * // "optimizationObjective": "my_optimizationObjective", - * // "pacing": {}, - * // "partnerCosts": [], - * // "reservationType": "my_reservationType", - * // "updateTime": "my_updateTime" + * // "assignedTargetingOptions": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -13473,53 +15225,62 @@ export namespace displayvideo_v4 { * @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$Advertisers$Insertionorders$Patch, + list( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Advertisers$Insertionorders$Patch, + list( + params?: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Advertisers$Insertionorders$Patch, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Insertionorders$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Advertisers$Insertionorders$Patch, - callback: BodyResponseCallback + list( + params: Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Advertisers$Insertionorders$Patch - | BodyResponseCallback + | Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Advertisers$Insertionorders$Patch; + {}) as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Advertisers$Insertionorders$Patch; + params = + {} as Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List; options = {}; } @@ -13534,105 +15295,119 @@ export namespace displayvideo_v4 { { url: ( rootUrl + - '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}' + '/v4/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['advertiserId', 'insertionOrderId'], - pathParams: ['advertiserId', 'insertionOrderId'], + requiredParams: ['advertiserId', 'insertionOrderId', 'targetingType'], + pathParams: ['advertiserId', 'insertionOrderId', 'targetingType'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Advertisers$Insertionorders$Create + export interface Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Create extends StandardParameters { /** - * Output only. The unique ID of the advertiser the insertion order belongs to. + * Required. The ID of the advertiser the insertion order belongs to. */ advertiserId?: string; + /** + * Required. The ID of the insertion order the assigned targeting option will belong to. + */ + insertionOrderId?: string; + /** + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; /** * Request body metadata */ - requestBody?: Schema$InsertionOrder; + requestBody?: Schema$AssignedTargetingOption; } - export interface Params$Resource$Advertisers$Insertionorders$Delete + export interface Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Delete extends StandardParameters { /** - * The ID of the advertiser this insertion order belongs to. + * Required. The ID of the advertiser the insertion order belongs to. */ advertiserId?: string; /** - * The ID of the insertion order to delete. + * Required. The ID of the assigned targeting option to delete. + */ + assignedTargetingOptionId?: string; + /** + * Required. The ID of the insertion order the assigned targeting option belongs to. */ insertionOrderId?: string; + /** + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; } - export interface Params$Resource$Advertisers$Insertionorders$Get + export interface Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$Get extends StandardParameters { /** - * Required. The ID of the advertiser this insertion order belongs to. + * Required. The ID of the advertiser the insertion order belongs to. */ advertiserId?: string; /** - * Required. The ID of the insertion order to fetch. + * Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested. + */ + assignedTargetingOptionId?: string; + /** + * Required. The ID of the insertion order the assigned targeting option belongs to. */ insertionOrderId?: string; + /** + * Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + */ + targetingType?: string; } - export interface Params$Resource$Advertisers$Insertionorders$List + export interface Params$Resource$Advertisers$Insertionorders$Targetingtypes$Assignedtargetingoptions$List extends StandardParameters { /** - * Required. The ID of the advertiser to list insertion orders for. + * Required. The ID of the advertiser the insertion order belongs to. */ advertiserId?: string; /** - * Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field\} {operator\} {value\}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + * Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field\} {operator\} {value\}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. */ filter?: string; /** - * Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * "updateTime" The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. + * Required. The ID of the insertion order to list assigned targeting options for. + */ + insertionOrderId?: string; + /** + * Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. */ orderBy?: string; /** - * Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. */ pageSize?: number; /** - * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned. + * A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned. */ pageToken?: string; - } - export interface Params$Resource$Advertisers$Insertionorders$Patch - extends StandardParameters { /** - * Output only. The unique ID of the advertiser the insertion order belongs to. - */ - advertiserId?: string; - /** - * Output only. The unique ID of the insertion order. Assigned by the system. - */ - insertionOrderId?: string; - /** - * Required. The mask to control which fields to update. - */ - updateMask?: string; - - /** - * Request body metadata + * Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` */ - requestBody?: Schema$InsertionOrder; + targetingType?: string; } export class Resource$Advertisers$Invoices { From 94ab084ef9fc4ca37b93ad0891c3fab82da3ebb9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:35 +0000 Subject: [PATCH 17/37] fix(dlp): update the API #### dlp:v2 The following keys were changed: - schemas.GooglePrivacyDlpV2Deidentify.properties.fileTypesToTransform.description --- discovery/dlp-v2.json | 4 ++-- src/apis/dlp/v2.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/dlp-v2.json b/discovery/dlp-v2.json index 095b1816619..fd8ef0d7443 100644 --- a/discovery/dlp-v2.json +++ b/discovery/dlp-v2.json @@ -5118,7 +5118,7 @@ } } }, - "revision": "20250720", + "revision": "20250727", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -7204,7 +7204,7 @@ "type": "string" }, "fileTypesToTransform": { - "description": "List of user-specified file type groups to transform. If specified, only the files with these file types will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only file types supported are: IMAGES, TEXT_FILES, CSV, TSV.", + "description": "List of user-specified file type groups to transform. If specified, only the files with these file types are transformed. If empty, all supported files are transformed. Supported types may be automatically added over time. Any unsupported file types that are set in this field are excluded from de-identification. An error is recorded for each unsupported file in the TransformationDetails output table. Currently the only file types supported are: IMAGES, TEXT_FILES, CSV, TSV.", "items": { "enum": [ "FILE_TYPE_UNSPECIFIED", diff --git a/src/apis/dlp/v2.ts b/src/apis/dlp/v2.ts index 35738abef4d..26ab54f9191 100644 --- a/src/apis/dlp/v2.ts +++ b/src/apis/dlp/v2.ts @@ -1576,7 +1576,7 @@ export namespace dlp_v2 { */ cloudStorageOutput?: string | null; /** - * List of user-specified file type groups to transform. If specified, only the files with these file types will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only file types supported are: IMAGES, TEXT_FILES, CSV, TSV. + * List of user-specified file type groups to transform. If specified, only the files with these file types are transformed. If empty, all supported files are transformed. Supported types may be automatically added over time. Any unsupported file types that are set in this field are excluded from de-identification. An error is recorded for each unsupported file in the TransformationDetails output table. Currently the only file types supported are: IMAGES, TEXT_FILES, CSV, TSV. */ fileTypesToTransform?: string[] | null; /** From 13f85aa236f7bfe1df792ce6be9ffe777f30ccac Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 18/37] feat(firebaseml): update the API #### firebaseml:v2beta The following keys were added: - schemas.GoogleCloudAiplatformV1beta1EnterpriseWebSearch.properties.excludeDomains.description - schemas.GoogleCloudAiplatformV1beta1EnterpriseWebSearch.properties.excludeDomains.items.type - schemas.GoogleCloudAiplatformV1beta1EnterpriseWebSearch.properties.excludeDomains.type - schemas.GoogleCloudAiplatformV1beta1ToolGoogleSearch.properties.excludeDomains.description - schemas.GoogleCloudAiplatformV1beta1ToolGoogleSearch.properties.excludeDomains.items.type - schemas.GoogleCloudAiplatformV1beta1ToolGoogleSearch.properties.excludeDomains.type --- discovery/firebaseml-v2beta.json | 22 +++++++++++++++++++--- src/apis/firebaseml/v2beta.ts | 14 ++++++++++++-- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/discovery/firebaseml-v2beta.json b/discovery/firebaseml-v2beta.json index 5087d92f70a..6957101d859 100644 --- a/discovery/firebaseml-v2beta.json +++ b/discovery/firebaseml-v2beta.json @@ -206,7 +206,7 @@ } } }, - "revision": "20250723", + "revision": "20250727", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -704,7 +704,15 @@ "GoogleCloudAiplatformV1beta1EnterpriseWebSearch": { "description": "Tool to search public web data, powered by Vertex AI Search and Sec4 compliance.", "id": "GoogleCloudAiplatformV1beta1EnterpriseWebSearch", - "properties": {}, + "properties": { + "excludeDomains": { + "description": "Optional. List of domains to be excluded from the search results. The default limit is 2000 domains.", + "items": { + "type": "string" + }, + "type": "array" + } + }, "type": "object" }, "GoogleCloudAiplatformV1beta1ExecutableCode": { @@ -2429,7 +2437,15 @@ "GoogleCloudAiplatformV1beta1ToolGoogleSearch": { "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", "id": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", - "properties": {}, + "properties": { + "excludeDomains": { + "description": "Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: [\"amazon.com\", \"facebook.com\"].", + "items": { + "type": "string" + }, + "type": "array" + } + }, "type": "object" }, "GoogleCloudAiplatformV1beta1UrlContext": { diff --git a/src/apis/firebaseml/v2beta.ts b/src/apis/firebaseml/v2beta.ts index fb5168851b9..ff47dc15ea4 100644 --- a/src/apis/firebaseml/v2beta.ts +++ b/src/apis/firebaseml/v2beta.ts @@ -445,7 +445,12 @@ export namespace firebaseml_v2beta { /** * Tool to search public web data, powered by Vertex AI Search and Sec4 compliance. */ - export interface Schema$GoogleCloudAiplatformV1beta1EnterpriseWebSearch {} + export interface Schema$GoogleCloudAiplatformV1beta1EnterpriseWebSearch { + /** + * Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. + */ + excludeDomains?: string[] | null; + } /** * Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [CodeExecution] tool, in which the code will be automatically executed, and a corresponding [CodeExecutionResult] will also be generated. */ @@ -1601,7 +1606,12 @@ export namespace firebaseml_v2beta { /** * GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. */ - export interface Schema$GoogleCloudAiplatformV1beta1ToolGoogleSearch {} + export interface Schema$GoogleCloudAiplatformV1beta1ToolGoogleSearch { + /** + * Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: ["amazon.com", "facebook.com"]. + */ + excludeDomains?: string[] | null; + } /** * Tool to support URL context. */ From 6a4dda3741b6f1fa2460494cd32a6ebcf35c112c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 19/37] feat(gkebackup): update the API #### gkebackup:v1 The following keys were added: - schemas.Backup.properties.troubleshootingInfo.$ref - schemas.Backup.properties.troubleshootingInfo.description - schemas.Backup.properties.troubleshootingInfo.readOnly - schemas.Restore.properties.troubleshootingInfo.$ref - schemas.Restore.properties.troubleshootingInfo.description - schemas.Restore.properties.troubleshootingInfo.readOnly - schemas.TroubleshootingInfo.description - schemas.TroubleshootingInfo.id - schemas.TroubleshootingInfo.properties.stateReasonCode.description - schemas.TroubleshootingInfo.properties.stateReasonCode.readOnly - schemas.TroubleshootingInfo.properties.stateReasonCode.type - schemas.TroubleshootingInfo.properties.stateReasonUri.description - schemas.TroubleshootingInfo.properties.stateReasonUri.readOnly - schemas.TroubleshootingInfo.properties.stateReasonUri.type - schemas.TroubleshootingInfo.type --- discovery/gkebackup-v1.json | 29 ++++++++++++++++++++++++++++- src/apis/gkebackup/v1.ts | 27 +++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/discovery/gkebackup-v1.json b/discovery/gkebackup-v1.json index 5887848cec5..9e6cb1f9134 100644 --- a/discovery/gkebackup-v1.json +++ b/discovery/gkebackup-v1.json @@ -2227,7 +2227,7 @@ } } }, - "revision": "20250528", + "revision": "20250723", "rootUrl": "https://gkebackup.googleapis.com/", "schemas": { "AuditConfig": { @@ -2447,6 +2447,11 @@ "readOnly": true, "type": "string" }, + "troubleshootingInfo": { + "$ref": "TroubleshootingInfo", + "description": "Output only. Information about the troubleshooting steps which will provide debugging information to the end users.", + "readOnly": true + }, "uid": { "description": "Output only. Server generated global unique identifier of [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier)", "readOnly": true, @@ -3779,6 +3784,11 @@ "readOnly": true, "type": "string" }, + "troubleshootingInfo": { + "$ref": "TroubleshootingInfo", + "description": "Output only. Information about the troubleshooting steps which will provide debugging information to the end users.", + "readOnly": true + }, "uid": { "description": "Output only. Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format.", "readOnly": true, @@ -4357,6 +4367,23 @@ }, "type": "object" }, + "TroubleshootingInfo": { + "description": "Stores information about troubleshooting doc for debugging a particular state of an operation (eg - backup/restore). This will be used by the end user to debug their operation failure scenario easily.", + "id": "TroubleshootingInfo", + "properties": { + "stateReasonCode": { + "description": "Output only. Unique code for each backup/restore operation failure message which helps user identify the failure.", + "readOnly": true, + "type": "string" + }, + "stateReasonUri": { + "description": "Output only. URL for the troubleshooting doc which will help the user fix the failing backup/restore operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "VolumeBackup": { "description": "Represents the backup of a specific persistent volume as a component of a Backup - both the record of the operation and a pointer to the underlying storage-specific artifacts.", "id": "VolumeBackup", diff --git a/src/apis/gkebackup/v1.ts b/src/apis/gkebackup/v1.ts index f805f5c3938..96e5cce348e 100644 --- a/src/apis/gkebackup/v1.ts +++ b/src/apis/gkebackup/v1.ts @@ -266,6 +266,10 @@ export namespace gkebackup_v1 { * Output only. Human-readable description of why the backup is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent. */ stateReason?: string | null; + /** + * Output only. Information about the troubleshooting steps which will provide debugging information to the end users. + */ + troubleshootingInfo?: Schema$TroubleshootingInfo; /** * Output only. Server generated global unique identifier of [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier) */ @@ -1205,6 +1209,10 @@ export namespace gkebackup_v1 { * Output only. Human-readable description of why the Restore is in its current state. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent. */ stateReason?: string | null; + /** + * Output only. Information about the troubleshooting steps which will provide debugging information to the end users. + */ + troubleshootingInfo?: Schema$TroubleshootingInfo; /** * Output only. Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format. */ @@ -1598,6 +1606,19 @@ export namespace gkebackup_v1 { */ value?: string | null; } + /** + * Stores information about troubleshooting doc for debugging a particular state of an operation (eg - backup/restore). This will be used by the end user to debug their operation failure scenario easily. + */ + export interface Schema$TroubleshootingInfo { + /** + * Output only. Unique code for each backup/restore operation failure message which helps user identify the failure. + */ + stateReasonCode?: string | null; + /** + * Output only. URL for the troubleshooting doc which will help the user fix the failing backup/restore operation. + */ + stateReasonUri?: string | null; + } /** * Represents the backup of a specific persistent volume as a component of a Backup - both the record of the operation and a pointer to the underlying storage-specific artifacts. */ @@ -4721,6 +4742,7 @@ export namespace gkebackup_v1 { * // "sizeBytes": "my_sizeBytes", * // "state": "my_state", * // "stateReason": "my_stateReason", + * // "troubleshootingInfo": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumeCount": 0 @@ -5052,6 +5074,7 @@ export namespace gkebackup_v1 { * // "sizeBytes": "my_sizeBytes", * // "state": "my_state", * // "stateReason": "my_stateReason", + * // "troubleshootingInfo": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumeCount": 0 @@ -5667,6 +5690,7 @@ export namespace gkebackup_v1 { * // "sizeBytes": "my_sizeBytes", * // "state": "my_state", * // "stateReason": "my_stateReason", + * // "troubleshootingInfo": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumeCount": 0 @@ -10257,6 +10281,7 @@ export namespace gkebackup_v1 { * // "restoreConfig": {}, * // "state": "my_state", * // "stateReason": "my_stateReason", + * // "troubleshootingInfo": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumeDataRestorePolicyOverrides": [], @@ -10576,6 +10601,7 @@ export namespace gkebackup_v1 { * // "restoreConfig": {}, * // "state": "my_state", * // "stateReason": "my_stateReason", + * // "troubleshootingInfo": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumeDataRestorePolicyOverrides": [], @@ -11027,6 +11053,7 @@ export namespace gkebackup_v1 { * // "restoreConfig": {}, * // "state": "my_state", * // "stateReason": "my_stateReason", + * // "troubleshootingInfo": {}, * // "uid": "my_uid", * // "updateTime": "my_updateTime", * // "volumeDataRestorePolicyOverrides": [], From 4724fd90b7a9a7ca3a885f0551b75d2f79756ec8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 20/37] feat(merchantapi)!: update the API BREAKING CHANGE: This release has breaking changes. #### merchantapi:accounts_v1beta The following keys were changed: - schemas.Accepted.description - schemas.CheckoutSettings.properties.eligibleDestinations.description - schemas.WarehouseBasedDeliveryTime.properties.warehouse.description #### merchantapi:inventories_v1beta The following keys were changed: - schemas.LocalInventory.properties.price.description - schemas.LocalInventory.properties.salePrice.description - schemas.LocalInventory.properties.salePriceEffectiveDate.description - schemas.RegionalInventory.properties.price.description - schemas.RegionalInventory.properties.salePrice.description - schemas.RegionalInventory.properties.salePriceEffectiveDate.description #### merchantapi:ordertracking_v1beta The following keys were deleted: - resources.accounts.resources.ordertrackingsignals.methods.create.description - resources.accounts.resources.ordertrackingsignals.methods.create.flatPath - resources.accounts.resources.ordertrackingsignals.methods.create.httpMethod - resources.accounts.resources.ordertrackingsignals.methods.create.id - resources.accounts.resources.ordertrackingsignals.methods.create.parameterOrder - resources.accounts.resources.ordertrackingsignals.methods.create.parameters.orderTrackingSignalId.description - resources.accounts.resources.ordertrackingsignals.methods.create.parameters.orderTrackingSignalId.location - resources.accounts.resources.ordertrackingsignals.methods.create.parameters.orderTrackingSignalId.type - resources.accounts.resources.ordertrackingsignals.methods.create.parameters.parent.description - resources.accounts.resources.ordertrackingsignals.methods.create.parameters.parent.location - resources.accounts.resources.ordertrackingsignals.methods.create.parameters.parent.pattern - resources.accounts.resources.ordertrackingsignals.methods.create.parameters.parent.required - resources.accounts.resources.ordertrackingsignals.methods.create.parameters.parent.type - resources.accounts.resources.ordertrackingsignals.methods.create.path - resources.accounts.resources.ordertrackingsignals.methods.create.request.$ref - resources.accounts.resources.ordertrackingsignals.methods.create.response.$ref - resources.accounts.resources.ordertrackingsignals.methods.create.scopes The following keys were added: - resources.accounts.resources.orderTrackingSignals.methods.create.description - resources.accounts.resources.orderTrackingSignals.methods.create.flatPath - resources.accounts.resources.orderTrackingSignals.methods.create.httpMethod - resources.accounts.resources.orderTrackingSignals.methods.create.id - resources.accounts.resources.orderTrackingSignals.methods.create.parameterOrder - resources.accounts.resources.orderTrackingSignals.methods.create.parameters.orderTrackingSignalId.description - resources.accounts.resources.orderTrackingSignals.methods.create.parameters.orderTrackingSignalId.location - resources.accounts.resources.orderTrackingSignals.methods.create.parameters.orderTrackingSignalId.type - resources.accounts.resources.orderTrackingSignals.methods.create.parameters.parent.description - resources.accounts.resources.orderTrackingSignals.methods.create.parameters.parent.location - resources.accounts.resources.orderTrackingSignals.methods.create.parameters.parent.pattern - resources.accounts.resources.orderTrackingSignals.methods.create.parameters.parent.required - resources.accounts.resources.orderTrackingSignals.methods.create.parameters.parent.type - resources.accounts.resources.orderTrackingSignals.methods.create.path - resources.accounts.resources.orderTrackingSignals.methods.create.request.$ref - resources.accounts.resources.orderTrackingSignals.methods.create.response.$ref - resources.accounts.resources.orderTrackingSignals.methods.create.scopes #### merchantapi:products_v1beta The following keys were changed: - resources.accounts.resources.productInputs.methods.delete.parameters.name.description - resources.accounts.resources.productInputs.methods.patch.parameters.name.description - resources.accounts.resources.products.methods.get.parameters.name.description - schemas.Product.properties.name.description - schemas.ProductInput.properties.name.description #### merchantapi:promotions_v1beta The following keys were changed: - schemas.Attributes.properties.promotionDestinations.description --- discovery/merchantapi-accounts_v1beta.json | 8 ++++---- discovery/merchantapi-inventories_v1beta.json | 14 +++++++------- discovery/merchantapi-ordertracking_v1beta.json | 10 +++++----- discovery/merchantapi-products_v1beta.json | 12 ++++++------ discovery/merchantapi-promotions_v1beta.json | 4 ++-- src/apis/merchantapi/accounts_v1beta.ts | 6 +++--- src/apis/merchantapi/inventories_v1beta.ts | 12 ++++++------ src/apis/merchantapi/ordertracking_v1beta.ts | 8 ++++---- src/apis/merchantapi/products_v1beta.ts | 16 ++++++++-------- src/apis/merchantapi/promotions_v1beta.ts | 2 +- 10 files changed, 46 insertions(+), 46 deletions(-) diff --git a/discovery/merchantapi-accounts_v1beta.json b/discovery/merchantapi-accounts_v1beta.json index c9ee3c2d173..de6913b2f6b 100644 --- a/discovery/merchantapi-accounts_v1beta.json +++ b/discovery/merchantapi-accounts_v1beta.json @@ -2311,7 +2311,7 @@ } } }, - "revision": "20250721", + "revision": "20250729", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -2356,7 +2356,7 @@ "type": "object" }, "Accepted": { - "description": "Describes the [accepted terms of service](/merchant/api/guides/accounts/create-and-configure#accept_the_merchant_center_terms_of_service).", + "description": "Describes the [accepted terms of service](https://developers.google.com/merchant/api/guides/accounts/create-and-configure#accept_the_merchant_center_terms_of_service).", "id": "Accepted", "properties": { "acceptedBy": { @@ -2926,7 +2926,7 @@ "readOnly": true }, "eligibleDestinations": { - "description": "Optional. The destinations to which the checkout program applies, valid destination values are `SHOPPING_ADS`, `FREE_LISTINGS`", + "description": "Optional. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies, valid destination values are `SHOPPING_ADS`, `FREE_LISTINGS`", "items": { "enum": [ "DESTINATION_ENUM_UNSPECIFIED", @@ -5406,7 +5406,7 @@ "type": "string" }, "warehouse": { - "description": "Required. Warehouse name. This should match [warehouse](/merchant/api/reference/rest/accounts_v1beta/accounts.shippingSettings#warehouse)", + "description": "Required. Warehouse name. This should match warehouse.", "type": "string" } }, diff --git a/discovery/merchantapi-inventories_v1beta.json b/discovery/merchantapi-inventories_v1beta.json index fcbcc8774f2..bc069fd4eaa 100644 --- a/discovery/merchantapi-inventories_v1beta.json +++ b/discovery/merchantapi-inventories_v1beta.json @@ -300,7 +300,7 @@ } } }, - "revision": "20250721", + "revision": "20250727", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -425,7 +425,7 @@ }, "price": { "$ref": "Price", - "description": "Price of the product at this store." + "description": "Optional. Price of the product at this store." }, "quantity": { "description": "Quantity of the product available at this store. Must be greater than or equal to zero.", @@ -434,11 +434,11 @@ }, "salePrice": { "$ref": "Price", - "description": "Sale price of the product at this store. Mandatory if `salePriceEffectiveDate` is defined." + "description": "Optional. Sale price of the product at this store. Mandatory if `salePriceEffectiveDate` is defined." }, "salePriceEffectiveDate": { "$ref": "Interval", - "description": "The `TimePeriod` of the sale at this store." + "description": "Optional. The `TimePeriod` of the sale at this store." }, "storeCode": { "description": "Required. Immutable. Store code (the store ID from your Business Profile) of the physical store the product is sold in. See the [Local product inventory data specification](https://support.google.com/merchants/answer/3061342) for more information.", @@ -642,7 +642,7 @@ }, "price": { "$ref": "Price", - "description": "Price of the product in this region." + "description": "Optional. Price of the product in this region." }, "region": { "description": "Required. Immutable. ID of the region for this `RegionalInventory` resource. See the [Regional availability and pricing](https://support.google.com/merchants/answer/9698880) for more details.", @@ -650,11 +650,11 @@ }, "salePrice": { "$ref": "Price", - "description": "Sale price of the product in this region. Mandatory if `salePriceEffectiveDate` is defined." + "description": "Optional. Sale price of the product in this region. Mandatory if `salePriceEffectiveDate` is defined." }, "salePriceEffectiveDate": { "$ref": "Interval", - "description": "The `TimePeriod` of the sale price in this region." + "description": "Optional. The `TimePeriod` of the sale price in this region." } }, "type": "object" diff --git a/discovery/merchantapi-ordertracking_v1beta.json b/discovery/merchantapi-ordertracking_v1beta.json index 6ba6582d80f..6e4cdacd8a5 100644 --- a/discovery/merchantapi-ordertracking_v1beta.json +++ b/discovery/merchantapi-ordertracking_v1beta.json @@ -107,13 +107,13 @@ "resources": { "accounts": { "resources": { - "ordertrackingsignals": { + "orderTrackingSignals": { "methods": { "create": { "description": "Creates new order tracking signal.", - "flatPath": "ordertracking/v1beta/accounts/{accountsId}/ordertrackingsignals", + "flatPath": "ordertracking/v1beta/accounts/{accountsId}/orderTrackingSignals", "httpMethod": "POST", - "id": "merchantapi.accounts.ordertrackingsignals.create", + "id": "merchantapi.accounts.orderTrackingSignals.create", "parameterOrder": [ "parent" ], @@ -131,7 +131,7 @@ "type": "string" } }, - "path": "ordertracking/v1beta/{+parent}/ordertrackingsignals", + "path": "ordertracking/v1beta/{+parent}/orderTrackingSignals", "request": { "$ref": "OrderTrackingSignal" }, @@ -147,7 +147,7 @@ } } }, - "revision": "20250621", + "revision": "20250727", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DateTime": { diff --git a/discovery/merchantapi-products_v1beta.json b/discovery/merchantapi-products_v1beta.json index f274789c9a2..f8f3a9be417 100644 --- a/discovery/merchantapi-products_v1beta.json +++ b/discovery/merchantapi-products_v1beta.json @@ -124,7 +124,7 @@ "type": "string" }, "name": { - "description": "Required. The name of the product input resource to delete. Format: `accounts/{account}/productInputs/{product}` where the last section `product` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/online~en~US~sku123`.", + "description": "Required. The name of the product input resource to delete. Format: `accounts/{account}/productInputs/{product}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/en~US~sku123`.", "location": "path", "pattern": "^accounts/[^/]+/productInputs/[^/]+$", "required": true, @@ -187,7 +187,7 @@ "type": "string" }, "name": { - "description": "Identifier. The name of the product input. Format: `accounts/{account}/productInputs/{productinput}` where the last section `productinput` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/online~en~US~sku123`", + "description": "Identifier. The name of the product input. Format: `accounts/{account}/productInputs/{productinput}` where the last section `productinput` consists of: `content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/en~US~sku123`. A legacy local product input name would be `accounts/123/productInputs/local~en~US~sku123`. Note: For calls to the v1beta version, the `productInput` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productInputs/online~en~US~sku123`.", "location": "path", "pattern": "^accounts/[^/]+/productInputs/[^/]+$", "required": true, @@ -225,7 +225,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the product to retrieve. Format: `accounts/{account}/products/{product}` where the last section `product` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product name is `accounts/123/products/online~en~US~sku123`", + "description": "Required. The name of the product to retrieve. Format: `accounts/{account}/products/{product}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/products/en~US~sku123`. A legacy local product name would be `accounts/123/products/local~en~US~sku123`. Note: For calls to the v1beta version, the `product` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`.", "location": "path", "pattern": "^accounts/[^/]+/products/[^/]+$", "required": true, @@ -281,7 +281,7 @@ } } }, - "revision": "20250724", + "revision": "20250727", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -1283,7 +1283,7 @@ "type": "string" }, "name": { - "description": "The name of the product. Format: `accounts/{account}/products/{product}` where the last section `product` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product name is `accounts/123/products/online~en~US~sku123`", + "description": "The name of the product. Format: `accounts/{account}/products/{product}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/products/en~US~sku123`. A legacy local product name would be `accounts/123/products/local~en~US~sku123`. Note: For calls to the v1beta version, the `product` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`.", "type": "string" }, "offerId": { @@ -1464,7 +1464,7 @@ "type": "string" }, "name": { - "description": "Identifier. The name of the product input. Format: `accounts/{account}/productInputs/{productinput}` where the last section `productinput` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/online~en~US~sku123`", + "description": "Identifier. The name of the product input. Format: `accounts/{account}/productInputs/{productinput}` where the last section `productinput` consists of: `content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/en~US~sku123`. A legacy local product input name would be `accounts/123/productInputs/local~en~US~sku123`. Note: For calls to the v1beta version, the `productInput` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productInputs/online~en~US~sku123`.", "type": "string" }, "offerId": { diff --git a/discovery/merchantapi-promotions_v1beta.json b/discovery/merchantapi-promotions_v1beta.json index 9021b48f7d6..1e39195f6d2 100644 --- a/discovery/merchantapi-promotions_v1beta.json +++ b/discovery/merchantapi-promotions_v1beta.json @@ -203,7 +203,7 @@ } } }, - "revision": "20250628", + "revision": "20250727", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -380,7 +380,7 @@ "type": "array" }, "promotionDestinations": { - "description": "Required. The list of destinations where the promotion applies to. If you don't specify a destination by including a supported value in your data source, your promotion will display in Shopping ads and free listings by default. You may have previously submitted the following values as destinations for your products: Shopping Actions, Surfaces across Google, Local surfaces across Google. To represent these values use `FREE_LISTINGS`, `FREE_LOCAL_LISTINGS`, `LOCAL_INVENTORY_ADS`. For more details see [Promotion destination](https://support.google.com/merchants/answer/13837465?sjid=5155774230887277618-NC)", + "description": "Required. The list of destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) where the promotion applies to. If you don't specify a destination by including a supported value in your data source, your promotion will display in Shopping ads and free listings by default. You may have previously submitted the following values as destinations for your products: Shopping Actions, Surfaces across Google, Local surfaces across Google. To represent these values use `FREE_LISTINGS`, `FREE_LOCAL_LISTINGS`, `LOCAL_INVENTORY_ADS`. For more details see [Promotion destination](https://support.google.com/merchants/answer/13837465?sjid=5155774230887277618-NC)", "items": { "enum": [ "DESTINATION_ENUM_UNSPECIFIED", diff --git a/src/apis/merchantapi/accounts_v1beta.ts b/src/apis/merchantapi/accounts_v1beta.ts index 45fbefb7795..ff721fb24df 100644 --- a/src/apis/merchantapi/accounts_v1beta.ts +++ b/src/apis/merchantapi/accounts_v1beta.ts @@ -140,7 +140,7 @@ export namespace merchantapi_accounts_v1beta { uri?: string | null; } /** - * Describes the [accepted terms of service](/merchant/api/guides/accounts/create-and-configure#accept_the_merchant_center_terms_of_service). + * Describes the [accepted terms of service](https://developers.google.com/merchant/api/guides/accounts/create-and-configure#accept_the_merchant_center_terms_of_service). */ export interface Schema$Accepted { /** @@ -566,7 +566,7 @@ export namespace merchantapi_accounts_v1beta { */ effectiveUriSettings?: Schema$UriSettings; /** - * Optional. The destinations to which the checkout program applies, valid destination values are `SHOPPING_ADS`, `FREE_LISTINGS` + * Optional. The destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) to which the checkout program applies, valid destination values are `SHOPPING_ADS`, `FREE_LISTINGS` */ eligibleDestinations?: string[] | null; /** @@ -2130,7 +2130,7 @@ export namespace merchantapi_accounts_v1beta { */ carrierService?: string | null; /** - * Required. Warehouse name. This should match [warehouse](/merchant/api/reference/rest/accounts_v1beta/accounts.shippingSettings#warehouse) + * Required. Warehouse name. This should match warehouse. */ warehouse?: string | null; } diff --git a/src/apis/merchantapi/inventories_v1beta.ts b/src/apis/merchantapi/inventories_v1beta.ts index 9eeb58fd42a..538c732f470 100644 --- a/src/apis/merchantapi/inventories_v1beta.ts +++ b/src/apis/merchantapi/inventories_v1beta.ts @@ -217,7 +217,7 @@ export namespace merchantapi_inventories_v1beta { */ pickupSla?: string | null; /** - * Price of the product at this store. + * Optional. Price of the product at this store. */ price?: Schema$Price; /** @@ -225,11 +225,11 @@ export namespace merchantapi_inventories_v1beta { */ quantity?: string | null; /** - * Sale price of the product at this store. Mandatory if `salePriceEffectiveDate` is defined. + * Optional. Sale price of the product at this store. Mandatory if `salePriceEffectiveDate` is defined. */ salePrice?: Schema$Price; /** - * The `TimePeriod` of the sale at this store. + * Optional. The `TimePeriod` of the sale at this store. */ salePriceEffectiveDate?: Schema$Interval; /** @@ -333,7 +333,7 @@ export namespace merchantapi_inventories_v1beta { */ name?: string | null; /** - * Price of the product in this region. + * Optional. Price of the product in this region. */ price?: Schema$Price; /** @@ -341,11 +341,11 @@ export namespace merchantapi_inventories_v1beta { */ region?: string | null; /** - * Sale price of the product in this region. Mandatory if `salePriceEffectiveDate` is defined. + * Optional. Sale price of the product in this region. Mandatory if `salePriceEffectiveDate` is defined. */ salePrice?: Schema$Price; /** - * The `TimePeriod` of the sale price in this region. + * Optional. The `TimePeriod` of the sale price in this region. */ salePriceEffectiveDate?: Schema$Interval; } diff --git a/src/apis/merchantapi/ordertracking_v1beta.ts b/src/apis/merchantapi/ordertracking_v1beta.ts index 93cb92a5dfe..2826ebfa9cf 100644 --- a/src/apis/merchantapi/ordertracking_v1beta.ts +++ b/src/apis/merchantapi/ordertracking_v1beta.ts @@ -400,10 +400,10 @@ export namespace merchantapi_ordertracking_v1beta { export class Resource$Accounts { context: APIRequestContext; - ordertrackingsignals: Resource$Accounts$Ordertrackingsignals; + orderTrackingSignals: Resource$Accounts$Ordertrackingsignals; constructor(context: APIRequestContext) { this.context = context; - this.ordertrackingsignals = new Resource$Accounts$Ordertrackingsignals( + this.orderTrackingSignals = new Resource$Accounts$Ordertrackingsignals( this.context ); } @@ -445,7 +445,7 @@ export namespace merchantapi_ordertracking_v1beta { * google.options({auth: authClient}); * * // Do the magic - * const res = await merchantapi.accounts.ordertrackingsignals.create({ + * const res = await merchantapi.accounts.orderTrackingSignals.create({ * // Output only. The ID that uniquely identifies this order tracking signal. * orderTrackingSignalId: 'placeholder-value', * // Required. The account of the business for which the order signal is created. Format: accounts/{account\} @@ -557,7 +557,7 @@ export namespace merchantapi_ordertracking_v1beta { options: Object.assign( { url: ( - rootUrl + '/ordertracking/v1beta/{+parent}/ordertrackingsignals' + rootUrl + '/ordertracking/v1beta/{+parent}/orderTrackingSignals' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', diff --git a/src/apis/merchantapi/products_v1beta.ts b/src/apis/merchantapi/products_v1beta.ts index c008ea4d654..4a1385b1774 100644 --- a/src/apis/merchantapi/products_v1beta.ts +++ b/src/apis/merchantapi/products_v1beta.ts @@ -823,7 +823,7 @@ export namespace merchantapi_products_v1beta { */ feedLabel?: string | null; /** - * The name of the product. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product name is `accounts/123/products/online~en~US~sku123` + * The name of the product. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/products/en~US~sku123`. A legacy local product name would be `accounts/123/products/local~en~US~sku123`. Note: For calls to the v1beta version, the `product` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`. */ name?: string | null; /** @@ -915,7 +915,7 @@ export namespace merchantapi_products_v1beta { */ feedLabel?: string | null; /** - * Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/online~en~US~sku123` + * Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of: `content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/en~US~sku123`. A legacy local product input name would be `accounts/123/productInputs/local~en~US~sku123`. Note: For calls to the v1beta version, the `productInput` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productInputs/online~en~US~sku123`. */ name?: string | null; /** @@ -1251,7 +1251,7 @@ export namespace merchantapi_products_v1beta { * const res = await merchantapi.accounts.productInputs.delete({ * // Required. The primary or supplemental data source from which the product input should be deleted. Format: `accounts/{account\}/dataSources/{datasource\}`. For example, `accounts/123456/dataSources/104628`. * dataSource: 'placeholder-value', - * // Required. The name of the product input resource to delete. Format: `accounts/{account\}/productInputs/{product\}` where the last section `product` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/online~en~US~sku123`. + * // Required. The name of the product input resource to delete. Format: `accounts/{account\}/productInputs/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/en~US~sku123`. * name: 'accounts/my-account/productInputs/my-productInput', * }); * console.log(res.data); @@ -1550,7 +1550,7 @@ export namespace merchantapi_products_v1beta { * const res = await merchantapi.accounts.productInputs.patch({ * // Required. The primary or supplemental product data source where `data_source` name identifies the product input to be updated. Only API data sources are supported. Format: `accounts/{account\}/dataSources/{datasource\}`. For example, `accounts/123456/dataSources/104628`. * dataSource: 'placeholder-value', - * // Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/online~en~US~sku123` + * // Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of: `content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/en~US~sku123`. A legacy local product input name would be `accounts/123/productInputs/local~en~US~sku123`. Note: For calls to the v1beta version, the `productInput` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productInputs/online~en~US~sku123`. * name: 'accounts/my-account/productInputs/my-productInput', * // Optional. The list of product attributes to be updated. If the update mask is omitted, then it is treated as implied field mask equivalent to all fields that are populated (have a non-empty value). Attributes specified in the update mask without a value specified in the body will be deleted from the product. Update mask can only be specified for top level fields in attributes and custom attributes. To specify the update mask for custom attributes you need to add the `custom_attribute.` prefix. Providing special "*" value for full product replacement is not supported. * updateMask: 'placeholder-value', @@ -1690,7 +1690,7 @@ export namespace merchantapi_products_v1beta { */ dataSource?: string; /** - * Required. The name of the product input resource to delete. Format: `accounts/{account\}/productInputs/{product\}` where the last section `product` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/online~en~US~sku123`. + * Required. The name of the product input resource to delete. Format: `accounts/{account\}/productInputs/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/productInputs/en~US~sku123`. */ name?: string; } @@ -1717,7 +1717,7 @@ export namespace merchantapi_products_v1beta { */ dataSource?: string; /** - * Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/online~en~US~sku123` + * Identifier. The name of the product input. Format: `accounts/{account\}/productInputs/{productinput\}` where the last section `productinput` consists of: `content_language~feed_label~offer_id` example for product input name is `accounts/123/productInputs/en~US~sku123`. A legacy local product input name would be `accounts/123/productInputs/local~en~US~sku123`. Note: For calls to the v1beta version, the `productInput` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/productInputs/online~en~US~sku123`. */ name?: string; /** @@ -1768,7 +1768,7 @@ export namespace merchantapi_products_v1beta { * * // Do the magic * const res = await merchantapi.accounts.products.get({ - * // Required. The name of the product to retrieve. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product name is `accounts/123/products/online~en~US~sku123` + * // Required. The name of the product to retrieve. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/products/en~US~sku123`. A legacy local product name would be `accounts/123/products/local~en~US~sku123`. Note: For calls to the v1beta version, the `product` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`. * name: 'accounts/my-account/products/my-product', * }); * console.log(res.data); @@ -2032,7 +2032,7 @@ export namespace merchantapi_products_v1beta { export interface Params$Resource$Accounts$Products$Get extends StandardParameters { /** - * Required. The name of the product to retrieve. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of 4 parts: `channel~content_language~feed_label~offer_id` example for product name is `accounts/123/products/online~en~US~sku123` + * Required. The name of the product to retrieve. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of: `content_language~feed_label~offer_id` example for product name is `accounts/123/products/en~US~sku123`. A legacy local product name would be `accounts/123/products/local~en~US~sku123`. Note: For calls to the v1beta version, the `product` section consists of: `channel~content_language~feed_label~offer_id`, for example: `accounts/123/products/online~en~US~sku123`. */ name?: string; } diff --git a/src/apis/merchantapi/promotions_v1beta.ts b/src/apis/merchantapi/promotions_v1beta.ts index 9ab4892c39a..ff3e54d8e77 100644 --- a/src/apis/merchantapi/promotions_v1beta.ts +++ b/src/apis/merchantapi/promotions_v1beta.ts @@ -218,7 +218,7 @@ export namespace merchantapi_promotions_v1beta { */ productTypeInclusion?: string[] | null; /** - * Required. The list of destinations where the promotion applies to. If you don't specify a destination by including a supported value in your data source, your promotion will display in Shopping ads and free listings by default. You may have previously submitted the following values as destinations for your products: Shopping Actions, Surfaces across Google, Local surfaces across Google. To represent these values use `FREE_LISTINGS`, `FREE_LOCAL_LISTINGS`, `LOCAL_INVENTORY_ADS`. For more details see [Promotion destination](https://support.google.com/merchants/answer/13837465?sjid=5155774230887277618-NC) + * Required. The list of destinations (also known as [Marketing methods](https://support.google.com/merchants/answer/15130232)) where the promotion applies to. If you don't specify a destination by including a supported value in your data source, your promotion will display in Shopping ads and free listings by default. You may have previously submitted the following values as destinations for your products: Shopping Actions, Surfaces across Google, Local surfaces across Google. To represent these values use `FREE_LISTINGS`, `FREE_LOCAL_LISTINGS`, `LOCAL_INVENTORY_ADS`. For more details see [Promotion destination](https://support.google.com/merchants/answer/13837465?sjid=5155774230887277618-NC) */ promotionDestinations?: string[] | null; /** From 309861372a805a9804997fea9737375196b8e44d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 21/37] fix(monitoring): update the API #### monitoring:v1 The following keys were changed: - schemas.Field.description - schemas.Option.description - schemas.Type.description #### monitoring:v3 The following keys were changed: - schemas.Field.description - schemas.Option.description - schemas.Type.description --- discovery/monitoring-v1.json | 8 ++++---- discovery/monitoring-v3.json | 8 ++++---- src/apis/monitoring/v3.ts | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/discovery/monitoring-v1.json b/discovery/monitoring-v1.json index 5ebde538d2f..60d5392f5dc 100644 --- a/discovery/monitoring-v1.json +++ b/discovery/monitoring-v1.json @@ -753,7 +753,7 @@ } } }, - "revision": "20250529", + "revision": "20250723", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -1496,7 +1496,7 @@ "type": "object" }, "Field": { - "description": "A single field of a message type.", + "description": "A single field of a message type.New usages of this message as an alternative to FieldDescriptorProto are strongly discouraged. This message does not reliability preserve all information necessary to model the schema and preserve semantics. Instead make use of FileDescriptorSet which preserves the necessary information.", "id": "Field", "properties": { "cardinality": { @@ -1939,7 +1939,7 @@ "type": "object" }, "Option": { - "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.", + "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.New usages of this message as an alternative to FileOptions, MessageOptions, FieldOptions, EnumOptions, EnumValueOptions, ServiceOptions, or MethodOptions are strongly discouraged.", "id": "Option", "properties": { "name": { @@ -2915,7 +2915,7 @@ "type": "object" }, "Type": { - "description": "A protocol buffer message type.", + "description": "A protocol buffer message type.New usages of this message as an alternative to DescriptorProto are strongly discouraged. This message does not reliability preserve all information necessary to model the schema and preserve semantics. Instead make use of FileDescriptorSet which preserves the necessary information.", "id": "Type", "properties": { "edition": { diff --git a/discovery/monitoring-v3.json b/discovery/monitoring-v3.json index a7545aec059..671620409cc 100644 --- a/discovery/monitoring-v3.json +++ b/discovery/monitoring-v3.json @@ -2720,7 +2720,7 @@ } } }, - "revision": "20250515", + "revision": "20250723", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -3638,7 +3638,7 @@ "type": "object" }, "Field": { - "description": "A single field of a message type.", + "description": "A single field of a message type.New usages of this message as an alternative to FieldDescriptorProto are strongly discouraged. This message does not reliability preserve all information necessary to model the schema and preserve semantics. Instead make use of FileDescriptorSet which preserves the necessary information.", "id": "Field", "properties": { "cardinality": { @@ -5188,7 +5188,7 @@ "type": "object" }, "Option": { - "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.", + "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.New usages of this message as an alternative to FileOptions, MessageOptions, FieldOptions, EnumOptions, EnumValueOptions, ServiceOptions, or MethodOptions are strongly discouraged.", "id": "Option", "properties": { "name": { @@ -5997,7 +5997,7 @@ "type": "object" }, "Type": { - "description": "A protocol buffer message type.", + "description": "A protocol buffer message type.New usages of this message as an alternative to DescriptorProto are strongly discouraged. This message does not reliability preserve all information necessary to model the schema and preserve semantics. Instead make use of FileDescriptorSet which preserves the necessary information.", "id": "Type", "properties": { "edition": { diff --git a/src/apis/monitoring/v3.ts b/src/apis/monitoring/v3.ts index 7ddd1d00185..2d03d33fef0 100644 --- a/src/apis/monitoring/v3.ts +++ b/src/apis/monitoring/v3.ts @@ -738,7 +738,7 @@ export namespace monitoring_v3 { scale?: number | null; } /** - * A single field of a message type. + * A single field of a message type.New usages of this message as an alternative to FieldDescriptorProto are strongly discouraged. This message does not reliability preserve all information necessary to model the schema and preserve semantics. Instead make use of FileDescriptorSet which preserves the necessary information. */ export interface Schema$Field { /** @@ -1737,7 +1737,7 @@ export namespace monitoring_v3 { updateTime?: string | null; } /** - * A protocol buffer option, which can be attached to a message, field, enumeration, etc. + * A protocol buffer option, which can be attached to a message, field, enumeration, etc.New usages of this message as an alternative to FileOptions, MessageOptions, FieldOptions, EnumOptions, EnumValueOptions, ServiceOptions, or MethodOptions are strongly discouraged. */ export interface Schema$Option { /** @@ -2309,7 +2309,7 @@ export namespace monitoring_v3 { percent?: number | null; } /** - * A protocol buffer message type. + * A protocol buffer message type.New usages of this message as an alternative to DescriptorProto are strongly discouraged. This message does not reliability preserve all information necessary to model the schema and preserve semantics. Instead make use of FileDescriptorSet which preserves the necessary information. */ export interface Schema$Type { /** From 052f6321e8f0b79e39263293ab51112c8818e540 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 22/37] feat(networkmanagement): update the API #### networkmanagement:v1 The following keys were added: - schemas.Host.properties.cloudVpcId.description - schemas.Host.properties.cloudVpcId.readOnly - schemas.Host.properties.cloudVpcId.type --- discovery/networkmanagement-v1.json | 7 ++++++- src/apis/networkmanagement/v1.ts | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/discovery/networkmanagement-v1.json b/discovery/networkmanagement-v1.json index 0fe0833ff30..1e4e6b777cc 100644 --- a/discovery/networkmanagement-v1.json +++ b/discovery/networkmanagement-v1.json @@ -1289,7 +1289,7 @@ } } }, - "revision": "20250716", + "revision": "20250723", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -2574,6 +2574,11 @@ "readOnly": true, "type": "array" }, + "cloudVpcId": { + "description": "Output only. The id of Virtual Private Cloud (VPC) of the host.", + "readOnly": true, + "type": "string" + }, "cloudZone": { "description": "Output only. The cloud zone of the host.", "readOnly": true, diff --git a/src/apis/networkmanagement/v1.ts b/src/apis/networkmanagement/v1.ts index 43140060133..a7133970625 100644 --- a/src/apis/networkmanagement/v1.ts +++ b/src/apis/networkmanagement/v1.ts @@ -790,6 +790,10 @@ export namespace networkmanagement_v1 { * Output only. The ids of cloud virtual networks of the host. */ cloudVirtualNetworkIds?: string[] | null; + /** + * Output only. The id of Virtual Private Cloud (VPC) of the host. + */ + cloudVpcId?: string | null; /** * Output only. The cloud zone of the host. */ From 4b67d81a47af9708b72143b5d38f10e2851a639c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 23/37] feat(networksecurity): update the API #### networksecurity:v1beta1 The following keys were added: - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.flatPath - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.httpMethod - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.id - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameterOrder - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameters.dnsThreatDetectorId.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameters.dnsThreatDetectorId.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameters.dnsThreatDetectorId.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameters.parent.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameters.parent.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameters.parent.pattern - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameters.parent.required - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.parameters.parent.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.path - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.request.$ref - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.response.$ref - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.create.scopes - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.flatPath - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.httpMethod - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.id - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.parameterOrder - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.parameters.name.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.parameters.name.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.parameters.name.pattern - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.parameters.name.required - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.parameters.name.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.path - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.response.$ref - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.delete.scopes - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.flatPath - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.httpMethod - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.id - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.parameterOrder - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.parameters.name.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.parameters.name.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.parameters.name.pattern - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.parameters.name.required - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.parameters.name.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.path - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.response.$ref - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.get.scopes - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.flatPath - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.httpMethod - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.id - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameterOrder - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.pageSize.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.pageSize.format - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.pageSize.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.pageSize.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.pageToken.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.pageToken.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.parent.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.parent.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.parent.pattern - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.parent.required - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.parameters.parent.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.path - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.response.$ref - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.list.scopes - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.flatPath - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.httpMethod - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.id - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameterOrder - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.name.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.name.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.name.pattern - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.name.required - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.name.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.updateMask.description - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.updateMask.format - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.updateMask.location - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.parameters.updateMask.type - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.path - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.request.$ref - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.response.$ref - resources.projects.resources.locations.resources.dnsThreatDetectors.methods.patch.scopes - schemas.DnsThreatDetector.description - schemas.DnsThreatDetector.id - schemas.DnsThreatDetector.properties.createTime.description - schemas.DnsThreatDetector.properties.createTime.format - schemas.DnsThreatDetector.properties.createTime.readOnly - schemas.DnsThreatDetector.properties.createTime.type - schemas.DnsThreatDetector.properties.excludedNetworks.description - schemas.DnsThreatDetector.properties.excludedNetworks.items.type - schemas.DnsThreatDetector.properties.excludedNetworks.type - schemas.DnsThreatDetector.properties.labels.additionalProperties.type - schemas.DnsThreatDetector.properties.labels.description - schemas.DnsThreatDetector.properties.labels.type - schemas.DnsThreatDetector.properties.name.description - schemas.DnsThreatDetector.properties.name.type - schemas.DnsThreatDetector.properties.provider.description - schemas.DnsThreatDetector.properties.provider.enum - schemas.DnsThreatDetector.properties.provider.enumDescriptions - schemas.DnsThreatDetector.properties.provider.type - schemas.DnsThreatDetector.properties.updateTime.description - schemas.DnsThreatDetector.properties.updateTime.format - schemas.DnsThreatDetector.properties.updateTime.readOnly - schemas.DnsThreatDetector.properties.updateTime.type - schemas.DnsThreatDetector.type - schemas.ListDnsThreatDetectorsResponse.description - schemas.ListDnsThreatDetectorsResponse.id - schemas.ListDnsThreatDetectorsResponse.properties.dnsThreatDetectors.description - schemas.ListDnsThreatDetectorsResponse.properties.dnsThreatDetectors.items.$ref - schemas.ListDnsThreatDetectorsResponse.properties.dnsThreatDetectors.type - schemas.ListDnsThreatDetectorsResponse.properties.nextPageToken.description - schemas.ListDnsThreatDetectorsResponse.properties.nextPageToken.type - schemas.ListDnsThreatDetectorsResponse.properties.unreachable.description - schemas.ListDnsThreatDetectorsResponse.properties.unreachable.items.type - schemas.ListDnsThreatDetectorsResponse.properties.unreachable.type - schemas.ListDnsThreatDetectorsResponse.type --- discovery/networksecurity-v1beta1.json | 233 ++++++- src/apis/networksecurity/v1beta1.ts | 863 +++++++++++++++++++++++++ 2 files changed, 1095 insertions(+), 1 deletion(-) diff --git a/discovery/networksecurity-v1beta1.json b/discovery/networksecurity-v1beta1.json index 78b997fabd3..fdc47a614e6 100644 --- a/discovery/networksecurity-v1beta1.json +++ b/discovery/networksecurity-v1beta1.json @@ -2420,6 +2420,163 @@ } } }, + "dnsThreatDetectors": { + "methods": { + "create": { + "description": "Creates a new DnsThreatDetector in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dnsThreatDetectors", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.dnsThreatDetectors.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dnsThreatDetectorId": { + "description": "Optional. Id of the requesting DnsThreatDetector object. If this field is not supplied, the service will generate an identifier.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent of the DnsThreatDetector resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/dnsThreatDetectors", + "request": { + "$ref": "DnsThreatDetector" + }, + "response": { + "$ref": "DnsThreatDetector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single DnsThreatDetector.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dnsThreatDetectors/{dnsThreatDetectorsId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.dnsThreatDetectors.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the DnsThreatDetector resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dnsThreatDetectors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single DnsThreatDetector.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dnsThreatDetectors/{dnsThreatDetectorsId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.dnsThreatDetectors.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the DnsThreatDetector resource", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dnsThreatDetectors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "DnsThreatDetector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists DnsThreatDetectors in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dnsThreatDetectors", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.dnsThreatDetectors.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListDnsThreatDetectorsRequest` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListDnsThreatDetectorsRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/dnsThreatDetectors", + "response": { + "$ref": "ListDnsThreatDetectorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single DnsThreatDetector.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/dnsThreatDetectors/{dnsThreatDetectorsId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.dnsThreatDetectors.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Identifier. Name of the DnsThreatDetector resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dnsThreatDetectors/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the DnsThreatDetector 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 mask is not provided then all fields present in the request will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "DnsThreatDetector" + }, + "response": { + "$ref": "DnsThreatDetector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "firewallEndpointAssociations": { "methods": { "create": { @@ -5356,7 +5513,7 @@ } } }, - "revision": "20250714", + "revision": "20250721", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -6140,6 +6297,55 @@ }, "type": "object" }, + "DnsThreatDetector": { + "description": "Message describing DnsThreatDetector object", + "id": "DnsThreatDetector", + "properties": { + "createTime": { + "description": "Output only. [Output only] Create time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "excludedNetworks": { + "description": "Optional. A list of Network resource names which are exempt from the configuration in this DnsThreatDetector. Example: `projects/PROJECT_ID/global/networks/NETWORK_NAME`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "name": { + "description": "Immutable. Identifier. Name of the DnsThreatDetector resource.", + "type": "string" + }, + "provider": { + "description": "Required. The provider used for DNS threat analysis.", + "enum": [ + "PROVIDER_UNSPECIFIED", + "INFOBLOX" + ], + "enumDescriptions": [ + "An unspecified provider.", + "The Infoblox DNS threat detecter." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. [Output only] Update time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -7249,6 +7455,31 @@ }, "type": "object" }, + "ListDnsThreatDetectorsResponse": { + "description": "Message for response to listing DnsThreatDetectors", + "id": "ListDnsThreatDetectorsResponse", + "properties": { + "dnsThreatDetectors": { + "description": "The list of DnsThreatDetector resources.", + "items": { + "$ref": "DnsThreatDetector" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Unreachable `DnsThreatDetector` resources.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListFirewallEndpointAssociationsResponse": { "description": "Message for response to listing Associations", "id": "ListFirewallEndpointAssociationsResponse", diff --git a/src/apis/networksecurity/v1beta1.ts b/src/apis/networksecurity/v1beta1.ts index dee261009c2..42db73effb7 100644 --- a/src/apis/networksecurity/v1beta1.ts +++ b/src/apis/networksecurity/v1beta1.ts @@ -629,6 +629,35 @@ export namespace networksecurity_v1beta1 { */ ports?: number[] | null; } + /** + * Message describing DnsThreatDetector object + */ + export interface Schema$DnsThreatDetector { + /** + * Output only. [Output only] Create time stamp + */ + createTime?: string | null; + /** + * Optional. A list of Network resource names which are exempt from the configuration in this DnsThreatDetector. Example: `projects/PROJECT_ID/global/networks/NETWORK_NAME`. + */ + excludedNetworks?: string[] | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Immutable. Identifier. Name of the DnsThreatDetector resource. + */ + name?: string | null; + /** + * Required. The provider used for DNS threat analysis. + */ + provider?: string | null; + /** + * Output only. [Output only] Update time stamp + */ + updateTime?: 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); \} */ @@ -1330,6 +1359,23 @@ export namespace networksecurity_v1beta1 { */ nextPageToken?: string | null; } + /** + * Message for response to listing DnsThreatDetectors + */ + export interface Schema$ListDnsThreatDetectorsResponse { + /** + * The list of DnsThreatDetector resources. + */ + dnsThreatDetectors?: Schema$DnsThreatDetector[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + */ + nextPageToken?: string | null; + /** + * Unordered list. Unreachable `DnsThreatDetector` resources. + */ + unreachable?: string[] | null; + } /** * Message for response to listing Associations */ @@ -7177,6 +7223,7 @@ export namespace networksecurity_v1beta1 { authzPolicies: Resource$Projects$Locations$Authzpolicies; backendAuthenticationConfigs: Resource$Projects$Locations$Backendauthenticationconfigs; clientTlsPolicies: Resource$Projects$Locations$Clienttlspolicies; + dnsThreatDetectors: Resource$Projects$Locations$Dnsthreatdetectors; firewallEndpointAssociations: Resource$Projects$Locations$Firewallendpointassociations; gatewaySecurityPolicies: Resource$Projects$Locations$Gatewaysecuritypolicies; interceptDeploymentGroups: Resource$Projects$Locations$Interceptdeploymentgroups; @@ -7209,6 +7256,8 @@ export namespace networksecurity_v1beta1 { ); this.clientTlsPolicies = new Resource$Projects$Locations$Clienttlspolicies(this.context); + this.dnsThreatDetectors = + new Resource$Projects$Locations$Dnsthreatdetectors(this.context); this.firewallEndpointAssociations = new Resource$Projects$Locations$Firewallendpointassociations( this.context @@ -14416,6 +14465,820 @@ export namespace networksecurity_v1beta1 { requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; } + export class Resource$Projects$Locations$Dnsthreatdetectors { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new DnsThreatDetector in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('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 networksecurity.projects.locations.dnsThreatDetectors.create({ + * // Optional. Id of the requesting DnsThreatDetector object. If this field is not supplied, the service will generate an identifier. + * dnsThreatDetectorId: 'placeholder-value', + * // Required. Value for parent of the DnsThreatDetector resource. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "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$Dnsthreatdetectors$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dnsthreatdetectors$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/dnsThreatDetectors').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 DnsThreatDetector. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('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 networksecurity.projects.locations.dnsThreatDetectors.delete({ + * // Required. Name of the DnsThreatDetector resource. + * name: 'projects/my-project/locations/my-location/dnsThreatDetectors/my-dnsThreatDetector', + * }); + * 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$Dnsthreatdetectors$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.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 a single DnsThreatDetector. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('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 networksecurity.projects.locations.dnsThreatDetectors.get({ + * // Required. Name of the DnsThreatDetector resource + * name: 'projects/my-project/locations/my-location/dnsThreatDetectors/my-dnsThreatDetector', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "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$Dnsthreatdetectors$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dnsthreatdetectors$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.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 DnsThreatDetectors in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('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 networksecurity.projects.locations.dnsThreatDetectors.list({ + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListDnsThreatDetectorsRequest` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListDnsThreatDetectorsRequest + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dnsThreatDetectors": [], + * // "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$Dnsthreatdetectors$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dnsthreatdetectors$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/dnsThreatDetectors').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 DnsThreatDetector. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('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 networksecurity.projects.locations.dnsThreatDetectors.patch( + * { + * // Immutable. Identifier. Name of the DnsThreatDetector resource. + * name: 'projects/my-project/locations/my-location/dnsThreatDetectors/my-dnsThreatDetector', + * // Optional. Field mask is used to specify the fields to be overwritten in the DnsThreatDetector 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 mask is not provided then all fields present in the request will be overwritten. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "updateTime": "my_updateTime" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "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$Dnsthreatdetectors$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.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$Dnsthreatdetectors$Create + extends StandardParameters { + /** + * Optional. Id of the requesting DnsThreatDetector object. If this field is not supplied, the service will generate an identifier. + */ + dnsThreatDetectorId?: string; + /** + * Required. Value for parent of the DnsThreatDetector resource. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DnsThreatDetector; + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete + extends StandardParameters { + /** + * Required. Name of the DnsThreatDetector resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Get + extends StandardParameters { + /** + * Required. Name of the DnsThreatDetector resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$List + extends StandardParameters { + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListDnsThreatDetectorsRequest` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + /** + * Required. Parent value for ListDnsThreatDetectorsRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch + extends StandardParameters { + /** + * Immutable. Identifier. Name of the DnsThreatDetector resource. + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the DnsThreatDetector 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 mask is not provided then all fields present in the request will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DnsThreatDetector; + } + export class Resource$Projects$Locations$Firewallendpointassociations { context: APIRequestContext; constructor(context: APIRequestContext) { From 627b18e46ae32678a5be15596cf2a2bd9d6c46af Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 24/37] fix(networkservices): update the API #### networkservices:v1beta1 The following keys were changed: - schemas.AuthzExtension.properties.wireFormat.enum - schemas.AuthzExtension.properties.wireFormat.enumDescriptions - schemas.WasmPluginVersion.properties.imageDigest.description - schemas.WasmPluginVersion.properties.imageUri.description - schemas.WasmPluginVersion.properties.pluginConfigDigest.description - schemas.WasmPluginVersion.properties.pluginConfigUri.description - schemas.WasmPluginVersionDetails.properties.imageDigest.description - schemas.WasmPluginVersionDetails.properties.imageUri.description - schemas.WasmPluginVersionDetails.properties.pluginConfigDigest.description - schemas.WasmPluginVersionDetails.properties.pluginConfigUri.description #### networkservices:v1 The following keys were changed: - schemas.AuthzExtension.properties.wireFormat.enum - schemas.AuthzExtension.properties.wireFormat.enumDescriptions - schemas.WasmPluginVersion.properties.imageDigest.description - schemas.WasmPluginVersion.properties.imageUri.description - schemas.WasmPluginVersion.properties.pluginConfigDigest.description - schemas.WasmPluginVersion.properties.pluginConfigUri.description - schemas.WasmPluginVersionDetails.properties.imageDigest.description - schemas.WasmPluginVersionDetails.properties.imageUri.description - schemas.WasmPluginVersionDetails.properties.pluginConfigDigest.description - schemas.WasmPluginVersionDetails.properties.pluginConfigUri.description --- discovery/networkservices-v1.json | 24 +++++++++++++----------- discovery/networkservices-v1beta1.json | 24 +++++++++++++----------- src/apis/networkservices/v1.ts | 16 ++++++++-------- src/apis/networkservices/v1beta1.ts | 16 ++++++++-------- 4 files changed, 42 insertions(+), 38 deletions(-) diff --git a/discovery/networkservices-v1.json b/discovery/networkservices-v1.json index e897e9425fb..4123d3e08cd 100644 --- a/discovery/networkservices-v1.json +++ b/discovery/networkservices-v1.json @@ -3004,7 +3004,7 @@ } } }, - "revision": "20250709", + "revision": "20250723", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -3136,11 +3136,13 @@ "description": "Optional. The format of communication supported by the callout extension. If not specified, the default value `EXT_PROC_GRPC` is used.", "enum": [ "WIRE_FORMAT_UNSPECIFIED", - "EXT_PROC_GRPC" + "EXT_PROC_GRPC", + "EXT_AUTHZ_GRPC" ], "enumDescriptions": [ "Not specified.", - "The extension service uses ext_proc gRPC API over a gRPC stream. This is the default value if the wire format is not specified. The backend service for the extension must use HTTP2 or H2C as the protocol. All `supported_events` for a client request are sent as part of the same gRPC stream." + "The extension service uses ext_proc gRPC API over a gRPC stream. This is the default value if the wire format is not specified. The backend service for the extension must use HTTP2 or H2C as the protocol. All `supported_events` for a client request are sent as part of the same gRPC stream.", + "The extension service uses Envoy's `ext_authz` gRPC API. The backend service for the extension must use HTTP2, or H2C as the protocol. `EXT_AUTHZ_GRPC` is only supported for `AuthzExtension` resources." ], "type": "string" } @@ -5946,12 +5948,12 @@ "type": "string" }, "imageDigest": { - "description": "Output only. The resolved digest for the image specified in the `image` field. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value, regardless of whether a tag or digest was originally specified in the `image` field.", + "description": "Output only. This field holds the digest (usually checksum) value for the plugin image. The value is calculated based on the `image_uri` field. If the `image_uri` field refers to a container image, the digest value is obtained from the container image. If the `image_uri` field refers to a generic artifact, the digest value is calculated based on the contents of the file.", "readOnly": true, "type": "string" }, "imageUri": { - "description": "Optional. URI of the container image containing the plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag.", + "description": "Optional. URI of the image containing the Wasm module, stored in Artifact Registry. The URI can refer to one of the following repository formats: * Container images: the `image_uri` must point to a container that contains a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `image_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `image_uri` must be in this format: `projects/{project}/locations/{location}/repositories/{repository}/ genericArtifacts/{package}:{version}`. The specified package and version must contain a file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `image_digest` field.", "type": "string" }, "labels": { @@ -5971,12 +5973,12 @@ "type": "string" }, "pluginConfigDigest": { - "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` or the container image defined by the `plugin_config_uri` field.", + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` field or the image defined by the `plugin_config_uri` field.", "readOnly": true, "type": "string" }, "pluginConfigUri": { - "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The URI can refer to one of the following repository formats: * Container images: the `plugin_config_uri` must point to a container that contains a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `plugin_config_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `plugin_config_uri` must be in this format: `projects/{project}/locations/{location}/repositories/{repository}/ genericArtifacts/{package}:{version}`. The specified package and version must contain a file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `plugin_config_digest` field.", "type": "string" }, "updateTime": { @@ -6003,12 +6005,12 @@ "type": "string" }, "imageDigest": { - "description": "Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field.", + "description": "Output only. This field holds the digest (usually checksum) value for the plugin image. The value is calculated based on the `image_uri` field. If the `image_uri` field refers to a container image, the digest value is obtained from the container image. If the `image_uri` field refers to a generic artifact, the digest value is calculated based on the contents of the file.", "readOnly": true, "type": "string" }, "imageUri": { - "description": "Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field.", + "description": "Optional. URI of the image containing the Wasm module, stored in Artifact Registry. The URI can refer to one of the following repository formats: * Container images: the `image_uri` must point to a container that contains a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `image_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `image_uri` must be in this format: `projects/{project}/locations/{location}/repositories/{repository}/ genericArtifacts/{package}:{version}`. The specified package and version must contain a file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `image_digest` field.", "type": "string" }, "labels": { @@ -6024,12 +6026,12 @@ "type": "string" }, "pluginConfigDigest": { - "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` field or the container image defined by the `plugin_config_uri` field.", + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` field or the image defined by the `plugin_config_uri` field.", "readOnly": true, "type": "string" }, "pluginConfigUri": { - "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The URI can refer to one of the following repository formats: * Container images: the `plugin_config_uri` must point to a container that contains a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `plugin_config_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `plugin_config_uri` must be in this format: `projects/{project}/locations/{location}/repositories/{repository}/ genericArtifacts/{package}:{version}`. The specified package and version must contain a file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `plugin_config_digest` field.", "type": "string" }, "updateTime": { diff --git a/discovery/networkservices-v1beta1.json b/discovery/networkservices-v1beta1.json index de9f4bed134..d5c0e18ee5d 100644 --- a/discovery/networkservices-v1beta1.json +++ b/discovery/networkservices-v1beta1.json @@ -2913,7 +2913,7 @@ } } }, - "revision": "20250709", + "revision": "20250723", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuthzExtension": { @@ -2997,11 +2997,13 @@ "description": "Optional. The format of communication supported by the callout extension. If not specified, the default value `EXT_PROC_GRPC` is used.", "enum": [ "WIRE_FORMAT_UNSPECIFIED", - "EXT_PROC_GRPC" + "EXT_PROC_GRPC", + "EXT_AUTHZ_GRPC" ], "enumDescriptions": [ "Not specified.", - "The extension service uses ext_proc gRPC API over a gRPC stream. This is the default value if the wire format is not specified. The backend service for the extension must use HTTP2 or H2C as the protocol. All `supported_events` for a client request are sent as part of the same gRPC stream." + "The extension service uses ext_proc gRPC API over a gRPC stream. This is the default value if the wire format is not specified. The backend service for the extension must use HTTP2 or H2C as the protocol. All `supported_events` for a client request are sent as part of the same gRPC stream.", + "The extension service uses Envoy's `ext_authz` gRPC API. The backend service for the extension must use HTTP2, or H2C as the protocol. `EXT_AUTHZ_GRPC` is only supported for `AuthzExtension` resources." ], "type": "string" } @@ -5810,12 +5812,12 @@ "type": "string" }, "imageDigest": { - "description": "Output only. The resolved digest for the image specified in the `image` field. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value, regardless of whether a tag or digest was originally specified in the `image` field.", + "description": "Output only. This field holds the digest (usually checksum) value for the plugin image. The value is calculated based on the `image_uri` field. If the `image_uri` field refers to a container image, the digest value is obtained from the container image. If the `image_uri` field refers to a generic artifact, the digest value is calculated based on the contents of the file.", "readOnly": true, "type": "string" }, "imageUri": { - "description": "Optional. URI of the container image containing the plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag.", + "description": "Optional. URI of the image containing the Wasm module, stored in Artifact Registry. The URI can refer to one of the following repository formats: * Container images: the `image_uri` must point to a container that contains a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `image_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `image_uri` must be in this format: `projects/{project}/locations/{location}/repositories/{repository}/ genericArtifacts/{package}:{version}`. The specified package and version must contain a file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `image_digest` field.", "type": "string" }, "labels": { @@ -5835,12 +5837,12 @@ "type": "string" }, "pluginConfigDigest": { - "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` or the container image defined by the `plugin_config_uri` field.", + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` field or the image defined by the `plugin_config_uri` field.", "readOnly": true, "type": "string" }, "pluginConfigUri": { - "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The URI can refer to one of the following repository formats: * Container images: the `plugin_config_uri` must point to a container that contains a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `plugin_config_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `plugin_config_uri` must be in this format: `projects/{project}/locations/{location}/repositories/{repository}/ genericArtifacts/{package}:{version}`. The specified package and version must contain a file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `plugin_config_digest` field.", "type": "string" }, "updateTime": { @@ -5867,12 +5869,12 @@ "type": "string" }, "imageDigest": { - "description": "Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field.", + "description": "Output only. This field holds the digest (usually checksum) value for the plugin image. The value is calculated based on the `image_uri` field. If the `image_uri` field refers to a container image, the digest value is obtained from the container image. If the `image_uri` field refers to a generic artifact, the digest value is calculated based on the contents of the file.", "readOnly": true, "type": "string" }, "imageUri": { - "description": "Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field.", + "description": "Optional. URI of the image containing the Wasm module, stored in Artifact Registry. The URI can refer to one of the following repository formats: * Container images: the `image_uri` must point to a container that contains a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `image_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `image_uri` must be in this format: `projects/{project}/locations/{location}/repositories/{repository}/ genericArtifacts/{package}:{version}`. The specified package and version must contain a file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `image_digest` field.", "type": "string" }, "labels": { @@ -5888,12 +5890,12 @@ "type": "string" }, "pluginConfigDigest": { - "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` field or the container image defined by the `plugin_config_uri` field.", + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` field or the image defined by the `plugin_config_uri` field.", "readOnly": true, "type": "string" }, "pluginConfigUri": { - "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The URI can refer to one of the following repository formats: * Container images: the `plugin_config_uri` must point to a container that contains a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `plugin_config_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `plugin_config_uri` must be in this format: `projects/{project}/locations/{location}/repositories/{repository}/ genericArtifacts/{package}:{version}`. The specified package and version must contain a file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `plugin_config_digest` field.", "type": "string" }, "updateTime": { diff --git a/src/apis/networkservices/v1.ts b/src/apis/networkservices/v1.ts index f1f124543ec..617bf906772 100644 --- a/src/apis/networkservices/v1.ts +++ b/src/apis/networkservices/v1.ts @@ -2138,11 +2138,11 @@ export namespace networkservices_v1 { */ description?: string | null; /** - * Output only. The resolved digest for the image specified in the `image` field. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value, regardless of whether a tag or digest was originally specified in the `image` field. + * Output only. This field holds the digest (usually checksum) value for the plugin image. The value is calculated based on the `image_uri` field. If the `image_uri` field refers to a container image, the digest value is obtained from the container image. If the `image_uri` field refers to a generic artifact, the digest value is calculated based on the contents of the file. */ imageDigest?: string | null; /** - * Optional. URI of the container image containing the plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag. + * Optional. URI of the image containing the Wasm module, stored in Artifact Registry. The URI can refer to one of the following repository formats: * Container images: the `image_uri` must point to a container that contains a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `image_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `image_uri` must be in this format: `projects/{project\}/locations/{location\}/repositories/{repository\}/ genericArtifacts/{package\}:{version\}`. The specified package and version must contain a file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `image_digest` field. */ imageUri?: string | null; /** @@ -2158,11 +2158,11 @@ export namespace networkservices_v1 { */ pluginConfigData?: string | null; /** - * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` or the container image defined by the `plugin_config_uri` field. + * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` field or the image defined by the `plugin_config_uri` field. */ pluginConfigDigest?: string | null; /** - * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field. + * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The URI can refer to one of the following repository formats: * Container images: the `plugin_config_uri` must point to a container that contains a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `plugin_config_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `plugin_config_uri` must be in this format: `projects/{project\}/locations/{location\}/repositories/{repository\}/ genericArtifacts/{package\}:{version\}`. The specified package and version must contain a file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `plugin_config_digest` field. */ pluginConfigUri?: string | null; /** @@ -2183,11 +2183,11 @@ export namespace networkservices_v1 { */ description?: string | null; /** - * Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field. + * Output only. This field holds the digest (usually checksum) value for the plugin image. The value is calculated based on the `image_uri` field. If the `image_uri` field refers to a container image, the digest value is obtained from the container image. If the `image_uri` field refers to a generic artifact, the digest value is calculated based on the contents of the file. */ imageDigest?: string | null; /** - * Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field. + * Optional. URI of the image containing the Wasm module, stored in Artifact Registry. The URI can refer to one of the following repository formats: * Container images: the `image_uri` must point to a container that contains a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `image_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `image_uri` must be in this format: `projects/{project\}/locations/{location\}/repositories/{repository\}/ genericArtifacts/{package\}:{version\}`. The specified package and version must contain a file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `image_digest` field. */ imageUri?: string | null; /** @@ -2199,11 +2199,11 @@ export namespace networkservices_v1 { */ pluginConfigData?: string | null; /** - * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` field or the container image defined by the `plugin_config_uri` field. + * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` field or the image defined by the `plugin_config_uri` field. */ pluginConfigDigest?: string | null; /** - * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field. + * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The URI can refer to one of the following repository formats: * Container images: the `plugin_config_uri` must point to a container that contains a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `plugin_config_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `plugin_config_uri` must be in this format: `projects/{project\}/locations/{location\}/repositories/{repository\}/ genericArtifacts/{package\}:{version\}`. The specified package and version must contain a file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `plugin_config_digest` field. */ pluginConfigUri?: string | null; /** diff --git a/src/apis/networkservices/v1beta1.ts b/src/apis/networkservices/v1beta1.ts index 144508e7eee..9c7474cc8f5 100644 --- a/src/apis/networkservices/v1beta1.ts +++ b/src/apis/networkservices/v1beta1.ts @@ -2092,11 +2092,11 @@ export namespace networkservices_v1beta1 { */ description?: string | null; /** - * Output only. The resolved digest for the image specified in the `image` field. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value, regardless of whether a tag or digest was originally specified in the `image` field. + * Output only. This field holds the digest (usually checksum) value for the plugin image. The value is calculated based on the `image_uri` field. If the `image_uri` field refers to a container image, the digest value is obtained from the container image. If the `image_uri` field refers to a generic artifact, the digest value is calculated based on the contents of the file. */ imageDigest?: string | null; /** - * Optional. URI of the container image containing the plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag. + * Optional. URI of the image containing the Wasm module, stored in Artifact Registry. The URI can refer to one of the following repository formats: * Container images: the `image_uri` must point to a container that contains a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `image_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `image_uri` must be in this format: `projects/{project\}/locations/{location\}/repositories/{repository\}/ genericArtifacts/{package\}:{version\}`. The specified package and version must contain a file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `image_digest` field. */ imageUri?: string | null; /** @@ -2112,11 +2112,11 @@ export namespace networkservices_v1beta1 { */ pluginConfigData?: string | null; /** - * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` or the container image defined by the `plugin_config_uri` field. + * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` field or the image defined by the `plugin_config_uri` field. */ pluginConfigDigest?: string | null; /** - * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field. + * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The URI can refer to one of the following repository formats: * Container images: the `plugin_config_uri` must point to a container that contains a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `plugin_config_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `plugin_config_uri` must be in this format: `projects/{project\}/locations/{location\}/repositories/{repository\}/ genericArtifacts/{package\}:{version\}`. The specified package and version must contain a file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `plugin_config_digest` field. */ pluginConfigUri?: string | null; /** @@ -2137,11 +2137,11 @@ export namespace networkservices_v1beta1 { */ description?: string | null; /** - * Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field. + * Output only. This field holds the digest (usually checksum) value for the plugin image. The value is calculated based on the `image_uri` field. If the `image_uri` field refers to a container image, the digest value is obtained from the container image. If the `image_uri` field refers to a generic artifact, the digest value is calculated based on the contents of the file. */ imageDigest?: string | null; /** - * Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field. + * Optional. URI of the image containing the Wasm module, stored in Artifact Registry. The URI can refer to one of the following repository formats: * Container images: the `image_uri` must point to a container that contains a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `image_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `image_uri` must be in this format: `projects/{project\}/locations/{location\}/repositories/{repository\}/ genericArtifacts/{package\}:{version\}`. The specified package and version must contain a file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `image_digest` field. */ imageUri?: string | null; /** @@ -2153,11 +2153,11 @@ export namespace networkservices_v1beta1 { */ pluginConfigData?: string | null; /** - * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` field or the container image defined by the `plugin_config_uri` field. + * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` field or the image defined by the `plugin_config_uri` field. */ pluginConfigDigest?: string | null; /** - * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field. + * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The URI can refer to one of the following repository formats: * Container images: the `plugin_config_uri` must point to a container that contains a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the image is saved in the `plugin_config_digest` field. When pulling a container image from Artifact Registry, the digest value is used instead of an image tag. * Generic artifacts: the `plugin_config_uri` must be in this format: `projects/{project\}/locations/{location\}/repositories/{repository\}/ genericArtifacts/{package\}:{version\}`. The specified package and version must contain a file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the checksum of the contents of the file is saved in the `plugin_config_digest` field. */ pluginConfigUri?: string | null; /** From f5c7af70fcfcd8a6523c39c2302074d063ebe19a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 25/37] feat(osconfig): update the API #### osconfig:v1alpha The following keys were added: - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.description - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.enum - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.enumDescriptions - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.readOnly - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.type #### osconfig:v1 The following keys were added: - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.description - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.enum - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.enumDescriptions - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.readOnly - schemas.VulnerabilityReport.properties.highestUpgradableCveSeverity.type --- discovery/osconfig-v1.json | 25 ++++++++++++++++++++++++- discovery/osconfig-v1alpha.json | 25 ++++++++++++++++++++++++- src/apis/osconfig/v1.ts | 5 +++++ src/apis/osconfig/v1alpha.ts | 5 +++++ 4 files changed, 58 insertions(+), 2 deletions(-) diff --git a/discovery/osconfig-v1.json b/discovery/osconfig-v1.json index 97125259e8f..451d14acf99 100644 --- a/discovery/osconfig-v1.json +++ b/discovery/osconfig-v1.json @@ -1083,7 +1083,7 @@ } } }, - "revision": "20250511", + "revision": "20250727", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptSettings": { @@ -3665,6 +3665,29 @@ "description": "This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports).", "id": "VulnerabilityReport", "properties": { + "highestUpgradableCveSeverity": { + "description": "Output only. Highest level of severity among all the upgradable vulnerabilities with CVEs attached.", + "enum": [ + "VULNERABILITY_SEVERITY_LEVEL_UNSPECIFIED", + "NONE", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Default SeverityLevel. This value is unused.", + "Vulnerability has no severity level.", + "Vulnerability severity level is minimal. This is level below the low severity level.", + "Vulnerability severity level is low. This is level below the medium severity level.", + "Vulnerability severity level is medium. This is level below the high severity level.", + "Vulnerability severity level is high. This is level below the critical severity level.", + "Vulnerability severity level is critical. This is the highest severity level." + ], + "readOnly": true, + "type": "string" + }, "name": { "description": "Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`", "readOnly": true, diff --git a/discovery/osconfig-v1alpha.json b/discovery/osconfig-v1alpha.json index 036bc01f93c..6ca78213464 100644 --- a/discovery/osconfig-v1alpha.json +++ b/discovery/osconfig-v1alpha.json @@ -707,7 +707,7 @@ } } }, - "revision": "20250511", + "revision": "20250727", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "CVSSv3": { @@ -2720,6 +2720,29 @@ "description": "This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports).", "id": "VulnerabilityReport", "properties": { + "highestUpgradableCveSeverity": { + "description": "Output only. Highest level of severity among all the upgradable vulnerabilities with CVEs attached.", + "enum": [ + "VULNERABILITY_SEVERITY_LEVEL_UNSPECIFIED", + "NONE", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Default SeverityLevel. This value is unused.", + "Vulnerability has no severity level.", + "Vulnerability severity level is minimal. This is level below the low severity level.", + "Vulnerability severity level is low. This is level below the medium severity level.", + "Vulnerability severity level is medium. This is level below the high severity level.", + "Vulnerability severity level is high. This is level below the critical severity level.", + "Vulnerability severity level is critical. This is the highest severity level." + ], + "readOnly": true, + "type": "string" + }, "name": { "description": "Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`", "readOnly": true, diff --git a/src/apis/osconfig/v1.ts b/src/apis/osconfig/v1.ts index 4c6d451106b..1e0db40ee0a 100644 --- a/src/apis/osconfig/v1.ts +++ b/src/apis/osconfig/v1.ts @@ -1912,6 +1912,10 @@ export namespace osconfig_v1 { * This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports). */ export interface Schema$VulnerabilityReport { + /** + * Output only. Highest level of severity among all the upgradable vulnerabilities with CVEs attached. + */ + highestUpgradableCveSeverity?: string | null; /** * Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number\}/locations/{location\}/instances/{instance_id\}/vulnerabilityReport` */ @@ -3211,6 +3215,7 @@ export namespace osconfig_v1 { * * // Example response * // { + * // "highestUpgradableCveSeverity": "my_highestUpgradableCveSeverity", * // "name": "my_name", * // "updateTime": "my_updateTime", * // "vulnerabilities": [] diff --git a/src/apis/osconfig/v1alpha.ts b/src/apis/osconfig/v1alpha.ts index 14358f12351..03bf46a3d6f 100644 --- a/src/apis/osconfig/v1alpha.ts +++ b/src/apis/osconfig/v1alpha.ts @@ -1489,6 +1489,10 @@ export namespace osconfig_v1alpha { * This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports). */ export interface Schema$VulnerabilityReport { + /** + * Output only. Highest level of severity among all the upgradable vulnerabilities with CVEs attached. + */ + highestUpgradableCveSeverity?: string | null; /** * Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number\}/locations/{location\}/instances/{instance_id\}/vulnerabilityReport` */ @@ -2706,6 +2710,7 @@ export namespace osconfig_v1alpha { * * // Example response * // { + * // "highestUpgradableCveSeverity": "my_highestUpgradableCveSeverity", * // "name": "my_name", * // "updateTime": "my_updateTime", * // "vulnerabilities": [] From 0a68fe273dbd99464000ba13fde433a90f1c9c54 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 26/37] feat(redis): update the API #### redis:v1beta1 The following keys were added: - schemas.BackupDRMetadata.description - schemas.BackupDRMetadata.id - schemas.BackupDRMetadata.properties.backupConfiguration.$ref - schemas.BackupDRMetadata.properties.backupConfiguration.description - schemas.BackupDRMetadata.properties.backupRun.$ref - schemas.BackupDRMetadata.properties.backupRun.description - schemas.BackupDRMetadata.properties.backupdrConfiguration.$ref - schemas.BackupDRMetadata.properties.backupdrConfiguration.description - schemas.BackupDRMetadata.properties.fullResourceName.description - schemas.BackupDRMetadata.properties.fullResourceName.type - schemas.BackupDRMetadata.properties.lastRefreshTime.description - schemas.BackupDRMetadata.properties.lastRefreshTime.format - schemas.BackupDRMetadata.properties.lastRefreshTime.type - schemas.BackupDRMetadata.properties.resourceId.$ref - schemas.BackupDRMetadata.properties.resourceId.description - schemas.BackupDRMetadata.type - schemas.DatabaseResourceFeed.properties.backupdrMetadata.$ref - schemas.DatabaseResourceFeed.properties.backupdrMetadata.description The following keys were changed: - schemas.DatabaseResourceFeed.description - schemas.DatabaseResourceFeed.properties.feedType.enum - schemas.DatabaseResourceFeed.properties.feedType.enumDescriptions - schemas.DatabaseResourceHealthSignalData.properties.signalType.enum - schemas.DatabaseResourceHealthSignalData.properties.signalType.enumDeprecated - schemas.DatabaseResourceHealthSignalData.properties.signalType.enumDescriptions - schemas.DatabaseResourceRecommendationSignalData.properties.signalType.enum - schemas.DatabaseResourceRecommendationSignalData.properties.signalType.enumDeprecated - schemas.DatabaseResourceRecommendationSignalData.properties.signalType.enumDescriptions #### redis:v1 The following keys were added: - schemas.BackupDRMetadata.description - schemas.BackupDRMetadata.id - schemas.BackupDRMetadata.properties.backupConfiguration.$ref - schemas.BackupDRMetadata.properties.backupConfiguration.description - schemas.BackupDRMetadata.properties.backupRun.$ref - schemas.BackupDRMetadata.properties.backupRun.description - schemas.BackupDRMetadata.properties.backupdrConfiguration.$ref - schemas.BackupDRMetadata.properties.backupdrConfiguration.description - schemas.BackupDRMetadata.properties.fullResourceName.description - schemas.BackupDRMetadata.properties.fullResourceName.type - schemas.BackupDRMetadata.properties.lastRefreshTime.description - schemas.BackupDRMetadata.properties.lastRefreshTime.format - schemas.BackupDRMetadata.properties.lastRefreshTime.type - schemas.BackupDRMetadata.properties.resourceId.$ref - schemas.BackupDRMetadata.properties.resourceId.description - schemas.BackupDRMetadata.type - schemas.DatabaseResourceFeed.properties.backupdrMetadata.$ref - schemas.DatabaseResourceFeed.properties.backupdrMetadata.description The following keys were changed: - schemas.DatabaseResourceFeed.description - schemas.DatabaseResourceFeed.properties.feedType.enum - schemas.DatabaseResourceFeed.properties.feedType.enumDescriptions - schemas.DatabaseResourceHealthSignalData.properties.signalType.enum - schemas.DatabaseResourceHealthSignalData.properties.signalType.enumDeprecated - schemas.DatabaseResourceHealthSignalData.properties.signalType.enumDescriptions - schemas.DatabaseResourceRecommendationSignalData.properties.signalType.enum - schemas.DatabaseResourceRecommendationSignalData.properties.signalType.enumDeprecated - schemas.DatabaseResourceRecommendationSignalData.properties.signalType.enumDescriptions --- discovery/redis-v1.json | 66 +++++++++++++++++++++++++++++++----- discovery/redis-v1beta1.json | 66 +++++++++++++++++++++++++++++++----- src/apis/redis/v1.ts | 35 ++++++++++++++++++- src/apis/redis/v1beta1.ts | 35 ++++++++++++++++++- 4 files changed, 184 insertions(+), 18 deletions(-) diff --git a/discovery/redis-v1.json b/discovery/redis-v1.json index 7da13a2627d..89368947012 100644 --- a/discovery/redis-v1.json +++ b/discovery/redis-v1.json @@ -1073,7 +1073,7 @@ } } }, - "revision": "20250718", + "revision": "20250729", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -1378,6 +1378,38 @@ }, "type": "object" }, + "BackupDRMetadata": { + "description": "BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource.", + "id": "BackupDRMetadata", + "properties": { + "backupConfiguration": { + "$ref": "BackupConfiguration", + "description": "Backup configuration for this instance." + }, + "backupRun": { + "$ref": "BackupRun", + "description": "Latest backup run information for this instance." + }, + "backupdrConfiguration": { + "$ref": "BackupDRConfiguration", + "description": "BackupDR configuration for this instance." + }, + "fullResourceName": { + "description": "Required. Full resource name of this instance.", + "type": "string" + }, + "lastRefreshTime": { + "description": "Required. Last time backup configuration was refreshed.", + "format": "google-datetime", + "type": "string" + }, + "resourceId": { + "$ref": "DatabaseResourceId", + "description": "Required. Database resource id." + } + }, + "type": "object" + }, "BackupFile": { "description": "Backup is consisted of multiple backup files.", "id": "BackupFile", @@ -1961,9 +1993,13 @@ "type": "object" }, "DatabaseResourceFeed": { - "description": "DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 9", + "description": "DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 10", "id": "DatabaseResourceFeed", "properties": { + "backupdrMetadata": { + "$ref": "BackupDRMetadata", + "description": "BackupDR metadata is used to ingest metadata from BackupDR." + }, "configBasedSignalData": { "$ref": "ConfigBasedSignalData", "description": "Config based signal data is used to ingest signals that are generated based on the configuration of the database resource." @@ -1981,7 +2017,8 @@ "OBSERVABILITY_DATA", "SECURITY_FINDING_DATA", "RECOMMENDATION_SIGNAL_DATA", - "CONFIG_BASED_SIGNAL_DATA" + "CONFIG_BASED_SIGNAL_DATA", + "BACKUPDR_METADATA" ], "enumDescriptions": [ "", @@ -1989,7 +2026,8 @@ "Database resource monitoring data", "Database resource security health signal data", "Database resource recommendation signal data", - "Database config based signal data" + "Database config based signal data", + "Database resource metadata from BackupDR" ], "type": "string" }, @@ -2226,7 +2264,9 @@ "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED", "SIGNAL_TYPE_OUTDATED_MINOR_VERSION", "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", - "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS" + "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", + "SIGNAL_TYPE_REPLICATION_LAG", + "SIGNAL_TYPE_OUTDATED_VERSION" ], "enumDeprecated": [ false, @@ -2327,6 +2367,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -2428,7 +2470,9 @@ "Location org policy not satisfied.", "Outdated DB minor version.", "Schema not optimized.", - "High number of idle connections." + "High number of idle connections.", + "Replication delay.", + "Outdated version." ], "type": "string" }, @@ -2853,7 +2897,9 @@ "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED", "SIGNAL_TYPE_OUTDATED_MINOR_VERSION", "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", - "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS" + "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", + "SIGNAL_TYPE_REPLICATION_LAG", + "SIGNAL_TYPE_OUTDATED_VERSION" ], "enumDeprecated": [ false, @@ -2954,6 +3000,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -3055,7 +3103,9 @@ "Location org policy not satisfied.", "Outdated DB minor version.", "Schema not optimized.", - "High number of idle connections." + "High number of idle connections.", + "Replication delay.", + "Outdated version." ], "type": "string" } diff --git a/discovery/redis-v1beta1.json b/discovery/redis-v1beta1.json index a534fa59602..739a807bed9 100644 --- a/discovery/redis-v1beta1.json +++ b/discovery/redis-v1beta1.json @@ -1073,7 +1073,7 @@ } } }, - "revision": "20250718", + "revision": "20250729", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -1378,6 +1378,38 @@ }, "type": "object" }, + "BackupDRMetadata": { + "description": "BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource.", + "id": "BackupDRMetadata", + "properties": { + "backupConfiguration": { + "$ref": "BackupConfiguration", + "description": "Backup configuration for this instance." + }, + "backupRun": { + "$ref": "BackupRun", + "description": "Latest backup run information for this instance." + }, + "backupdrConfiguration": { + "$ref": "BackupDRConfiguration", + "description": "BackupDR configuration for this instance." + }, + "fullResourceName": { + "description": "Required. Full resource name of this instance.", + "type": "string" + }, + "lastRefreshTime": { + "description": "Required. Last time backup configuration was refreshed.", + "format": "google-datetime", + "type": "string" + }, + "resourceId": { + "$ref": "DatabaseResourceId", + "description": "Required. Database resource id." + } + }, + "type": "object" + }, "BackupFile": { "description": "Backup is consisted of multiple backup files.", "id": "BackupFile", @@ -1961,9 +1993,13 @@ "type": "object" }, "DatabaseResourceFeed": { - "description": "DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 9", + "description": "DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 10", "id": "DatabaseResourceFeed", "properties": { + "backupdrMetadata": { + "$ref": "BackupDRMetadata", + "description": "BackupDR metadata is used to ingest metadata from BackupDR." + }, "configBasedSignalData": { "$ref": "ConfigBasedSignalData", "description": "Config based signal data is used to ingest signals that are generated based on the configuration of the database resource." @@ -1981,7 +2017,8 @@ "OBSERVABILITY_DATA", "SECURITY_FINDING_DATA", "RECOMMENDATION_SIGNAL_DATA", - "CONFIG_BASED_SIGNAL_DATA" + "CONFIG_BASED_SIGNAL_DATA", + "BACKUPDR_METADATA" ], "enumDescriptions": [ "", @@ -1989,7 +2026,8 @@ "Database resource monitoring data", "Database resource security health signal data", "Database resource recommendation signal data", - "Database config based signal data" + "Database config based signal data", + "Database resource metadata from BackupDR" ], "type": "string" }, @@ -2226,7 +2264,9 @@ "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED", "SIGNAL_TYPE_OUTDATED_MINOR_VERSION", "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", - "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS" + "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", + "SIGNAL_TYPE_REPLICATION_LAG", + "SIGNAL_TYPE_OUTDATED_VERSION" ], "enumDeprecated": [ false, @@ -2327,6 +2367,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -2428,7 +2470,9 @@ "Location org policy not satisfied.", "Outdated DB minor version.", "Schema not optimized.", - "High number of idle connections." + "High number of idle connections.", + "Replication delay.", + "Outdated version." ], "type": "string" }, @@ -2853,7 +2897,9 @@ "SIGNAL_TYPE_LOCATION_ORG_POLICY_NOT_SATISFIED", "SIGNAL_TYPE_OUTDATED_MINOR_VERSION", "SIGNAL_TYPE_SCHEMA_NOT_OPTIMIZED", - "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS" + "SIGNAL_TYPE_MANY_IDLE_CONNECTIONS", + "SIGNAL_TYPE_REPLICATION_LAG", + "SIGNAL_TYPE_OUTDATED_VERSION" ], "enumDeprecated": [ false, @@ -2954,6 +3000,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -3055,7 +3103,9 @@ "Location org policy not satisfied.", "Outdated DB minor version.", "Schema not optimized.", - "High number of idle connections." + "High number of idle connections.", + "Replication delay.", + "Outdated version." ], "type": "string" } diff --git a/src/apis/redis/v1.ts b/src/apis/redis/v1.ts index 0cefe8bd376..e3e7c10a51f 100644 --- a/src/apis/redis/v1.ts +++ b/src/apis/redis/v1.ts @@ -302,6 +302,35 @@ export namespace redis_v1 { */ backupdrManaged?: boolean | null; } + /** + * BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource. + */ + export interface Schema$BackupDRMetadata { + /** + * Backup configuration for this instance. + */ + backupConfiguration?: Schema$BackupConfiguration; + /** + * BackupDR configuration for this instance. + */ + backupdrConfiguration?: Schema$BackupDRConfiguration; + /** + * Latest backup run information for this instance. + */ + backupRun?: Schema$BackupRun; + /** + * Required. Full resource name of this instance. + */ + fullResourceName?: string | null; + /** + * Required. Last time backup configuration was refreshed. + */ + lastRefreshTime?: string | null; + /** + * Required. Database resource id. + */ + resourceId?: Schema$DatabaseResourceId; + } /** * Backup is consisted of multiple backup files. */ @@ -660,9 +689,13 @@ export namespace redis_v1 { internalResourceMetadata?: Schema$InternalResourceMetadata[]; } /** - * DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 9 + * DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 10 */ export interface Schema$DatabaseResourceFeed { + /** + * BackupDR metadata is used to ingest metadata from BackupDR. + */ + backupdrMetadata?: Schema$BackupDRMetadata; /** * Config based signal data is used to ingest signals that are generated based on the configuration of the database resource. */ diff --git a/src/apis/redis/v1beta1.ts b/src/apis/redis/v1beta1.ts index cfb412f9897..d1af4476f32 100644 --- a/src/apis/redis/v1beta1.ts +++ b/src/apis/redis/v1beta1.ts @@ -302,6 +302,35 @@ export namespace redis_v1beta1 { */ backupdrManaged?: boolean | null; } + /** + * BackupDRMetadata contains information about the backup and disaster recovery metadata of a database resource. + */ + export interface Schema$BackupDRMetadata { + /** + * Backup configuration for this instance. + */ + backupConfiguration?: Schema$BackupConfiguration; + /** + * BackupDR configuration for this instance. + */ + backupdrConfiguration?: Schema$BackupDRConfiguration; + /** + * Latest backup run information for this instance. + */ + backupRun?: Schema$BackupRun; + /** + * Required. Full resource name of this instance. + */ + fullResourceName?: string | null; + /** + * Required. Last time backup configuration was refreshed. + */ + lastRefreshTime?: string | null; + /** + * Required. Database resource id. + */ + resourceId?: Schema$DatabaseResourceId; + } /** * Backup is consisted of multiple backup files. */ @@ -660,9 +689,13 @@ export namespace redis_v1beta1 { internalResourceMetadata?: Schema$InternalResourceMetadata[]; } /** - * DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 9 + * DatabaseResourceFeed is the top level proto to be used to ingest different database resource level events into Condor platform. Next ID: 10 */ export interface Schema$DatabaseResourceFeed { + /** + * BackupDR metadata is used to ingest metadata from BackupDR. + */ + backupdrMetadata?: Schema$BackupDRMetadata; /** * Config based signal data is used to ingest signals that are generated based on the configuration of the database resource. */ From 54a6fc00b8148d53caf6b2132c25da682d883fd5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 27/37] feat(retail): update the API #### retail:v2alpha The following keys were added: - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.conversationalTextResponse.description - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.conversationalTextResponse.type - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.followupQuestion.$ref - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.followupQuestion.description - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.state.description - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.state.enum - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.state.enumDescriptions - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.state.readOnly - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.state.type - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.userQueryTypes.description - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.userQueryTypes.items.type - schemas.GoogleCloudRetailV2alphaConversationalSearchResponse.properties.userQueryTypes.type The following keys were changed: - schemas.GoogleCloudRetailV2alphaConversationalSearchRequestConversationalFilteringSpec.properties.conversationalFilteringMode.enum - schemas.GoogleCloudRetailV2alphaConversationalSearchRequestConversationalFilteringSpec.properties.conversationalFilteringMode.enumDescriptions --- discovery/retail-v2alpha.json | 36 ++++++++++++++++++++++++++++++++++- src/apis/retail/v2alpha.ts | 28 +++++++++++++++++++++++++-- 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/discovery/retail-v2alpha.json b/discovery/retail-v2alpha.json index 095f8ced5a9..3592339552f 100644 --- a/discovery/retail-v2alpha.json +++ b/discovery/retail-v2alpha.json @@ -2859,7 +2859,7 @@ } } }, - "revision": "20250717", + "revision": "20250724", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -4699,10 +4699,14 @@ "description": "Optional. Mode to control Conversational Filtering. Defaults to Mode.DISABLED if it's unset.", "enum": [ "MODE_UNSPECIFIED", + "DISABLED", + "ENABLED", "CONVERSATIONAL_FILTER_ONLY" ], "enumDescriptions": [ "Default value.", + "Disable Conversational Filtering.", + "Enabled Conversational Filtering with default Conversational Search.", "Enabled Conversational Filtering without default Conversational Search." ], "type": "string" @@ -4780,12 +4784,42 @@ "$ref": "GoogleCloudRetailV2alphaConversationalSearchResponseConversationalFilteringResult", "description": "This field specifies all related information that is needed on client side for UI rendering of conversational filtering search." }, + "conversationalTextResponse": { + "description": "The conversational answer-based text response generated by the Server.", + "type": "string" + }, + "followupQuestion": { + "$ref": "GoogleCloudRetailV2alphaConversationalSearchResponseFollowupQuestion", + "description": "The conversational followup question generated for Intent refinement." + }, "refinedSearch": { "description": "The proposed refined search queries. They can be used to fetch the relevant search results. When using CONVERSATIONAL_FILTER_ONLY mode, the refined_query from search response will be populated here.", "items": { "$ref": "GoogleCloudRetailV2alphaConversationalSearchResponseRefinedSearch" }, "type": "array" + }, + "state": { + "description": "Output only. The state of the response generation.", + "enum": [ + "STATE_UNSPECIFIED", + "STREAMING", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Unknown.", + "Response generation is being streamed.", + "Response generation has succeeded." + ], + "readOnly": true, + "type": "string" + }, + "userQueryTypes": { + "description": "The types Retail classifies the search query as. Supported values are: - \"ADVERSARIAL\" - \"CHITCHAT\" - \"JAILBREAK\" - \"ORDER_SUPPORT\" - \"SIMPLE_PRODUCT_SEARCH\" - \"INTENT_REFINEMENT\" - \"PRODUCT_DETAILS\" - \"PRODUCT_COMPARISON\" - \"DEALS_AND_COUPONS\" - \"STORE_RELEVANT\" - \"BLOCKLISTED\" - \"BEST_PRODUCT\" - \"RETAIL_SUPPORT\" - \"DISABLED\" clang-format off clang-format on", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/src/apis/retail/v2alpha.ts b/src/apis/retail/v2alpha.ts index 5f9525b5ab5..e2827cf0d5a 100644 --- a/src/apis/retail/v2alpha.ts +++ b/src/apis/retail/v2alpha.ts @@ -1087,14 +1087,30 @@ export namespace retail_v2alpha { * This field specifies all related information that is needed on client side for UI rendering of conversational filtering search. */ conversationalFilteringResult?: Schema$GoogleCloudRetailV2alphaConversationalSearchResponseConversationalFilteringResult; + /** + * The conversational answer-based text response generated by the Server. + */ + conversationalTextResponse?: string | null; /** * Conversation UUID. This field will be stored in client side storage to maintain the conversation session with server and will be used for next search request's ConversationalSearchRequest.conversation_id to restore conversation state in server. */ conversationId?: string | null; + /** + * The conversational followup question generated for Intent refinement. + */ + followupQuestion?: Schema$GoogleCloudRetailV2alphaConversationalSearchResponseFollowupQuestion; /** * The proposed refined search queries. They can be used to fetch the relevant search results. When using CONVERSATIONAL_FILTER_ONLY mode, the refined_query from search response will be populated here. */ refinedSearch?: Schema$GoogleCloudRetailV2alphaConversationalSearchResponseRefinedSearch[]; + /** + * Output only. The state of the response generation. + */ + state?: string | null; + /** + * The types Retail classifies the search query as. Supported values are: - "ADVERSARIAL" - "CHITCHAT" - "JAILBREAK" - "ORDER_SUPPORT" - "SIMPLE_PRODUCT_SEARCH" - "INTENT_REFINEMENT" - "PRODUCT_DETAILS" - "PRODUCT_COMPARISON" - "DEALS_AND_COUPONS" - "STORE_RELEVANT" - "BLOCKLISTED" - "BEST_PRODUCT" - "RETAIL_SUPPORT" - "DISABLED" clang-format off clang-format on + */ + userQueryTypes?: string[] | null; } /** * This field specifies all related information that is needed on client side for UI rendering of conversational filtering search. @@ -15897,7 +15913,11 @@ export namespace retail_v2alpha { * // { * // "conversationId": "my_conversationId", * // "conversationalFilteringResult": {}, - * // "refinedSearch": [] + * // "conversationalTextResponse": "my_conversationalTextResponse", + * // "followupQuestion": {}, + * // "refinedSearch": [], + * // "state": "my_state", + * // "userQueryTypes": [] * // } * } * @@ -16652,7 +16672,11 @@ export namespace retail_v2alpha { * // { * // "conversationId": "my_conversationId", * // "conversationalFilteringResult": {}, - * // "refinedSearch": [] + * // "conversationalTextResponse": "my_conversationalTextResponse", + * // "followupQuestion": {}, + * // "refinedSearch": [], + * // "state": "my_state", + * // "userQueryTypes": [] * // } * } * From e60128f56eecca8f1044cde7cd73cf5a3063b402 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 28/37] fix(securesourcemanager): update the API --- discovery/securesourcemanager-v1.json | 3568 +++++ src/apis/securesourcemanager/README.md | 37 + src/apis/securesourcemanager/index.ts | 49 + src/apis/securesourcemanager/package.json | 43 + src/apis/securesourcemanager/tsconfig.json | 10 + src/apis/securesourcemanager/v1.ts | 11241 ++++++++++++++++ .../securesourcemanager/webpack.config.js | 79 + 7 files changed, 15027 insertions(+) create mode 100644 discovery/securesourcemanager-v1.json create mode 100644 src/apis/securesourcemanager/README.md create mode 100644 src/apis/securesourcemanager/index.ts create mode 100644 src/apis/securesourcemanager/package.json create mode 100644 src/apis/securesourcemanager/tsconfig.json create mode 100644 src/apis/securesourcemanager/v1.ts create mode 100644 src/apis/securesourcemanager/webpack.config.js diff --git a/discovery/securesourcemanager-v1.json b/discovery/securesourcemanager-v1.json new file mode 100644 index 00000000000..48a8cb6c333 --- /dev/null +++ b/discovery/securesourcemanager-v1.json @@ -0,0 +1,3568 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://securesourcemanager.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Secure Source Manager", + "description": "Regionally deployed, single-tenant managed source code repository hosted on Google Cloud.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/secure-source-manager", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securesourcemanager.us-central1.rep.googleapis.com/", + "location": "us-central1" + } + ], + "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": "securesourcemanager:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://securesourcemanager.mtls.googleapis.com/", + "name": "securesourcemanager", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "extraLocationTypes": { + "description": "Optional. A list of extra location types that should be used as conditions for controlling the visibility of the locations.", + "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-platform" + ] + } + }, + "resources": { + "instances": { + "methods": { + "create": { + "description": "Creates a new instance in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.instances.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "instanceId": { + "description": "Required. ID of the instance to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/instances", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "DELETE", + "id": "securesourcemanager.projects.locations.instances.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.instances.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Instance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:getIamPolicy", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.instances.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Instances in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.instances.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter for filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListInstancesRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/instances", + "response": { + "$ref": "ListInstancesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setIamPolicy", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.instances.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:testIamPermissions", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.instances.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "securesourcemanager.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "repositories": { + "methods": { + "create": { + "description": "Creates a new repository in a given project and location. The Repository.Instance field is required in the request body for requests using the securesourcemanager.googleapis.com endpoint.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project in which to create the repository. Values are of the form `projects/{project_number}/locations/{location_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "repositoryId": { + "description": "Required. The ID to use for the repository, which will become the final component of the repository's resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/repositories", + "request": { + "$ref": "Repository" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "DELETE", + "id": "securesourcemanager.projects.locations.repositories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the repository is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. Name of the repository to delete. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchBlob": { + "description": "Fetches a blob from a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:fetchBlob", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.fetchBlob", + "parameterOrder": [ + "repository" + ], + "parameters": { + "repository": { + "description": "Required. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`. Specifies the repository containing the blob.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + }, + "sha": { + "description": "Required. The SHA-1 hash of the blob to retrieve.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+repository}:fetchBlob", + "response": { + "$ref": "FetchBlobResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchTree": { + "description": "Fetches a tree from a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:fetchTree", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.fetchTree", + "parameterOrder": [ + "repository" + ], + "parameters": { + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, at most 10,000 items will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "recursive": { + "description": "Optional. If true, include all subfolders and their files in the response. If false, only the immediate children are returned.", + "location": "query", + "type": "boolean" + }, + "ref": { + "description": "Optional. `ref` can be a SHA-1 hash, a branch name, or a tag. Specifies which tree to fetch. If not specified, the default branch will be used.", + "location": "query", + "type": "string" + }, + "repository": { + "description": "Required. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`. Specifies the repository to fetch the tree from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+repository}:fetchTree", + "response": { + "$ref": "FetchTreeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets metadata of a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the repository to retrieve. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Repository" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Get IAM policy for a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:getIamPolicy", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Repositories in a given project and location. The instance field is required in the query parameter for requests using the securesourcemanager.googleapis.com endpoint.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter results.", + "location": "query", + "type": "string" + }, + "instance": { + "description": "Optional. The name of the instance in which the repository is hosted, formatted as `projects/{project_number}/locations/{location_id}/instances/{instance_id}`. When listing repositories via securesourcemanager.googleapis.com, this field is required. When listing repositories via *.sourcemanager.dev, this field is ignored.", + "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": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListRepositoriesRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/repositories", + "response": { + "$ref": "ListRepositoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the metadata of a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "PATCH", + "id": "securesourcemanager.projects.locations.repositories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Optional. A unique identifier for a repository. The name should be of the format: `projects/{project}/locations/{location_id}/repositories/{repository_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the repository resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. False by default. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Repository" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Set IAM policy on a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:setIamPolicy", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.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/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Test IAM permissions on a repository. IAM permission checks are not required on this method.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:testIamPermissions", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.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/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "branchRules": { + "methods": { + "create": { + "description": "CreateBranchRule creates a branch rule in a given repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/branchRules", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.branchRules.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "branchRuleId": { + "location": "query", + "type": "string" + }, + "parent": { + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/branchRules", + "request": { + "$ref": "BranchRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "DeleteBranchRule deletes a branch rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/branchRules/{branchRulesId}", + "httpMethod": "DELETE", + "id": "securesourcemanager.projects.locations.repositories.branchRules.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the branch rule is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "name": { + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/branchRules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "GetBranchRule gets a branch rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/branchRules/{branchRulesId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.branchRules.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the repository to retrieve. The format is `projects/{project}/locations/{location}/repositories/{repository}/branchRules/{branch_rule}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/branchRules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BranchRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "ListBranchRules lists branch rules in a given repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/branchRules", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.branchRules.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "location": "query", + "type": "string" + }, + "parent": { + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/branchRules", + "response": { + "$ref": "ListBranchRulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "UpdateBranchRule updates a branch rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/branchRules/{branchRulesId}", + "httpMethod": "PATCH", + "id": "securesourcemanager.projects.locations.repositories.branchRules.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Optional. A unique identifier for a BranchRule. The name should be of the format: `projects/{project}/locations/{location}/repositories/{repository}/branchRules/{branch_rule}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/branchRules/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the branchRule 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. The special value \"*\" means full replacement.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not actually post it. (https://google.aip.dev/163, for declarative friendly)", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "BranchRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "hooks": { + "methods": { + "create": { + "description": "Creates a new hook in a given repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/hooks", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.hooks.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "hookId": { + "description": "Required. The ID to use for the hook, which will become the final component of the hook's resource name. This value restricts to lower-case letters, numbers, and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The repository in which to create the hook. Values are of the form `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/hooks", + "request": { + "$ref": "Hook" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Hook.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/hooks/{hooksId}", + "httpMethod": "DELETE", + "id": "securesourcemanager.projects.locations.repositories.hooks.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the hook to delete. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/hooks/{hook_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/hooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets metadata of a hook.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/hooks/{hooksId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.hooks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the hook to retrieve. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/hooks/{hook_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/hooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Hook" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists hooks in a given repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/hooks", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.hooks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListHooksRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/hooks", + "response": { + "$ref": "ListHooksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the metadata of a hook.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/hooks/{hooksId}", + "httpMethod": "PATCH", + "id": "securesourcemanager.projects.locations.repositories.hooks.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. A unique identifier for a Hook. The name should be of the format: `projects/{project}/locations/{location_id}/repositories/{repository_id}/hooks/{hook_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/hooks/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the hook 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. The special value \"*\" means full replacement.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Hook" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "issues": { + "methods": { + "close": { + "description": "Closes an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}:close", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.issues.close", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the issue to close. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/issues/{issue_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:close", + "request": { + "$ref": "CloseIssueRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.issues.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The repository in which to create the issue. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/issues", + "request": { + "$ref": "Issue" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}", + "httpMethod": "DELETE", + "id": "securesourcemanager.projects.locations.repositories.issues.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the issue. If the etag is provided and does not match the current etag of the issue, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the issue to delete. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/issues/{issue_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.issues.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the issue to retrieve. The format is `projects/{project}/locations/{location}/repositories/{repository}/issues/{issue_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Issue" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists issues in a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.issues.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Used to filter the resulting issues list.", + "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 repository in which to list issues. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/issues", + "response": { + "$ref": "ListIssuesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "open": { + "description": "Opens an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}:open", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.issues.open", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the issue to open. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/issues/{issue_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:open", + "request": { + "$ref": "OpenIssueRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}", + "httpMethod": "PATCH", + "id": "securesourcemanager.projects.locations.repositories.issues.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Unique identifier for an issue. The issue id is generated by the server. Format: `projects/{project}/locations/{location}/repositories/{repository}/issues/{issue_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the issue 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. The special value \"*\" means full replacement.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Issue" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "issueComments": { + "methods": { + "create": { + "description": "Creates an issue comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}/issueComments", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.issues.issueComments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The issue in which to create the issue comment. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/issues/{issue_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/issueComments", + "request": { + "$ref": "IssueComment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an issue comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}/issueComments/{issueCommentsId}", + "httpMethod": "DELETE", + "id": "securesourcemanager.projects.locations.repositories.issues.issueComments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the issue comment to delete. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/issues/{issue_id}/issueComments/{comment_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+/issueComments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an issue comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}/issueComments/{issueCommentsId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.issues.issueComments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the issue comment to retrieve. The format is `projects/{project}/locations/{location}/repositories/{repository}/issues/{issue_id}/issueComments/{comment_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+/issueComments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "IssueComment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists comments in an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}/issueComments", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.issues.issueComments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "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 issue in which to list the comments. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/issues/{issue_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/issueComments", + "response": { + "$ref": "ListIssueCommentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an issue comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/issues/{issuesId}/issueComments/{issueCommentsId}", + "httpMethod": "PATCH", + "id": "securesourcemanager.projects.locations.repositories.issues.issueComments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Unique identifier for an issue comment. The comment id is generated by the server. Format: `projects/{project}/locations/{location}/repositories/{repository}/issues/{issue}/issueComments/{comment_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/issues/[^/]+/issueComments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the issue comment 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. The special value \"*\" means full replacement.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "IssueComment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "pullRequests": { + "methods": { + "close": { + "description": "Closes a pull request without merging.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}:close", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.close", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The pull request to close. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:close", + "request": { + "$ref": "ClosePullRequestRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a pull request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The repository that the pull request is created from. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pullRequests", + "request": { + "$ref": "PullRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a pull request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the pull request to retrieve. The format is `projects/{project}/locations/{location}/repositories/{repository}/pullRequests/{pull_request}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "PullRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists pull requests in a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "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 repository in which to list pull requests. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pullRequests", + "response": { + "$ref": "ListPullRequestsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "listFileDiffs": { + "description": "Lists a pull request's file diffs.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}:listFileDiffs", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.listFileDiffs", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The pull request to list file diffs for. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "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" + } + }, + "path": "v1/{+name}:listFileDiffs", + "response": { + "$ref": "ListPullRequestFileDiffsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "merge": { + "description": "Merges a pull request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}:merge", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.merge", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The pull request to merge. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:merge", + "request": { + "$ref": "MergePullRequestRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "open": { + "description": "Opens a pull request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}:open", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.open", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The pull request to open. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:open", + "request": { + "$ref": "OpenPullRequestRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a pull request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}", + "httpMethod": "PATCH", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. A unique identifier for a PullRequest. The number appended at the end is generated by the server. Format: `projects/{project}/locations/{location}/repositories/{repository}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the pull request 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. The special value \"*\" means full replacement.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "PullRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "pullRequestComments": { + "methods": { + "batchCreate": { + "description": "Batch creates pull request comments.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}/pullRequestComments:batchCreate", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The pull request in which to create the pull request comments. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pullRequestComments:batchCreate", + "request": { + "$ref": "BatchCreatePullRequestCommentsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a pull request comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}/pullRequestComments", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The pull request in which to create the pull request comment. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pullRequestComments", + "request": { + "$ref": "PullRequestComment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a pull request comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}/pullRequestComments/{pullRequestCommentsId}", + "httpMethod": "DELETE", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the pull request comment to delete. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}/pullRequestComments/{comment_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+/pullRequestComments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a pull request comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}/pullRequestComments/{pullRequestCommentsId}", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the pull request comment to retrieve. The format is `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}/pullRequestComments/{comment_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+/pullRequestComments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "PullRequestComment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists pull request comments.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}/pullRequestComments", + "httpMethod": "GET", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Requested page size. If unspecified, at most 100 pull request comments 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 token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The pull request in which to list pull request comments. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pullRequestComments", + "response": { + "$ref": "ListPullRequestCommentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a pull request comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}/pullRequestComments/{pullRequestCommentsId}", + "httpMethod": "PATCH", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Unique identifier for the pull request comment. The comment id is generated by the server. Format: `projects/{project}/locations/{location}/repositories/{repository}/pullRequests/{pull_request}/pullRequestComments/{comment_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+/pullRequestComments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the pull request comment resource by the update. Updatable fields are `body`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "PullRequestComment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resolve": { + "description": "Resolves pull request comments.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}/pullRequestComments:resolve", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.resolve", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The pull request in which to resolve the pull request comments. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pullRequestComments:resolve", + "request": { + "$ref": "ResolvePullRequestCommentsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "unresolve": { + "description": "Unresolves pull request comment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/pullRequests/{pullRequestsId}/pullRequestComments:unresolve", + "httpMethod": "POST", + "id": "securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.unresolve", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The pull request in which to resolve the pull request comments. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/pullRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pullRequestComments:unresolve", + "request": { + "$ref": "UnresolvePullRequestCommentsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + } + } + }, + "revision": "0", + "rootUrl": "https://securesourcemanager.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "BatchCreatePullRequestCommentsRequest": { + "description": "The request to batch create pull request comments.", + "id": "BatchCreatePullRequestCommentsRequest", + "properties": { + "requests": { + "description": "Required. The request message specifying the resources to create. There should be exactly one CreatePullRequestCommentRequest with CommentDetail being REVIEW in the list, and no more than 100 CreatePullRequestCommentRequests with CommentDetail being CODE in the list", + "items": { + "$ref": "CreatePullRequestCommentRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + } + }, + "type": "object" + }, + "Branch": { + "description": "Branch represents a branch involved in a pull request.", + "id": "Branch", + "properties": { + "ref": { + "description": "Required. Name of the branch.", + "type": "string" + }, + "sha": { + "description": "Output only. The commit at the tip of the branch.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BranchRule": { + "description": "Metadata of a BranchRule. BranchRule is the protection rule to enforce pre-defined rules on designated branches within a repository.", + "id": "BranchRule", + "properties": { + "allowStaleReviews": { + "description": "Optional. Determines if allow stale reviews or approvals before merging to the branch.", + "type": "boolean" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User annotations. These attributes can only be set and used by the user. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "type": "object" + }, + "createTime": { + "description": "Output only. Create timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "disabled": { + "description": "Optional. Determines if the branch rule is disabled or not.", + "type": "boolean" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "includePattern": { + "description": "Optional. The pattern of the branch that can match to this BranchRule. Specified as regex. .* for all branches. Examples: main, (main|release.*). Current MVP phase only support `.*` for wildcard.", + "type": "string" + }, + "minimumApprovalsCount": { + "description": "Optional. The minimum number of approvals required for the branch rule to be matched.", + "format": "int32", + "type": "integer" + }, + "minimumReviewsCount": { + "description": "Optional. The minimum number of reviews required for the branch rule to be matched.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Optional. A unique identifier for a BranchRule. The name should be of the format: `projects/{project}/locations/{location}/repositories/{repository}/branchRules/{branch_rule}`", + "type": "string" + }, + "requireCommentsResolved": { + "description": "Optional. Determines if require comments resolved before merging to the branch.", + "type": "boolean" + }, + "requireLinearHistory": { + "description": "Optional. Determines if require linear history before merging to the branch.", + "type": "boolean" + }, + "requirePullRequest": { + "description": "Optional. Determines if the branch rule requires a pull request or not.", + "type": "boolean" + }, + "requiredStatusChecks": { + "description": "Optional. List of required status checks before merging to the branch.", + "items": { + "$ref": "Check" + }, + "type": "array" + }, + "uid": { + "description": "Output only. Unique identifier of the repository.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Update timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Check": { + "description": "Check is a type for status check.", + "id": "Check", + "properties": { + "context": { + "description": "Required. The context of the check.", + "type": "string" + } + }, + "type": "object" + }, + "CloseIssueRequest": { + "description": "The request to close an issue.", + "id": "CloseIssueRequest", + "properties": { + "etag": { + "description": "Optional. The current etag of the issue. If the etag is provided and does not match the current etag of the issue, closing will be blocked and an ABORTED error will be returned.", + "type": "string" + } + }, + "type": "object" + }, + "ClosePullRequestRequest": { + "description": "ClosePullRequestRequest is the request to close a pull request.", + "id": "ClosePullRequestRequest", + "properties": {}, + "type": "object" + }, + "Code": { + "description": "The comment on a code line.", + "id": "Code", + "properties": { + "body": { + "description": "Required. The comment body.", + "type": "string" + }, + "effectiveCommitSha": { + "description": "Output only. The effective commit sha this code comment is pointing to.", + "readOnly": true, + "type": "string" + }, + "effectiveRootComment": { + "description": "Output only. The root comment of the conversation, derived from the reply field.", + "readOnly": true, + "type": "string" + }, + "position": { + "$ref": "Position", + "description": "Optional. The position of the comment." + }, + "reply": { + "description": "Optional. Input only. The PullRequestComment resource name that this comment is replying to.", + "type": "string" + }, + "resolved": { + "description": "Output only. Boolean indicator if the comment is resolved.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "Comment": { + "description": "The general pull request comment.", + "id": "Comment", + "properties": { + "body": { + "description": "Required. The comment body.", + "type": "string" + } + }, + "type": "object" + }, + "CreatePullRequestCommentRequest": { + "description": "The request to create a pull request comment.", + "id": "CreatePullRequestCommentRequest", + "properties": { + "parent": { + "description": "Required. The pull request in which to create the pull request comment. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}`", + "type": "string" + }, + "pullRequestComment": { + "$ref": "PullRequestComment", + "description": "Required. The pull request comment to create." + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "FetchBlobResponse": { + "description": "Response message containing the content of a blob.", + "id": "FetchBlobResponse", + "properties": { + "content": { + "description": "The content of the blob, encoded as base64.", + "type": "string" + }, + "sha": { + "description": "The SHA-1 hash of the blob.", + "type": "string" + } + }, + "type": "object" + }, + "FetchTreeResponse": { + "description": "Response message containing a list of TreeEntry objects.", + "id": "FetchTreeResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "treeEntries": { + "description": "The list of TreeEntry objects.", + "items": { + "$ref": "TreeEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "FileDiff": { + "description": "Metadata of a FileDiff. FileDiff represents a single file diff in a pull request.", + "id": "FileDiff", + "properties": { + "action": { + "description": "Output only. The action taken on the file (eg. added, modified, deleted).", + "enum": [ + "ACTION_UNSPECIFIED", + "ADDED", + "MODIFIED", + "DELETED" + ], + "enumDescriptions": [ + "Unspecified.", + "The file was added.", + "The file was modified.", + "The file was deleted." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the file.", + "readOnly": true, + "type": "string" + }, + "patch": { + "description": "Output only. The git patch containing the file changes.", + "readOnly": true, + "type": "string" + }, + "sha": { + "description": "Output only. The commit pointing to the file changes.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Hook": { + "description": "Metadata of a Secure Source Manager Hook.", + "id": "Hook", + "properties": { + "createTime": { + "description": "Output only. Create timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "disabled": { + "description": "Optional. Determines if the hook disabled or not. Set to true to stop sending traffic.", + "type": "boolean" + }, + "events": { + "description": "Optional. The events that trigger hook on.", + "items": { + "enum": [ + "UNSPECIFIED", + "PUSH", + "PULL_REQUEST" + ], + "enumDescriptions": [ + "Unspecified.", + "Push events are triggered when pushing to the repository.", + "Pull request events are triggered when a pull request is opened, closed, reopened, or edited." + ], + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Identifier. A unique identifier for a Hook. The name should be of the format: `projects/{project}/locations/{location_id}/repositories/{repository_id}/hooks/{hook_id}`", + "type": "string" + }, + "pushOption": { + "$ref": "PushOption", + "description": "Optional. The trigger option for push events." + }, + "sensitiveQueryString": { + "description": "Optional. The sensitive query string to be appended to the target URI.", + "type": "string" + }, + "targetUri": { + "description": "Required. The target URI to which the payloads will be delivered.", + "type": "string" + }, + "uid": { + "description": "Output only. Unique identifier of the hook.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Update timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HostConfig": { + "description": "HostConfig has different instance endpoints.", + "id": "HostConfig", + "properties": { + "api": { + "description": "Output only. API hostname.", + "readOnly": true, + "type": "string" + }, + "gitHttp": { + "description": "Output only. Git HTTP hostname.", + "readOnly": true, + "type": "string" + }, + "gitSsh": { + "description": "Output only. Git SSH hostname.", + "readOnly": true, + "type": "string" + }, + "html": { + "description": "Output only. HTML hostname.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InitialConfig": { + "description": "Repository initialization configuration.", + "id": "InitialConfig", + "properties": { + "defaultBranch": { + "description": "Default branch name of the repository.", + "type": "string" + }, + "gitignores": { + "description": "List of gitignore template names user can choose from. Valid values: actionscript, ada, agda, android, anjuta, ansible, appcelerator-titanium, app-engine, archives, arch-linux-packages, atmel-studio, autotools, backup, bazaar, bazel, bitrix, bricx-cc, c, cake-php, calabash, cf-wheels, chef-cookbook, clojure, cloud9, c-make, code-igniter, code-kit, code-sniffer, common-lisp, composer, concrete5, coq, cordova, cpp, craft-cms, cuda, cvs, d, dart, dart-editor, delphi, diff, dm, dreamweaver, dropbox, drupal, drupal-7, eagle, eclipse, eiffel-studio, elisp, elixir, elm, emacs, ensime, epi-server, erlang, esp-idf, espresso, exercism, expression-engine, ext-js, fancy, finale, flex-builder, force-dot-com, fortran, fuel-php, gcov, git-book, gnome-shell-extension, go, godot, gpg, gradle, grails, gwt, haskell, hugo, iar-ewarm, idris, igor-pro, images, infor-cms, java, jboss, jboss-4, jboss-6, jdeveloper, jekyll, jenkins-home, jenv, jet-brains, jigsaw, joomla, julia, jupyter-notebooks, kate, kdevelop4, kentico, ki-cad, kohana, kotlin, lab-view, laravel, lazarus, leiningen, lemon-stand, libre-office, lilypond, linux, lithium, logtalk, lua, lyx, mac-os, magento, magento-1, magento-2, matlab, maven, mercurial, mercury, metals, meta-programming-system, meteor, microsoft-office, model-sim, momentics, mono-develop, nanoc, net-beans, nikola, nim, ninja, node, notepad-pp, nwjs, objective--c, ocaml, octave, opa, open-cart, openssl, oracle-forms, otto, packer, patch, perl, perl6, phalcon, phoenix, pimcore, play-framework, plone, prestashop, processing, psoc-creator, puppet, pure-script, putty, python, qooxdoo, qt, r, racket, rails, raku, red, redcar, redis, rhodes-rhomobile, ros, ruby, rust, sam, sass, sbt, scala, scheme, scons, scrivener, sdcc, seam-gen, sketch-up, slick-edit, smalltalk, snap, splunk, stata, stella, sublime-text, sugar-crm, svn, swift, symfony, symphony-cms, synopsys-vcs, tags, terraform, tex, text-mate, textpattern, think-php, tortoise-git, turbo-gears-2, typo3, umbraco, unity, unreal-engine, vagrant, vim, virtual-env, virtuoso, visual-studio, visual-studio-code, vue, vvvv, waf, web-methods, windows, word-press, xcode, xilinx, xilinx-ise, xojo, yeoman, yii, zend-framework, zephir.", + "items": { + "type": "string" + }, + "type": "array" + }, + "license": { + "description": "License template name user can choose from. Valid values: license-0bsd, license-389-exception, aal, abstyles, adobe-2006, adobe-glyph, adsl, afl-1-1, afl-1-2, afl-2-0, afl-2-1, afl-3-0, afmparse, agpl-1-0, agpl-1-0-only, agpl-1-0-or-later, agpl-3-0-only, agpl-3-0-or-later, aladdin, amdplpa, aml, ampas, antlr-pd, antlr-pd-fallback, apache-1-0, apache-1-1, apache-2-0, apafml, apl-1-0, apsl-1-0, apsl-1-1, apsl-1-2, apsl-2-0, artistic-1-0, artistic-1-0-cl8, artistic-1-0-perl, artistic-2-0, autoconf-exception-2-0, autoconf-exception-3-0, bahyph, barr, beerware, bison-exception-2-2, bittorrent-1-0, bittorrent-1-1, blessing, blueoak-1-0-0, bootloader-exception, borceux, bsd-1-clause, bsd-2-clause, bsd-2-clause-freebsd, bsd-2-clause-netbsd, bsd-2-clause-patent, bsd-2-clause-views, bsd-3-clause, bsd-3-clause-attribution, bsd-3-clause-clear, bsd-3-clause-lbnl, bsd-3-clause-modification, bsd-3-clause-no-nuclear-license, bsd-3-clause-no-nuclear-license-2014, bsd-3-clause-no-nuclear-warranty, bsd-3-clause-open-mpi, bsd-4-clause, bsd-4-clause-shortened, bsd-4-clause-uc, bsd-protection, bsd-source-code, bsl-1-0, busl-1-1, cal-1-0, cal-1-0-combined-work-exception, caldera, catosl-1-1, cc0-1-0, cc-by-1-0, cc-by-2-0, cc-by-3-0, cc-by-3-0-at, cc-by-3-0-us, cc-by-4-0, cc-by-nc-1-0, cc-by-nc-2-0, cc-by-nc-3-0, cc-by-nc-4-0, cc-by-nc-nd-1-0, cc-by-nc-nd-2-0, cc-by-nc-nd-3-0, cc-by-nc-nd-3-0-igo, cc-by-nc-nd-4-0, cc-by-nc-sa-1-0, cc-by-nc-sa-2-0, cc-by-nc-sa-3-0, cc-by-nc-sa-4-0, cc-by-nd-1-0, cc-by-nd-2-0, cc-by-nd-3-0, cc-by-nd-4-0, cc-by-sa-1-0, cc-by-sa-2-0, cc-by-sa-2-0-uk, cc-by-sa-2-1-jp, cc-by-sa-3-0, cc-by-sa-3-0-at, cc-by-sa-4-0, cc-pddc, cddl-1-0, cddl-1-1, cdla-permissive-1-0, cdla-sharing-1-0, cecill-1-0, cecill-1-1, cecill-2-0, cecill-2-1, cecill-b, cecill-c, cern-ohl-1-1, cern-ohl-1-2, cern-ohl-p-2-0, cern-ohl-s-2-0, cern-ohl-w-2-0, clartistic, classpath-exception-2-0, clisp-exception-2-0, cnri-jython, cnri-python, cnri-python-gpl-compatible, condor-1-1, copyleft-next-0-3-0, copyleft-next-0-3-1, cpal-1-0, cpl-1-0, cpol-1-02, crossword, crystal-stacker, cua-opl-1-0, cube, c-uda-1-0, curl, d-fsl-1-0, diffmark, digirule-foss-exception, doc, dotseqn, drl-1-0, dsdp, dvipdfm, ecl-1-0, ecl-2-0, ecos-exception-2-0, efl-1-0, efl-2-0, egenix, entessa, epics, epl-1-0, epl-2-0, erlpl-1-1, etalab-2-0, eu-datagrid, eupl-1-0, eupl-1-1, eupl-1-2, eurosym, fair, fawkes-runtime-exception, fltk-exception, font-exception-2-0, frameworx-1-0, freebsd-doc, freeimage, freertos-exception-2-0, fsfap, fsful, fsfullr, ftl, gcc-exception-2-0, gcc-exception-3-1, gd, gfdl-1-1-invariants-only, gfdl-1-1-invariants-or-later, gfdl-1-1-no-invariants-only, gfdl-1-1-no-invariants-or-later, gfdl-1-1-only, gfdl-1-1-or-later, gfdl-1-2-invariants-only, gfdl-1-2-invariants-or-later, gfdl-1-2-no-invariants-only, gfdl-1-2-no-invariants-or-later, gfdl-1-2-only, gfdl-1-2-or-later, gfdl-1-3-invariants-only, gfdl-1-3-invariants-or-later, gfdl-1-3-no-invariants-only, gfdl-1-3-no-invariants-or-later, gfdl-1-3-only, gfdl-1-3-or-later, giftware, gl2ps, glide, glulxe, glwtpl, gnu-javamail-exception, gnuplot, gpl-1-0-only, gpl-1-0-or-later, gpl-2-0-only, gpl-2-0-or-later, gpl-3-0-linking-exception, gpl-3-0-linking-source-exception, gpl-3-0-only, gpl-3-0-or-later, gpl-cc-1-0, gsoap-1-3b, haskell-report, hippocratic-2-1, hpnd, hpnd-sell-variant, htmltidy, i2p-gpl-java-exception, ibm-pibs, icu, ijg, image-magick, imatix, imlib2, info-zip, intel, intel-acpi, interbase-1-0, ipa, ipl-1-0, isc, jasper-2-0, jpnic, json, lal-1-2, lal-1-3, latex2e, leptonica, lgpl-2-0-only, lgpl-2-0-or-later, lgpl-2-1-only, lgpl-2-1-or-later, lgpl-3-0-linking-exception, lgpl-3-0-only, lgpl-3-0-or-later, lgpllr, libpng, libpng-2-0, libselinux-1-0, libtiff, libtool-exception, liliq-p-1-1, liliq-r-1-1, liliq-rplus-1-1, linux-openib, linux-syscall-note, llvm-exception, lpl-1-0, lpl-1-02, lppl-1-0, lppl-1-1, lppl-1-2, lppl-1-3a, lppl-1-3c, lzma-exception, make-index, mif-exception, miros, mit, mit-0, mit-advertising, mit-cmu, mit-enna, mit-feh, mit-modern-variant, mitnfa, mit-open-group, motosoto, mpich2, mpl-1-0, mpl-1-1, mpl-2-0, mpl-2-0-no-copyleft-exception, ms-pl, ms-rl, mtll, mulanpsl-1-0, mulanpsl-2-0, multics, mup, naist-2003, nasa-1-3, naumen, nbpl-1-0, ncgl-uk-2-0, ncsa, netcdf, net-snmp, newsletr, ngpl, nist-pd, nist-pd-fallback, nlod-1-0, nlpl, nokia, nokia-qt-exception-1-1, nosl, noweb, npl-1-0, npl-1-1, nposl-3-0, nrl, ntp, ntp-0, ocaml-lgpl-linking-exception, occt-exception-1-0, occt-pl, oclc-2-0, odbl-1-0, odc-by-1-0, ofl-1-0, ofl-1-0-no-rfn, ofl-1-0-rfn, ofl-1-1, ofl-1-1-no-rfn, ofl-1-1-rfn, ogc-1-0, ogdl-taiwan-1-0, ogl-canada-2-0, ogl-uk-1-0, ogl-uk-2-0, ogl-uk-3-0, ogtsl, oldap-1-1, oldap-1-2, oldap-1-3, oldap-1-4, oldap-2-0, oldap-2-0-1, oldap-2-1, oldap-2-2, oldap-2-2-1, oldap-2-2-2, oldap-2-3, oldap-2-4, oldap-2-7, oml, openjdk-assembly-exception-1-0, openssl, openvpn-openssl-exception, opl-1-0, oset-pl-2-1, osl-1-0, osl-1-1, osl-2-0, osl-2-1, osl-3-0, o-uda-1-0, parity-6-0-0, parity-7-0-0, pddl-1-0, php-3-0, php-3-01, plexus, polyform-noncommercial-1-0-0, polyform-small-business-1-0-0, postgresql, psf-2-0, psfrag, ps-or-pdf-font-exception-20170817, psutils, python-2-0, qhull, qpl-1-0, qt-gpl-exception-1-0, qt-lgpl-exception-1-1, qwt-exception-1-0, rdisc, rhecos-1-1, rpl-1-1, rpsl-1-0, rsa-md, rscpl, ruby, saxpath, sax-pd, scea, sendmail, sendmail-8-23, sgi-b-1-0, sgi-b-1-1, sgi-b-2-0, shl-0-51, shl-2-0, shl-2-1, simpl-2-0, sissl, sissl-1-2, sleepycat, smlnj, smppl, snia, spencer-86, spencer-94, spencer-99, spl-1-0, ssh-openssh, ssh-short, sspl-1-0, sugarcrm-1-1-3, swift-exception, swl, tapr-ohl-1-0, tcl, tcp-wrappers, tmate, torque-1-1, tosl, tu-berlin-1-0, tu-berlin-2-0, u-boot-exception-2-0, ucl-1-0, unicode-dfs-2015, unicode-dfs-2016, unicode-tou, universal-foss-exception-1-0, unlicense, upl-1-0, vim, vostrom, vsl-1-0, w3c, w3c-19980720, w3c-20150513, watcom-1-0, wsuipa, wtfpl, wxwindows-exception-3-1, x11, xerox, xfree86-1-1, xinetd, xnet, xpp, xskat, ypl-1-0, ypl-1-1, zed, zend-2-0, zimbra-1-3, zimbra-1-4, zlib, zlib-acknowledgement, zpl-1-1, zpl-2-0, zpl-2-1.", + "type": "string" + }, + "readme": { + "description": "README template name. Valid template name(s) are: default.", + "type": "string" + } + }, + "type": "object" + }, + "Instance": { + "description": "A resource that represents a Secure Source Manager instance.", + "id": "Instance", + "properties": { + "createTime": { + "description": "Output only. Create timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "hostConfig": { + "$ref": "HostConfig", + "description": "Output only. A list of hostnames for this instance.", + "readOnly": true + }, + "kmsKey": { + "description": "Optional. Immutable. Customer-managed encryption key name, in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs.", + "type": "object" + }, + "name": { + "description": "Optional. A unique identifier for an instance. The name should be of the format: `projects/{project_number}/locations/{location_id}/instances/{instance_id}` `project_number`: Maps to a unique int64 id assigned to each project. `location_id`: Refers to the region where the instance will be deployed. Since Secure Source Manager is a regional service, it must be one of the valid GCP regions. `instance_id`: User provided name for the instance, must be unique for a project_number and location_id combination.", + "type": "string" + }, + "privateConfig": { + "$ref": "PrivateConfig", + "description": "Optional. Private settings for private instance." + }, + "state": { + "description": "Output only. Current state of the instance.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "PAUSED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not set. This should only be the case for incoming requests.", + "Instance is being created.", + "Instance is ready.", + "Instance is being deleted.", + "Instance is paused.", + "Instance is unknown, we are not sure if it's functioning." + ], + "readOnly": true, + "type": "string" + }, + "stateNote": { + "description": "Output only. An optional field providing information about the current instance state.", + "enum": [ + "STATE_NOTE_UNSPECIFIED", + "PAUSED_CMEK_UNAVAILABLE", + "INSTANCE_RESUMING" + ], + "enumDeprecated": [ + false, + false, + true + ], + "enumDescriptions": [ + "STATE_NOTE_UNSPECIFIED as the first value of State.", + "CMEK access is unavailable.", + "INSTANCE_RESUMING indicates that the instance was previously paused and is under the process of being brought back." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Update timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "workforceIdentityFederationConfig": { + "$ref": "WorkforceIdentityFederationConfig", + "description": "Optional. Configuration for Workforce Identity Federation to support third party identity provider. If unset, defaults to the Google OIDC IdP." + } + }, + "type": "object" + }, + "Issue": { + "description": "Metadata of an Issue.", + "id": "Issue", + "properties": { + "body": { + "description": "Optional. Issue body. Provides a detailed description of the issue.", + "type": "string" + }, + "closeTime": { + "description": "Output only. Close timestamp (if closed). Cleared when is re-opened.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "name": { + "description": "Identifier. Unique identifier for an issue. The issue id is generated by the server. Format: `projects/{project}/locations/{location}/repositories/{repository}/issues/{issue_id}`", + "type": "string" + }, + "state": { + "description": "Output only. State of the issue.", + "enum": [ + "STATE_UNSPECIFIED", + "OPEN", + "CLOSED" + ], + "enumDescriptions": [ + "Unspecified.", + "An open issue.", + "A closed issue." + ], + "readOnly": true, + "type": "string" + }, + "title": { + "description": "Required. Issue title.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Last updated timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "IssueComment": { + "description": "IssueComment represents a comment on an issue.", + "id": "IssueComment", + "properties": { + "body": { + "description": "Required. The comment body.", + "type": "string" + }, + "createTime": { + "description": "Output only. Creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Unique identifier for an issue comment. The comment id is generated by the server. Format: `projects/{project}/locations/{location}/repositories/{repository}/issues/{issue}/issueComments/{comment_id}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Last updated timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListBranchRulesResponse": { + "description": "ListBranchRulesResponse is the response to listing branchRules.", + "id": "ListBranchRulesResponse", + "properties": { + "branchRules": { + "description": "The list of branch rules.", + "items": { + "$ref": "BranchRule" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + } + }, + "type": "object" + }, + "ListHooksResponse": { + "description": "ListHooksResponse is response to list hooks.", + "id": "ListHooksResponse", + "properties": { + "hooks": { + "description": "The list of hooks.", + "items": { + "$ref": "Hook" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + } + }, + "type": "object" + }, + "ListInstancesResponse": { + "id": "ListInstancesResponse", + "properties": { + "instances": { + "description": "The list of instances.", + "items": { + "$ref": "Instance" + }, + "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" + }, + "ListIssueCommentsResponse": { + "description": "The response to list issue comments.", + "id": "ListIssueCommentsResponse", + "properties": { + "issueComments": { + "description": "The list of issue comments.", + "items": { + "$ref": "IssueComment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + } + }, + "type": "object" + }, + "ListIssuesResponse": { + "description": "The response to list issues.", + "id": "ListIssuesResponse", + "properties": { + "issues": { + "description": "The list of issues.", + "items": { + "$ref": "Issue" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPullRequestCommentsResponse": { + "description": "The response to list pull request comments.", + "id": "ListPullRequestCommentsResponse", + "properties": { + "nextPageToken": { + "description": "A token to set as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "pullRequestComments": { + "description": "The list of pull request comments.", + "items": { + "$ref": "PullRequestComment" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPullRequestFileDiffsResponse": { + "description": "ListPullRequestFileDiffsResponse is the response containing file diffs returned from ListPullRequestFileDiffs.", + "id": "ListPullRequestFileDiffsResponse", + "properties": { + "fileDiffs": { + "description": "The list of pull request file diffs.", + "items": { + "$ref": "FileDiff" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + } + }, + "type": "object" + }, + "ListPullRequestsResponse": { + "description": "ListPullRequestsResponse is the response to list pull requests.", + "id": "ListPullRequestsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "pullRequests": { + "description": "The list of pull requests.", + "items": { + "$ref": "PullRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRepositoriesResponse": { + "id": "ListRepositoriesResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "repositories": { + "description": "The list of repositories.", + "items": { + "$ref": "Repository" + }, + "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" + }, + "MergePullRequestRequest": { + "description": "MergePullRequestRequest is the request to merge a pull request.", + "id": "MergePullRequestRequest", + "properties": {}, + "type": "object" + }, + "OpenIssueRequest": { + "description": "The request to open an issue.", + "id": "OpenIssueRequest", + "properties": { + "etag": { + "description": "Optional. The current etag of the issue. If the etag is provided and does not match the current etag of the issue, opening will be blocked and an ABORTED error will be returned.", + "type": "string" + } + }, + "type": "object" + }, + "OpenPullRequestRequest": { + "description": "OpenPullRequestRequest is the request to open a pull request.", + "id": "OpenPullRequestRequest", + "properties": {}, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Position": { + "description": "The position of the code comment.", + "id": "Position", + "properties": { + "line": { + "description": "Required. The line number of the comment. Positive value means it's on the new side of the diff, negative value means it's on the old side.", + "format": "int64", + "type": "string" + }, + "path": { + "description": "Required. The path of the file.", + "type": "string" + } + }, + "type": "object" + }, + "PrivateConfig": { + "description": "PrivateConfig includes settings for private instance.", + "id": "PrivateConfig", + "properties": { + "caPool": { + "description": "Optional. Immutable. CA pool resource, resource must in the format of `projects/{project}/locations/{location}/caPools/{ca_pool}`.", + "type": "string" + }, + "httpServiceAttachment": { + "description": "Output only. Service Attachment for HTTP, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.", + "readOnly": true, + "type": "string" + }, + "isPrivate": { + "description": "Required. Immutable. Indicate if it's private instance.", + "type": "boolean" + }, + "pscAllowedProjects": { + "description": "Optional. Additional allowed projects for setting up PSC connections. Instance host project is automatically allowed and does not need to be included in this list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sshServiceAttachment": { + "description": "Output only. Service Attachment for SSH, resource is in the format of `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PullRequest": { + "description": "Metadata of a PullRequest. PullRequest is the request from a user to merge a branch (head) into another branch (base).", + "id": "PullRequest", + "properties": { + "base": { + "$ref": "Branch", + "description": "Required. The branch to merge changes in." + }, + "body": { + "description": "Optional. The pull request body. Provides a detailed description of the changes.", + "type": "string" + }, + "closeTime": { + "description": "Output only. Close timestamp (if closed or merged). Cleared when pull request is re-opened.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "head": { + "$ref": "Branch", + "description": "Immutable. The branch containing the changes to be merged." + }, + "name": { + "description": "Output only. A unique identifier for a PullRequest. The number appended at the end is generated by the server. Format: `projects/{project}/locations/{location}/repositories/{repository}/pullRequests/{pull_request_id}`", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the pull request (open, closed or merged).", + "enum": [ + "STATE_UNSPECIFIED", + "OPEN", + "CLOSED", + "MERGED" + ], + "enumDescriptions": [ + "Unspecified.", + "An open pull request.", + "A closed pull request.", + "A merged pull request." + ], + "readOnly": true, + "type": "string" + }, + "title": { + "description": "Required. The pull request title.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Last updated timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PullRequestComment": { + "description": "PullRequestComment represents a comment on a pull request.", + "id": "PullRequestComment", + "properties": { + "code": { + "$ref": "Code", + "description": "Optional. The comment on a code line." + }, + "comment": { + "$ref": "Comment", + "description": "Optional. The general pull request comment." + }, + "createTime": { + "description": "Output only. Creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Unique identifier for the pull request comment. The comment id is generated by the server. Format: `projects/{project}/locations/{location}/repositories/{repository}/pullRequests/{pull_request}/pullRequestComments/{comment_id}`", + "type": "string" + }, + "review": { + "$ref": "Review", + "description": "Optional. The review summary comment." + }, + "updateTime": { + "description": "Output only. Last updated timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PushOption": { + "id": "PushOption", + "properties": { + "branchFilter": { + "description": "Optional. Trigger hook for matching branches only. Specified as glob pattern. If empty or *, events for all branches are reported. Examples: main, {main,release*}. See https://pkg.go.dev/github.com/gobwas/glob documentation.", + "type": "string" + } + }, + "type": "object" + }, + "Repository": { + "description": "Metadata of a Secure Source Manager repository.", + "id": "Repository", + "properties": { + "createTime": { + "description": "Output only. Create timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the repository, which cannot exceed 500 characters.", + "type": "string" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "initialConfig": { + "$ref": "InitialConfig", + "description": "Input only. Initial configurations for the repository." + }, + "instance": { + "description": "Optional. The name of the instance in which the repository is hosted, formatted as `projects/{project_number}/locations/{location_id}/instances/{instance_id}` When creating repository via securesourcemanager.googleapis.com, this field is used as input. When creating repository via *.sourcemanager.dev, this field is output only.", + "type": "string" + }, + "name": { + "description": "Optional. A unique identifier for a repository. The name should be of the format: `projects/{project}/locations/{location_id}/repositories/{repository_id}`", + "type": "string" + }, + "uid": { + "description": "Output only. Unique identifier of the repository.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Update timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "uris": { + "$ref": "URIs", + "description": "Output only. URIs for the repository.", + "readOnly": true + } + }, + "type": "object" + }, + "ResolvePullRequestCommentsRequest": { + "description": "The request to resolve multiple pull request comments.", + "id": "ResolvePullRequestCommentsRequest", + "properties": { + "autoFill": { + "description": "Optional. If set, at least one comment in a thread is required, rest of the comments in the same thread will be automatically updated to resolved. If unset, all comments in the same thread need be present.", + "type": "boolean" + }, + "names": { + "description": "Required. The names of the pull request comments to resolve. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}/pullRequestComments/{comment_id}` Only comments from the same threads are allowed in the same request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Review": { + "description": "The review summary comment.", + "id": "Review", + "properties": { + "actionType": { + "description": "Required. The review action type.", + "enum": [ + "ACTION_TYPE_UNSPECIFIED", + "COMMENT", + "CHANGE_REQUESTED", + "APPROVED" + ], + "enumDescriptions": [ + "Unspecified.", + "A general review comment.", + "Change required from this review.", + "Change approved from this review." + ], + "type": "string" + }, + "body": { + "description": "Optional. The comment body.", + "type": "string" + }, + "effectiveCommitSha": { + "description": "Output only. The effective commit sha this review is pointing to.", + "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" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TreeEntry": { + "description": "Represents an entry within a tree structure (like a Git tree).", + "id": "TreeEntry", + "properties": { + "mode": { + "description": "Output only. The file mode as a string (e.g., \"100644\"). Indicates file type. Output-only.", + "readOnly": true, + "type": "string" + }, + "path": { + "description": "Output only. The path of the file or directory within the tree (e.g., \"src/main/java/MyClass.java\"). Output-only.", + "readOnly": true, + "type": "string" + }, + "sha": { + "description": "Output only. The SHA-1 hash of the object (unique identifier). Output-only.", + "readOnly": true, + "type": "string" + }, + "size": { + "description": "Output only. The size of the object in bytes (only for blobs). Output-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the object (TREE, BLOB, COMMIT). Output-only.", + "enum": [ + "OBJECT_TYPE_UNSPECIFIED", + "TREE", + "BLOB", + "COMMIT" + ], + "enumDescriptions": [ + "Default value, indicating the object type is unspecified.", + "Represents a directory (folder).", + "Represents a file (contains file data).", + "Represents a pointer to another repository (submodule)." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "URIs": { + "description": "URIs for the repository.", + "id": "URIs", + "properties": { + "api": { + "description": "Output only. API is the URI for API access.", + "readOnly": true, + "type": "string" + }, + "gitHttps": { + "description": "Output only. git_https is the git HTTPS URI for git operations.", + "readOnly": true, + "type": "string" + }, + "html": { + "description": "Output only. HTML is the URI for user to view the repository in a browser.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UnresolvePullRequestCommentsRequest": { + "description": "The request to unresolve multiple pull request comments.", + "id": "UnresolvePullRequestCommentsRequest", + "properties": { + "autoFill": { + "description": "Optional. If set, at least one comment in a thread is required, rest of the comments in the same thread will be automatically updated to unresolved. If unset, all comments in the same thread need be present.", + "type": "boolean" + }, + "names": { + "description": "Required. The names of the pull request comments to unresolve. Format: `projects/{project_number}/locations/{location_id}/repositories/{repository_id}/pullRequests/{pull_request_id}/pullRequestComments/{comment_id}` Only comments from the same threads are allowed in the same request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "WorkforceIdentityFederationConfig": { + "description": "WorkforceIdentityFederationConfig allows this instance to support users from external identity providers.", + "id": "WorkforceIdentityFederationConfig", + "properties": { + "enabled": { + "description": "Optional. Immutable. Whether Workforce Identity Federation is enabled.", + "type": "boolean" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Secure Source Manager API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/src/apis/securesourcemanager/README.md b/src/apis/securesourcemanager/README.md new file mode 100644 index 00000000000..95f22b97e44 --- /dev/null +++ b/src/apis/securesourcemanager/README.md @@ -0,0 +1,37 @@ +Google Inc. logo + +# securesourcemanager + +> Regionally deployed, single-tenant managed source code repository hosted on 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/securesourcemanager](https://www.npmjs.com/package/@google-cloud/securesourcemanager) instead. +The [@google-cloud/securesourcemanager](https://www.npmjs.com/package/@google-cloud/securesourcemanager) 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/securesourcemanager +``` + +## 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/securesourcemanager/classes/Securesourcemanager.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/securesourcemanager/index.ts b/src/apis/securesourcemanager/index.ts new file mode 100644 index 00000000000..65524f15e4f --- /dev/null +++ b/src/apis/securesourcemanager/index.ts @@ -0,0 +1,49 @@ +// 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 {securesourcemanager_v1} from './v1'; + +export const VERSIONS = { + v1: securesourcemanager_v1.Securesourcemanager, +}; + +export function securesourcemanager( + version: 'v1' +): securesourcemanager_v1.Securesourcemanager; +export function securesourcemanager( + options: securesourcemanager_v1.Options +): securesourcemanager_v1.Securesourcemanager; +export function securesourcemanager< + T = securesourcemanager_v1.Securesourcemanager, +>( + this: GoogleConfigurable, + versionOrOptions: 'v1' | securesourcemanager_v1.Options +) { + return getAPI('securesourcemanager', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {securesourcemanager_v1}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/securesourcemanager/package.json b/src/apis/securesourcemanager/package.json new file mode 100644 index 00000000000..f536e75accc --- /dev/null +++ b/src/apis/securesourcemanager/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/securesourcemanager", + "version": "0.1.0", + "description": "securesourcemanager", + "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": ">=12.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^8.0.2-rc.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^5.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "~4.8.4", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/securesourcemanager/tsconfig.json b/src/apis/securesourcemanager/tsconfig.json new file mode 100644 index 00000000000..e0810904968 --- /dev/null +++ b/src/apis/securesourcemanager/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/securesourcemanager/v1.ts b/src/apis/securesourcemanager/v1.ts new file mode 100644 index 00000000000..9b8b275b8e2 --- /dev/null +++ b/src/apis/securesourcemanager/v1.ts @@ -0,0 +1,11241 @@ +// 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 securesourcemanager_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; + } + + /** + * Secure Source Manager API + * + * Regionally deployed, single-tenant managed source code repository hosted on Google Cloud. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('v1'); + * ``` + */ + export class Securesourcemanager { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * 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; + } + /** + * The request to batch create pull request comments. + */ + export interface Schema$BatchCreatePullRequestCommentsRequest { + /** + * Required. The request message specifying the resources to create. There should be exactly one CreatePullRequestCommentRequest with CommentDetail being REVIEW in the list, and no more than 100 CreatePullRequestCommentRequests with CommentDetail being CODE in the list + */ + requests?: Schema$CreatePullRequestCommentRequest[]; + } + /** + * 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; + } + /** + * Branch represents a branch involved in a pull request. + */ + export interface Schema$Branch { + /** + * Required. Name of the branch. + */ + ref?: string | null; + /** + * Output only. The commit at the tip of the branch. + */ + sha?: string | null; + } + /** + * Metadata of a BranchRule. BranchRule is the protection rule to enforce pre-defined rules on designated branches within a repository. + */ + export interface Schema$BranchRule { + /** + * Optional. Determines if allow stale reviews or approvals before merging to the branch. + */ + allowStaleReviews?: boolean | null; + /** + * Optional. User annotations. These attributes can only be set and used by the user. See https://google.aip.dev/128#annotations for more details such as format and size limitations. + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. Create timestamp. + */ + createTime?: string | null; + /** + * Optional. Determines if the branch rule is disabled or not. + */ + disabled?: boolean | null; + /** + * Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. + */ + etag?: string | null; + /** + * Optional. The pattern of the branch that can match to this BranchRule. Specified as regex. .* for all branches. Examples: main, (main|release.*). Current MVP phase only support `.*` for wildcard. + */ + includePattern?: string | null; + /** + * Optional. The minimum number of approvals required for the branch rule to be matched. + */ + minimumApprovalsCount?: number | null; + /** + * Optional. The minimum number of reviews required for the branch rule to be matched. + */ + minimumReviewsCount?: number | null; + /** + * Optional. A unique identifier for a BranchRule. The name should be of the format: `projects/{project\}/locations/{location\}/repositories/{repository\}/branchRules/{branch_rule\}` + */ + name?: string | null; + /** + * Optional. Determines if require comments resolved before merging to the branch. + */ + requireCommentsResolved?: boolean | null; + /** + * Optional. List of required status checks before merging to the branch. + */ + requiredStatusChecks?: Schema$Check[]; + /** + * Optional. Determines if require linear history before merging to the branch. + */ + requireLinearHistory?: boolean | null; + /** + * Optional. Determines if the branch rule requires a pull request or not. + */ + requirePullRequest?: boolean | null; + /** + * Output only. Unique identifier of the repository. + */ + uid?: string | null; + /** + * Output only. Update timestamp. + */ + updateTime?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Check is a type for status check. + */ + export interface Schema$Check { + /** + * Required. The context of the check. + */ + context?: string | null; + } + /** + * The request to close an issue. + */ + export interface Schema$CloseIssueRequest { + /** + * Optional. The current etag of the issue. If the etag is provided and does not match the current etag of the issue, closing will be blocked and an ABORTED error will be returned. + */ + etag?: string | null; + } + /** + * ClosePullRequestRequest is the request to close a pull request. + */ + export interface Schema$ClosePullRequestRequest {} + /** + * The comment on a code line. + */ + export interface Schema$Code { + /** + * Required. The comment body. + */ + body?: string | null; + /** + * Output only. The effective commit sha this code comment is pointing to. + */ + effectiveCommitSha?: string | null; + /** + * Output only. The root comment of the conversation, derived from the reply field. + */ + effectiveRootComment?: string | null; + /** + * Optional. The position of the comment. + */ + position?: Schema$Position; + /** + * Optional. Input only. The PullRequestComment resource name that this comment is replying to. + */ + reply?: string | null; + /** + * Output only. Boolean indicator if the comment is resolved. + */ + resolved?: boolean | null; + } + /** + * The general pull request comment. + */ + export interface Schema$Comment { + /** + * Required. The comment body. + */ + body?: string | null; + } + /** + * The request to create a pull request comment. + */ + export interface Schema$CreatePullRequestCommentRequest { + /** + * Required. The pull request in which to create the pull request comment. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + parent?: string | null; + /** + * Required. The pull request comment to create. + */ + pullRequestComment?: Schema$PullRequestComment; + } + /** + * 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. + */ + 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; + } + /** + * Response message containing the content of a blob. + */ + export interface Schema$FetchBlobResponse { + /** + * The content of the blob, encoded as base64. + */ + content?: string | null; + /** + * The SHA-1 hash of the blob. + */ + sha?: string | null; + } + /** + * Response message containing a list of TreeEntry objects. + */ + export interface Schema$FetchTreeResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * The list of TreeEntry objects. + */ + treeEntries?: Schema$TreeEntry[]; + } + /** + * Metadata of a FileDiff. FileDiff represents a single file diff in a pull request. + */ + export interface Schema$FileDiff { + /** + * Output only. The action taken on the file (eg. added, modified, deleted). + */ + action?: string | null; + /** + * Output only. The name of the file. + */ + name?: string | null; + /** + * Output only. The git patch containing the file changes. + */ + patch?: string | null; + /** + * Output only. The commit pointing to the file changes. + */ + sha?: string | null; + } + /** + * Metadata of a Secure Source Manager Hook. + */ + export interface Schema$Hook { + /** + * Output only. Create timestamp. + */ + createTime?: string | null; + /** + * Optional. Determines if the hook disabled or not. Set to true to stop sending traffic. + */ + disabled?: boolean | null; + /** + * Optional. The events that trigger hook on. + */ + events?: string[] | null; + /** + * Identifier. A unique identifier for a Hook. The name should be of the format: `projects/{project\}/locations/{location_id\}/repositories/{repository_id\}/hooks/{hook_id\}` + */ + name?: string | null; + /** + * Optional. The trigger option for push events. + */ + pushOption?: Schema$PushOption; + /** + * Optional. The sensitive query string to be appended to the target URI. + */ + sensitiveQueryString?: string | null; + /** + * Required. The target URI to which the payloads will be delivered. + */ + targetUri?: string | null; + /** + * Output only. Unique identifier of the hook. + */ + uid?: string | null; + /** + * Output only. Update timestamp. + */ + updateTime?: string | null; + } + /** + * HostConfig has different instance endpoints. + */ + export interface Schema$HostConfig { + /** + * Output only. API hostname. + */ + api?: string | null; + /** + * Output only. Git HTTP hostname. + */ + gitHttp?: string | null; + /** + * Output only. Git SSH hostname. + */ + gitSsh?: string | null; + /** + * Output only. HTML hostname. + */ + html?: string | null; + } + /** + * Repository initialization configuration. + */ + export interface Schema$InitialConfig { + /** + * Default branch name of the repository. + */ + defaultBranch?: string | null; + /** + * List of gitignore template names user can choose from. Valid values: actionscript, ada, agda, android, anjuta, ansible, appcelerator-titanium, app-engine, archives, arch-linux-packages, atmel-studio, autotools, backup, bazaar, bazel, bitrix, bricx-cc, c, cake-php, calabash, cf-wheels, chef-cookbook, clojure, cloud9, c-make, code-igniter, code-kit, code-sniffer, common-lisp, composer, concrete5, coq, cordova, cpp, craft-cms, cuda, cvs, d, dart, dart-editor, delphi, diff, dm, dreamweaver, dropbox, drupal, drupal-7, eagle, eclipse, eiffel-studio, elisp, elixir, elm, emacs, ensime, epi-server, erlang, esp-idf, espresso, exercism, expression-engine, ext-js, fancy, finale, flex-builder, force-dot-com, fortran, fuel-php, gcov, git-book, gnome-shell-extension, go, godot, gpg, gradle, grails, gwt, haskell, hugo, iar-ewarm, idris, igor-pro, images, infor-cms, java, jboss, jboss-4, jboss-6, jdeveloper, jekyll, jenkins-home, jenv, jet-brains, jigsaw, joomla, julia, jupyter-notebooks, kate, kdevelop4, kentico, ki-cad, kohana, kotlin, lab-view, laravel, lazarus, leiningen, lemon-stand, libre-office, lilypond, linux, lithium, logtalk, lua, lyx, mac-os, magento, magento-1, magento-2, matlab, maven, mercurial, mercury, metals, meta-programming-system, meteor, microsoft-office, model-sim, momentics, mono-develop, nanoc, net-beans, nikola, nim, ninja, node, notepad-pp, nwjs, objective--c, ocaml, octave, opa, open-cart, openssl, oracle-forms, otto, packer, patch, perl, perl6, phalcon, phoenix, pimcore, play-framework, plone, prestashop, processing, psoc-creator, puppet, pure-script, putty, python, qooxdoo, qt, r, racket, rails, raku, red, redcar, redis, rhodes-rhomobile, ros, ruby, rust, sam, sass, sbt, scala, scheme, scons, scrivener, sdcc, seam-gen, sketch-up, slick-edit, smalltalk, snap, splunk, stata, stella, sublime-text, sugar-crm, svn, swift, symfony, symphony-cms, synopsys-vcs, tags, terraform, tex, text-mate, textpattern, think-php, tortoise-git, turbo-gears-2, typo3, umbraco, unity, unreal-engine, vagrant, vim, virtual-env, virtuoso, visual-studio, visual-studio-code, vue, vvvv, waf, web-methods, windows, word-press, xcode, xilinx, xilinx-ise, xojo, yeoman, yii, zend-framework, zephir. + */ + gitignores?: string[] | null; + /** + * License template name user can choose from. Valid values: license-0bsd, license-389-exception, aal, abstyles, adobe-2006, adobe-glyph, adsl, afl-1-1, afl-1-2, afl-2-0, afl-2-1, afl-3-0, afmparse, agpl-1-0, agpl-1-0-only, agpl-1-0-or-later, agpl-3-0-only, agpl-3-0-or-later, aladdin, amdplpa, aml, ampas, antlr-pd, antlr-pd-fallback, apache-1-0, apache-1-1, apache-2-0, apafml, apl-1-0, apsl-1-0, apsl-1-1, apsl-1-2, apsl-2-0, artistic-1-0, artistic-1-0-cl8, artistic-1-0-perl, artistic-2-0, autoconf-exception-2-0, autoconf-exception-3-0, bahyph, barr, beerware, bison-exception-2-2, bittorrent-1-0, bittorrent-1-1, blessing, blueoak-1-0-0, bootloader-exception, borceux, bsd-1-clause, bsd-2-clause, bsd-2-clause-freebsd, bsd-2-clause-netbsd, bsd-2-clause-patent, bsd-2-clause-views, bsd-3-clause, bsd-3-clause-attribution, bsd-3-clause-clear, bsd-3-clause-lbnl, bsd-3-clause-modification, bsd-3-clause-no-nuclear-license, bsd-3-clause-no-nuclear-license-2014, bsd-3-clause-no-nuclear-warranty, bsd-3-clause-open-mpi, bsd-4-clause, bsd-4-clause-shortened, bsd-4-clause-uc, bsd-protection, bsd-source-code, bsl-1-0, busl-1-1, cal-1-0, cal-1-0-combined-work-exception, caldera, catosl-1-1, cc0-1-0, cc-by-1-0, cc-by-2-0, cc-by-3-0, cc-by-3-0-at, cc-by-3-0-us, cc-by-4-0, cc-by-nc-1-0, cc-by-nc-2-0, cc-by-nc-3-0, cc-by-nc-4-0, cc-by-nc-nd-1-0, cc-by-nc-nd-2-0, cc-by-nc-nd-3-0, cc-by-nc-nd-3-0-igo, cc-by-nc-nd-4-0, cc-by-nc-sa-1-0, cc-by-nc-sa-2-0, cc-by-nc-sa-3-0, cc-by-nc-sa-4-0, cc-by-nd-1-0, cc-by-nd-2-0, cc-by-nd-3-0, cc-by-nd-4-0, cc-by-sa-1-0, cc-by-sa-2-0, cc-by-sa-2-0-uk, cc-by-sa-2-1-jp, cc-by-sa-3-0, cc-by-sa-3-0-at, cc-by-sa-4-0, cc-pddc, cddl-1-0, cddl-1-1, cdla-permissive-1-0, cdla-sharing-1-0, cecill-1-0, cecill-1-1, cecill-2-0, cecill-2-1, cecill-b, cecill-c, cern-ohl-1-1, cern-ohl-1-2, cern-ohl-p-2-0, cern-ohl-s-2-0, cern-ohl-w-2-0, clartistic, classpath-exception-2-0, clisp-exception-2-0, cnri-jython, cnri-python, cnri-python-gpl-compatible, condor-1-1, copyleft-next-0-3-0, copyleft-next-0-3-1, cpal-1-0, cpl-1-0, cpol-1-02, crossword, crystal-stacker, cua-opl-1-0, cube, c-uda-1-0, curl, d-fsl-1-0, diffmark, digirule-foss-exception, doc, dotseqn, drl-1-0, dsdp, dvipdfm, ecl-1-0, ecl-2-0, ecos-exception-2-0, efl-1-0, efl-2-0, egenix, entessa, epics, epl-1-0, epl-2-0, erlpl-1-1, etalab-2-0, eu-datagrid, eupl-1-0, eupl-1-1, eupl-1-2, eurosym, fair, fawkes-runtime-exception, fltk-exception, font-exception-2-0, frameworx-1-0, freebsd-doc, freeimage, freertos-exception-2-0, fsfap, fsful, fsfullr, ftl, gcc-exception-2-0, gcc-exception-3-1, gd, gfdl-1-1-invariants-only, gfdl-1-1-invariants-or-later, gfdl-1-1-no-invariants-only, gfdl-1-1-no-invariants-or-later, gfdl-1-1-only, gfdl-1-1-or-later, gfdl-1-2-invariants-only, gfdl-1-2-invariants-or-later, gfdl-1-2-no-invariants-only, gfdl-1-2-no-invariants-or-later, gfdl-1-2-only, gfdl-1-2-or-later, gfdl-1-3-invariants-only, gfdl-1-3-invariants-or-later, gfdl-1-3-no-invariants-only, gfdl-1-3-no-invariants-or-later, gfdl-1-3-only, gfdl-1-3-or-later, giftware, gl2ps, glide, glulxe, glwtpl, gnu-javamail-exception, gnuplot, gpl-1-0-only, gpl-1-0-or-later, gpl-2-0-only, gpl-2-0-or-later, gpl-3-0-linking-exception, gpl-3-0-linking-source-exception, gpl-3-0-only, gpl-3-0-or-later, gpl-cc-1-0, gsoap-1-3b, haskell-report, hippocratic-2-1, hpnd, hpnd-sell-variant, htmltidy, i2p-gpl-java-exception, ibm-pibs, icu, ijg, image-magick, imatix, imlib2, info-zip, intel, intel-acpi, interbase-1-0, ipa, ipl-1-0, isc, jasper-2-0, jpnic, json, lal-1-2, lal-1-3, latex2e, leptonica, lgpl-2-0-only, lgpl-2-0-or-later, lgpl-2-1-only, lgpl-2-1-or-later, lgpl-3-0-linking-exception, lgpl-3-0-only, lgpl-3-0-or-later, lgpllr, libpng, libpng-2-0, libselinux-1-0, libtiff, libtool-exception, liliq-p-1-1, liliq-r-1-1, liliq-rplus-1-1, linux-openib, linux-syscall-note, llvm-exception, lpl-1-0, lpl-1-02, lppl-1-0, lppl-1-1, lppl-1-2, lppl-1-3a, lppl-1-3c, lzma-exception, make-index, mif-exception, miros, mit, mit-0, mit-advertising, mit-cmu, mit-enna, mit-feh, mit-modern-variant, mitnfa, mit-open-group, motosoto, mpich2, mpl-1-0, mpl-1-1, mpl-2-0, mpl-2-0-no-copyleft-exception, ms-pl, ms-rl, mtll, mulanpsl-1-0, mulanpsl-2-0, multics, mup, naist-2003, nasa-1-3, naumen, nbpl-1-0, ncgl-uk-2-0, ncsa, netcdf, net-snmp, newsletr, ngpl, nist-pd, nist-pd-fallback, nlod-1-0, nlpl, nokia, nokia-qt-exception-1-1, nosl, noweb, npl-1-0, npl-1-1, nposl-3-0, nrl, ntp, ntp-0, ocaml-lgpl-linking-exception, occt-exception-1-0, occt-pl, oclc-2-0, odbl-1-0, odc-by-1-0, ofl-1-0, ofl-1-0-no-rfn, ofl-1-0-rfn, ofl-1-1, ofl-1-1-no-rfn, ofl-1-1-rfn, ogc-1-0, ogdl-taiwan-1-0, ogl-canada-2-0, ogl-uk-1-0, ogl-uk-2-0, ogl-uk-3-0, ogtsl, oldap-1-1, oldap-1-2, oldap-1-3, oldap-1-4, oldap-2-0, oldap-2-0-1, oldap-2-1, oldap-2-2, oldap-2-2-1, oldap-2-2-2, oldap-2-3, oldap-2-4, oldap-2-7, oml, openjdk-assembly-exception-1-0, openssl, openvpn-openssl-exception, opl-1-0, oset-pl-2-1, osl-1-0, osl-1-1, osl-2-0, osl-2-1, osl-3-0, o-uda-1-0, parity-6-0-0, parity-7-0-0, pddl-1-0, php-3-0, php-3-01, plexus, polyform-noncommercial-1-0-0, polyform-small-business-1-0-0, postgresql, psf-2-0, psfrag, ps-or-pdf-font-exception-20170817, psutils, python-2-0, qhull, qpl-1-0, qt-gpl-exception-1-0, qt-lgpl-exception-1-1, qwt-exception-1-0, rdisc, rhecos-1-1, rpl-1-1, rpsl-1-0, rsa-md, rscpl, ruby, saxpath, sax-pd, scea, sendmail, sendmail-8-23, sgi-b-1-0, sgi-b-1-1, sgi-b-2-0, shl-0-51, shl-2-0, shl-2-1, simpl-2-0, sissl, sissl-1-2, sleepycat, smlnj, smppl, snia, spencer-86, spencer-94, spencer-99, spl-1-0, ssh-openssh, ssh-short, sspl-1-0, sugarcrm-1-1-3, swift-exception, swl, tapr-ohl-1-0, tcl, tcp-wrappers, tmate, torque-1-1, tosl, tu-berlin-1-0, tu-berlin-2-0, u-boot-exception-2-0, ucl-1-0, unicode-dfs-2015, unicode-dfs-2016, unicode-tou, universal-foss-exception-1-0, unlicense, upl-1-0, vim, vostrom, vsl-1-0, w3c, w3c-19980720, w3c-20150513, watcom-1-0, wsuipa, wtfpl, wxwindows-exception-3-1, x11, xerox, xfree86-1-1, xinetd, xnet, xpp, xskat, ypl-1-0, ypl-1-1, zed, zend-2-0, zimbra-1-3, zimbra-1-4, zlib, zlib-acknowledgement, zpl-1-1, zpl-2-0, zpl-2-1. + */ + license?: string | null; + /** + * README template name. Valid template name(s) are: default. + */ + readme?: string | null; + } + /** + * A resource that represents a Secure Source Manager instance. + */ + export interface Schema$Instance { + /** + * Output only. Create timestamp. + */ + createTime?: string | null; + /** + * Output only. A list of hostnames for this instance. + */ + hostConfig?: Schema$HostConfig; + /** + * Optional. Immutable. Customer-managed encryption key name, in the format projects/x/locations/x/keyRings/x/cryptoKeys/x. + */ + kmsKey?: string | null; + /** + * Optional. Labels as key value pairs. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. A unique identifier for an instance. The name should be of the format: `projects/{project_number\}/locations/{location_id\}/instances/{instance_id\}` `project_number`: Maps to a unique int64 id assigned to each project. `location_id`: Refers to the region where the instance will be deployed. Since Secure Source Manager is a regional service, it must be one of the valid GCP regions. `instance_id`: User provided name for the instance, must be unique for a project_number and location_id combination. + */ + name?: string | null; + /** + * Optional. Private settings for private instance. + */ + privateConfig?: Schema$PrivateConfig; + /** + * Output only. Current state of the instance. + */ + state?: string | null; + /** + * Output only. An optional field providing information about the current instance state. + */ + stateNote?: string | null; + /** + * Output only. Update timestamp. + */ + updateTime?: string | null; + /** + * Optional. Configuration for Workforce Identity Federation to support third party identity provider. If unset, defaults to the Google OIDC IdP. + */ + workforceIdentityFederationConfig?: Schema$WorkforceIdentityFederationConfig; + } + /** + * Metadata of an Issue. + */ + export interface Schema$Issue { + /** + * Optional. Issue body. Provides a detailed description of the issue. + */ + body?: string | null; + /** + * Output only. Close timestamp (if closed). Cleared when is re-opened. + */ + closeTime?: string | null; + /** + * Output only. Creation timestamp. + */ + createTime?: string | null; + /** + * Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. + */ + etag?: string | null; + /** + * Identifier. Unique identifier for an issue. The issue id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue_id\}` + */ + name?: string | null; + /** + * Output only. State of the issue. + */ + state?: string | null; + /** + * Required. Issue title. + */ + title?: string | null; + /** + * Output only. Last updated timestamp. + */ + updateTime?: string | null; + } + /** + * IssueComment represents a comment on an issue. + */ + export interface Schema$IssueComment { + /** + * Required. The comment body. + */ + body?: string | null; + /** + * Output only. Creation timestamp. + */ + createTime?: string | null; + /** + * Identifier. Unique identifier for an issue comment. The comment id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue\}/issueComments/{comment_id\}` + */ + name?: string | null; + /** + * Output only. Last updated timestamp. + */ + updateTime?: string | null; + } + /** + * ListBranchRulesResponse is the response to listing branchRules. + */ + export interface Schema$ListBranchRulesResponse { + /** + * The list of branch rules. + */ + branchRules?: Schema$BranchRule[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + } + /** + * ListHooksResponse is response to list hooks. + */ + export interface Schema$ListHooksResponse { + /** + * The list of hooks. + */ + hooks?: Schema$Hook[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + } + export interface Schema$ListInstancesResponse { + /** + * The list of instances. + */ + instances?: Schema$Instance[]; + /** + * 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 to list issue comments. + */ + export interface Schema$ListIssueCommentsResponse { + /** + * The list of issue comments. + */ + issueComments?: Schema$IssueComment[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + } + /** + * The response to list issues. + */ + export interface Schema$ListIssuesResponse { + /** + * The list of issues. + */ + issues?: Schema$Issue[]; + /** + * A token identifying a page of results the server should return. + */ + 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[]; + } + /** + * The response to list pull request comments. + */ + export interface Schema$ListPullRequestCommentsResponse { + /** + * A token to set as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of pull request comments. + */ + pullRequestComments?: Schema$PullRequestComment[]; + } + /** + * ListPullRequestFileDiffsResponse is the response containing file diffs returned from ListPullRequestFileDiffs. + */ + export interface Schema$ListPullRequestFileDiffsResponse { + /** + * The list of pull request file diffs. + */ + fileDiffs?: Schema$FileDiff[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + } + /** + * ListPullRequestsResponse is the response to list pull requests. + */ + export interface Schema$ListPullRequestsResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * The list of pull requests. + */ + pullRequests?: Schema$PullRequest[]; + } + export interface Schema$ListRepositoriesResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * The list of repositories. + */ + repositories?: Schema$Repository[]; + } + /** + * 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; + } + /** + * MergePullRequestRequest is the request to merge a pull request. + */ + export interface Schema$MergePullRequestRequest {} + /** + * The request to open an issue. + */ + export interface Schema$OpenIssueRequest { + /** + * Optional. The current etag of the issue. If the etag is provided and does not match the current etag of the issue, opening will be blocked and an ABORTED error will be returned. + */ + etag?: string | null; + } + /** + * OpenPullRequestRequest is the request to open a pull request. + */ + export interface Schema$OpenPullRequestRequest {} + /** + * 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. 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 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; + } + /** + * 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; + } + /** + * The position of the code comment. + */ + export interface Schema$Position { + /** + * Required. The line number of the comment. Positive value means it's on the new side of the diff, negative value means it's on the old side. + */ + line?: string | null; + /** + * Required. The path of the file. + */ + path?: string | null; + } + /** + * PrivateConfig includes settings for private instance. + */ + export interface Schema$PrivateConfig { + /** + * Optional. Immutable. CA pool resource, resource must in the format of `projects/{project\}/locations/{location\}/caPools/{ca_pool\}`. + */ + caPool?: string | null; + /** + * Output only. Service Attachment for HTTP, resource is in the format of `projects/{project\}/regions/{region\}/serviceAttachments/{service_attachment\}`. + */ + httpServiceAttachment?: string | null; + /** + * Required. Immutable. Indicate if it's private instance. + */ + isPrivate?: boolean | null; + /** + * Optional. Additional allowed projects for setting up PSC connections. Instance host project is automatically allowed and does not need to be included in this list. + */ + pscAllowedProjects?: string[] | null; + /** + * Output only. Service Attachment for SSH, resource is in the format of `projects/{project\}/regions/{region\}/serviceAttachments/{service_attachment\}`. + */ + sshServiceAttachment?: string | null; + } + /** + * Metadata of a PullRequest. PullRequest is the request from a user to merge a branch (head) into another branch (base). + */ + export interface Schema$PullRequest { + /** + * Required. The branch to merge changes in. + */ + base?: Schema$Branch; + /** + * Optional. The pull request body. Provides a detailed description of the changes. + */ + body?: string | null; + /** + * Output only. Close timestamp (if closed or merged). Cleared when pull request is re-opened. + */ + closeTime?: string | null; + /** + * Output only. Creation timestamp. + */ + createTime?: string | null; + /** + * Immutable. The branch containing the changes to be merged. + */ + head?: Schema$Branch; + /** + * Output only. A unique identifier for a PullRequest. The number appended at the end is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/pullRequests/{pull_request_id\}` + */ + name?: string | null; + /** + * Output only. State of the pull request (open, closed or merged). + */ + state?: string | null; + /** + * Required. The pull request title. + */ + title?: string | null; + /** + * Output only. Last updated timestamp. + */ + updateTime?: string | null; + } + /** + * PullRequestComment represents a comment on a pull request. + */ + export interface Schema$PullRequestComment { + /** + * Optional. The comment on a code line. + */ + code?: Schema$Code; + /** + * Optional. The general pull request comment. + */ + comment?: Schema$Comment; + /** + * Output only. Creation timestamp. + */ + createTime?: string | null; + /** + * Identifier. Unique identifier for the pull request comment. The comment id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/pullRequests/{pull_request\}/pullRequestComments/{comment_id\}` + */ + name?: string | null; + /** + * Optional. The review summary comment. + */ + review?: Schema$Review; + /** + * Output only. Last updated timestamp. + */ + updateTime?: string | null; + } + export interface Schema$PushOption { + /** + * Optional. Trigger hook for matching branches only. Specified as glob pattern. If empty or *, events for all branches are reported. Examples: main, {main,release*\}. See https://pkg.go.dev/github.com/gobwas/glob documentation. + */ + branchFilter?: string | null; + } + /** + * Metadata of a Secure Source Manager repository. + */ + export interface Schema$Repository { + /** + * Output only. Create timestamp. + */ + createTime?: string | null; + /** + * Optional. Description of the repository, which cannot exceed 500 characters. + */ + description?: string | null; + /** + * Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. + */ + etag?: string | null; + /** + * Input only. Initial configurations for the repository. + */ + initialConfig?: Schema$InitialConfig; + /** + * Optional. The name of the instance in which the repository is hosted, formatted as `projects/{project_number\}/locations/{location_id\}/instances/{instance_id\}` When creating repository via securesourcemanager.googleapis.com, this field is used as input. When creating repository via *.sourcemanager.dev, this field is output only. + */ + instance?: string | null; + /** + * Optional. A unique identifier for a repository. The name should be of the format: `projects/{project\}/locations/{location_id\}/repositories/{repository_id\}` + */ + name?: string | null; + /** + * Output only. Unique identifier of the repository. + */ + uid?: string | null; + /** + * Output only. Update timestamp. + */ + updateTime?: string | null; + /** + * Output only. URIs for the repository. + */ + uris?: Schema$URIs; + } + /** + * The request to resolve multiple pull request comments. + */ + export interface Schema$ResolvePullRequestCommentsRequest { + /** + * Optional. If set, at least one comment in a thread is required, rest of the comments in the same thread will be automatically updated to resolved. If unset, all comments in the same thread need be present. + */ + autoFill?: boolean | null; + /** + * Required. The names of the pull request comments to resolve. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}/pullRequestComments/{comment_id\}` Only comments from the same threads are allowed in the same request. + */ + names?: string[] | null; + } + /** + * The review summary comment. + */ + export interface Schema$Review { + /** + * Required. The review action type. + */ + actionType?: string | null; + /** + * Optional. The comment body. + */ + body?: string | null; + /** + * Output only. The effective commit sha this review is pointing to. + */ + effectiveCommitSha?: 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; + } + /** + * 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 `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 an entry within a tree structure (like a Git tree). + */ + export interface Schema$TreeEntry { + /** + * Output only. The file mode as a string (e.g., "100644"). Indicates file type. Output-only. + */ + mode?: string | null; + /** + * Output only. The path of the file or directory within the tree (e.g., "src/main/java/MyClass.java"). Output-only. + */ + path?: string | null; + /** + * Output only. The SHA-1 hash of the object (unique identifier). Output-only. + */ + sha?: string | null; + /** + * Output only. The size of the object in bytes (only for blobs). Output-only. + */ + size?: string | null; + /** + * Output only. The type of the object (TREE, BLOB, COMMIT). Output-only. + */ + type?: string | null; + } + /** + * The request to unresolve multiple pull request comments. + */ + export interface Schema$UnresolvePullRequestCommentsRequest { + /** + * Optional. If set, at least one comment in a thread is required, rest of the comments in the same thread will be automatically updated to unresolved. If unset, all comments in the same thread need be present. + */ + autoFill?: boolean | null; + /** + * Required. The names of the pull request comments to unresolve. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}/pullRequestComments/{comment_id\}` Only comments from the same threads are allowed in the same request. + */ + names?: string[] | null; + } + /** + * URIs for the repository. + */ + export interface Schema$URIs { + /** + * Output only. API is the URI for API access. + */ + api?: string | null; + /** + * Output only. git_https is the git HTTPS URI for git operations. + */ + gitHttps?: string | null; + /** + * Output only. HTML is the URI for user to view the repository in a browser. + */ + html?: string | null; + } + /** + * WorkforceIdentityFederationConfig allows this instance to support users from external identity providers. + */ + export interface Schema$WorkforceIdentityFederationConfig { + /** + * Optional. Immutable. Whether Workforce Identity Federation is enabled. + */ + enabled?: boolean | null; + } + + 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; + instances: Resource$Projects$Locations$Instances; + operations: Resource$Projects$Locations$Operations; + repositories: Resource$Projects$Locations$Repositories; + constructor(context: APIRequestContext) { + this.context = context; + this.instances = new Resource$Projects$Locations$Instances(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + this.repositories = new Resource$Projects$Locations$Repositories( + this.context + ); + } + + /** + * Gets information about a location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.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://securesourcemanager.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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.list({ + * // Optional. A list of extra location types that should be used as conditions for controlling the visibility of the locations. + * 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://securesourcemanager.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$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * Optional. A list of extra location types that should be used as conditions for controlling the visibility of the locations. + */ + 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$Instances { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new instance in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.instances.create({ + * // Required. ID of the instance to be created. + * instanceId: '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', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "hostConfig": {}, + * // "kmsKey": "my_kmsKey", + * // "labels": {}, + * // "name": "my_name", + * // "privateConfig": {}, + * // "state": "my_state", + * // "stateNote": "my_stateNote", + * // "updateTime": "my_updateTime", + * // "workforceIdentityFederationConfig": {} + * // } + * }, + * }); + * 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$Instances$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Instances$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/instances').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 instance. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.instances.delete({ + * // Required. Name of the resource. + * name: 'projects/my-project/locations/my-location/instances/my-instance', + * // 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$Instances$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Instances$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 details of a single instance. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.instances.get({ + * // Required. Name of the resource. + * name: 'projects/my-project/locations/my-location/instances/my-instance', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "hostConfig": {}, + * // "kmsKey": "my_kmsKey", + * // "labels": {}, + * // "name": "my_name", + * // "privateConfig": {}, + * // "state": "my_state", + * // "stateNote": "my_stateNote", + * // "updateTime": "my_updateTime", + * // "workforceIdentityFederationConfig": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Instances$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Instances$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 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/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.instances.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/instances/my-instance', + * }); + * 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$Instances$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Instances$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Instances$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Instances$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Instances$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Instances$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * Lists Instances in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.instances.list({ + * // Filter for filtering results. + * filter: 'placeholder-value', + * // Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListInstancesRequest. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "instances": [], + * // "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$Instances$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Instances$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Instances$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Instances$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Instances$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/instances').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); + } + } + + /** + * 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/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.instances.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/instances/my-instance', + * + * // 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$Instances$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Instances$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Instances$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Instances$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Instances$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Instances$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 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/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.instances.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/instances/my-instance', + * + * // 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$Instances$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Instances$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Projects$Locations$Instances$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Instances$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Instances$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Instances$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + } + + export interface Params$Resource$Projects$Locations$Instances$Create + extends StandardParameters { + /** + * Required. ID of the instance to be created. + */ + instanceId?: 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; + + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + export interface Params$Resource$Projects$Locations$Instances$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$Instances$Get + extends StandardParameters { + /** + * Required. Name of the resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Instances$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$Instances$List + extends StandardParameters { + /** + * Filter for filtering results. + */ + filter?: string; + /** + * Hint for how to order the results. + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListInstancesRequest. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Instances$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$Instances$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/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.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://securesourcemanager.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/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.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://securesourcemanager.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/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.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://securesourcemanager.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/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.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', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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://securesourcemanager.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; + } + + export class Resource$Projects$Locations$Repositories { + context: APIRequestContext; + branchRules: Resource$Projects$Locations$Repositories$Branchrules; + hooks: Resource$Projects$Locations$Repositories$Hooks; + issues: Resource$Projects$Locations$Repositories$Issues; + pullRequests: Resource$Projects$Locations$Repositories$Pullrequests; + constructor(context: APIRequestContext) { + this.context = context; + this.branchRules = + new Resource$Projects$Locations$Repositories$Branchrules(this.context); + this.hooks = new Resource$Projects$Locations$Repositories$Hooks( + this.context + ); + this.issues = new Resource$Projects$Locations$Repositories$Issues( + this.context + ); + this.pullRequests = + new Resource$Projects$Locations$Repositories$Pullrequests(this.context); + } + + /** + * Creates a new repository in a given project and location. The Repository.Instance field is required in the request body for requests using the securesourcemanager.googleapis.com endpoint. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.create({ + * // Required. The project in which to create the repository. Values are of the form `projects/{project_number\}/locations/{location_id\}` + * parent: 'projects/my-project/locations/my-location', + * // Required. The ID to use for the repository, which will become the final component of the repository's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. + * repositoryId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "initialConfig": {}, + * // "instance": "my_instance", + * // "name": "my_name", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime", + * // "uris": {} + * // } + * }, + * }); + * 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$Repositories$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Repositories$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Repositories$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Repositories$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/repositories').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 Repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.delete({ + * // Optional. If set to true, and the repository is not found, the request will succeed but no action will be taken on the server. + * allowMissing: 'placeholder-value', + * // Required. Name of the repository to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie', + * }); + * 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$Repositories$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Repositories$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Repositories$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Repositories$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * Fetches a blob from a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.fetchBlob({ + * // Required. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}`. Specifies the repository containing the blob. + * repository: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * // Required. The SHA-1 hash of the blob to retrieve. + * sha: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "content": "my_content", + * // "sha": "my_sha" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchBlob( + params: Params$Resource$Projects$Locations$Repositories$Fetchblob, + options: StreamMethodOptions + ): Promise>; + fetchBlob( + params?: Params$Resource$Projects$Locations$Repositories$Fetchblob, + options?: MethodOptions + ): Promise>; + fetchBlob( + params: Params$Resource$Projects$Locations$Repositories$Fetchblob, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchBlob( + params: Params$Resource$Projects$Locations$Repositories$Fetchblob, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchBlob( + params: Params$Resource$Projects$Locations$Repositories$Fetchblob, + callback: BodyResponseCallback + ): void; + fetchBlob(callback: BodyResponseCallback): void; + fetchBlob( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Fetchblob + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Fetchblob; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Fetchblob; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+repository}:fetchBlob').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['repository'], + pathParams: ['repository'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Fetches a tree from a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.fetchTree({ + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, at most 10,000 items will be returned. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Optional. If true, include all subfolders and their files in the response. If false, only the immediate children are returned. + * recursive: 'placeholder-value', + * // Optional. `ref` can be a SHA-1 hash, a branch name, or a tag. Specifies which tree to fetch. If not specified, the default branch will be used. + * ref: 'placeholder-value', + * // Required. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}`. Specifies the repository to fetch the tree from. + * repository: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "treeEntries": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchTree( + params: Params$Resource$Projects$Locations$Repositories$Fetchtree, + options: StreamMethodOptions + ): Promise>; + fetchTree( + params?: Params$Resource$Projects$Locations$Repositories$Fetchtree, + options?: MethodOptions + ): Promise>; + fetchTree( + params: Params$Resource$Projects$Locations$Repositories$Fetchtree, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchTree( + params: Params$Resource$Projects$Locations$Repositories$Fetchtree, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchTree( + params: Params$Resource$Projects$Locations$Repositories$Fetchtree, + callback: BodyResponseCallback + ): void; + fetchTree(callback: BodyResponseCallback): void; + fetchTree( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Fetchtree + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Fetchtree; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Fetchtree; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+repository}:fetchTree').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['repository'], + pathParams: ['repository'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets metadata of a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.get({ + * // Required. Name of the repository to retrieve. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "initialConfig": {}, + * // "instance": "my_instance", + * // "name": "my_name", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime", + * // "uris": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Repositories$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Repositories$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Repositories$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Repositories$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * Get IAM policy for a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.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/repositories/my-repositorie', + * }); + * 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$Repositories$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * Lists Repositories in a given project and location. The instance field is required in the query parameter for requests using the securesourcemanager.googleapis.com endpoint. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.list({ + * // Optional. Filter results. + * filter: 'placeholder-value', + * // Optional. The name of the instance in which the repository is hosted, formatted as `projects/{project_number\}/locations/{location_id\}/instances/{instance_id\}`. When listing repositories via securesourcemanager.googleapis.com, this field is required. When listing repositories via *.sourcemanager.dev, this field is ignored. + * instance: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListRepositoriesRequest. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "repositories": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Repositories$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Repositories$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Repositories$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Repositories$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/repositories').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 metadata of a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.patch({ + * // Optional. A unique identifier for a repository. The name should be of the format: `projects/{project\}/locations/{location_id\}/repositories/{repository_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie', + * // Optional. Field mask is used to specify the fields to be overwritten in the repository 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', + * // Optional. False by default. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "initialConfig": {}, + * // "instance": "my_instance", + * // "name": "my_name", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime", + * // "uris": {} + * // } + * }, + * }); + * 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$Repositories$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Repositories$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Repositories$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * Set IAM policy on a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.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/repositories/my-repositorie', + * + * // 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$Repositories$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Repositories$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * Test IAM permissions on a repository. IAM permission checks are not required on this method. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.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/repositories/my-repositorie', + * + * // 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$Repositories$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Repositories$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + } + + export interface Params$Resource$Projects$Locations$Repositories$Create + extends StandardParameters { + /** + * Required. The project in which to create the repository. Values are of the form `projects/{project_number\}/locations/{location_id\}` + */ + parent?: string; + /** + * Required. The ID to use for the repository, which will become the final component of the repository's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. + */ + repositoryId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Repository; + } + export interface Params$Resource$Projects$Locations$Repositories$Delete + extends StandardParameters { + /** + * Optional. If set to true, and the repository is not found, the request will succeed but no action will be taken on the server. + */ + allowMissing?: boolean; + /** + * Required. Name of the repository to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Fetchblob + extends StandardParameters { + /** + * Required. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}`. Specifies the repository containing the blob. + */ + repository?: string; + /** + * Required. The SHA-1 hash of the blob to retrieve. + */ + sha?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Fetchtree + extends StandardParameters { + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, at most 10,000 items will be returned. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Optional. If true, include all subfolders and their files in the response. If false, only the immediate children are returned. + */ + recursive?: boolean; + /** + * Optional. `ref` can be a SHA-1 hash, a branch name, or a tag. Specifies which tree to fetch. If not specified, the default branch will be used. + */ + ref?: string; + /** + * Required. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}`. Specifies the repository to fetch the tree from. + */ + repository?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Get + extends StandardParameters { + /** + * Required. Name of the repository to retrieve. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$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$Repositories$List + extends StandardParameters { + /** + * Optional. Filter results. + */ + filter?: string; + /** + * Optional. The name of the instance in which the repository is hosted, formatted as `projects/{project_number\}/locations/{location_id\}/instances/{instance_id\}`. When listing repositories via securesourcemanager.googleapis.com, this field is required. When listing repositories via *.sourcemanager.dev, this field is ignored. + */ + instance?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListRepositoriesRequest. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Patch + extends StandardParameters { + /** + * Optional. A unique identifier for a repository. The name should be of the format: `projects/{project\}/locations/{location_id\}/repositories/{repository_id\}` + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the repository 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; + /** + * Optional. False by default. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Repository; + } + export interface Params$Resource$Projects$Locations$Repositories$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$Repositories$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$Repositories$Branchrules { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * CreateBranchRule creates a branch rule in a given repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.branchRules.create( + * { + * branchRuleId: 'placeholder-value', + * + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allowStaleReviews": false, + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "disabled": false, + * // "etag": "my_etag", + * // "includePattern": "my_includePattern", + * // "minimumApprovalsCount": 0, + * // "minimumReviewsCount": 0, + * // "name": "my_name", + * // "requireCommentsResolved": false, + * // "requireLinearHistory": false, + * // "requirePullRequest": false, + * // "requiredStatusChecks": [], + * // "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$Repositories$Branchrules$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Repositories$Branchrules$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Branchrules$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Branchrules$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Branchrules$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/branchRules').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); + } + } + + /** + * DeleteBranchRule deletes a branch rule. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.branchRules.delete( + * { + * // Optional. If set to true, and the branch rule is not found, the request will succeed but no action will be taken on the server. + * allowMissing: 'placeholder-value', + * + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/branchRules/my-branchRule', + * }, + * ); + * 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$Repositories$Branchrules$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Repositories$Branchrules$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Branchrules$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Branchrules$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Branchrules$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * GetBranchRule gets a branch rule. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.branchRules.get({ + * // Required. Name of the repository to retrieve. The format is `projects/{project\}/locations/{location\}/repositories/{repository\}/branchRules/{branch_rule\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/branchRules/my-branchRule', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "allowStaleReviews": false, + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "disabled": false, + * // "etag": "my_etag", + * // "includePattern": "my_includePattern", + * // "minimumApprovalsCount": 0, + * // "minimumReviewsCount": 0, + * // "name": "my_name", + * // "requireCommentsResolved": false, + * // "requireLinearHistory": false, + * // "requirePullRequest": false, + * // "requiredStatusChecks": [], + * // "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$Repositories$Branchrules$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Repositories$Branchrules$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Branchrules$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Branchrules$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Branchrules$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * ListBranchRules lists branch rules in a given repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.branchRules.list({ + * pageSize: 'placeholder-value', + * + * pageToken: 'placeholder-value', + * + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "branchRules": [], + * // "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$Repositories$Branchrules$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Repositories$Branchrules$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Branchrules$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Branchrules$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Branchrules$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/branchRules').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); + } + } + + /** + * UpdateBranchRule updates a branch rule. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.branchRules.patch( + * { + * // Optional. A unique identifier for a BranchRule. The name should be of the format: `projects/{project\}/locations/{location\}/repositories/{repository\}/branchRules/{branch_rule\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/branchRules/my-branchRule', + * // Required. Field mask is used to specify the fields to be overwritten in the branchRule 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. The special value "*" means full replacement. + * updateMask: 'placeholder-value', + * // Optional. If set, validate the request and preview the review, but do not actually post it. (https://google.aip.dev/163, for declarative friendly) + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allowStaleReviews": false, + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "disabled": false, + * // "etag": "my_etag", + * // "includePattern": "my_includePattern", + * // "minimumApprovalsCount": 0, + * // "minimumReviewsCount": 0, + * // "name": "my_name", + * // "requireCommentsResolved": false, + * // "requireLinearHistory": false, + * // "requirePullRequest": false, + * // "requiredStatusChecks": [], + * // "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$Repositories$Branchrules$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Repositories$Branchrules$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Branchrules$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Branchrules$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Branchrules$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Branchrules$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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$Projects$Locations$Repositories$Branchrules$Create + extends StandardParameters { + /** + * + */ + branchRuleId?: string; + /** + * + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BranchRule; + } + export interface Params$Resource$Projects$Locations$Repositories$Branchrules$Delete + extends StandardParameters { + /** + * Optional. If set to true, and the branch rule is not found, the request will succeed but no action will be taken on the server. + */ + allowMissing?: boolean; + /** + * + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Branchrules$Get + extends StandardParameters { + /** + * Required. Name of the repository to retrieve. The format is `projects/{project\}/locations/{location\}/repositories/{repository\}/branchRules/{branch_rule\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Branchrules$List + extends StandardParameters { + /** + * + */ + pageSize?: number; + /** + * + */ + pageToken?: string; + /** + * + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Branchrules$Patch + extends StandardParameters { + /** + * Optional. A unique identifier for a BranchRule. The name should be of the format: `projects/{project\}/locations/{location\}/repositories/{repository\}/branchRules/{branch_rule\}` + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the branchRule 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. The special value "*" means full replacement. + */ + updateMask?: string; + /** + * Optional. If set, validate the request and preview the review, but do not actually post it. (https://google.aip.dev/163, for declarative friendly) + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$BranchRule; + } + + export class Resource$Projects$Locations$Repositories$Hooks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new hook in a given repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.hooks.create({ + * // Required. The ID to use for the hook, which will become the final component of the hook's resource name. This value restricts to lower-case letters, numbers, and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + * hookId: 'placeholder-value', + * // Required. The repository in which to create the hook. Values are of the form `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "disabled": false, + * // "events": [], + * // "name": "my_name", + * // "pushOption": {}, + * // "sensitiveQueryString": "my_sensitiveQueryString", + * // "targetUri": "my_targetUri", + * // "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$Repositories$Hooks$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Repositories$Hooks$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Hooks$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Hooks$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Hooks$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/hooks').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 Hook. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.hooks.delete({ + * // Required. Name of the hook to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/hooks/{hook_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/hooks/my-hook', + * }); + * 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$Repositories$Hooks$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Repositories$Hooks$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Hooks$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Hooks$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Hooks$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 metadata of a hook. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.hooks.get({ + * // Required. Name of the hook to retrieve. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/hooks/{hook_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/hooks/my-hook', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "disabled": false, + * // "events": [], + * // "name": "my_name", + * // "pushOption": {}, + * // "sensitiveQueryString": "my_sensitiveQueryString", + * // "targetUri": "my_targetUri", + * // "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$Repositories$Hooks$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Repositories$Hooks$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Hooks$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Hooks$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Hooks$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 hooks in a given repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.hooks.list({ + * // 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 ListHooksRequest. + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "hooks": [], + * // "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$Repositories$Hooks$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Repositories$Hooks$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Repositories$Hooks$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Hooks$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Hooks$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Hooks$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Hooks$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Hooks$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/hooks').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 metadata of a hook. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.hooks.patch({ + * // Identifier. A unique identifier for a Hook. The name should be of the format: `projects/{project\}/locations/{location_id\}/repositories/{repository_id\}/hooks/{hook_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/hooks/my-hook', + * // Required. Field mask is used to specify the fields to be overwritten in the hook 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. The special value "*" means full replacement. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "disabled": false, + * // "events": [], + * // "name": "my_name", + * // "pushOption": {}, + * // "sensitiveQueryString": "my_sensitiveQueryString", + * // "targetUri": "my_targetUri", + * // "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$Repositories$Hooks$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Repositories$Hooks$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Hooks$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Hooks$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Hooks$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Hooks$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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$Projects$Locations$Repositories$Hooks$Create + extends StandardParameters { + /** + * Required. The ID to use for the hook, which will become the final component of the hook's resource name. This value restricts to lower-case letters, numbers, and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + hookId?: string; + /** + * Required. The repository in which to create the hook. Values are of the form `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Hook; + } + export interface Params$Resource$Projects$Locations$Repositories$Hooks$Delete + extends StandardParameters { + /** + * Required. Name of the hook to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/hooks/{hook_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Hooks$Get + extends StandardParameters { + /** + * Required. Name of the hook to retrieve. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/hooks/{hook_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Hooks$List + extends StandardParameters { + /** + * 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 ListHooksRequest. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Hooks$Patch + extends StandardParameters { + /** + * Identifier. A unique identifier for a Hook. The name should be of the format: `projects/{project\}/locations/{location_id\}/repositories/{repository_id\}/hooks/{hook_id\}` + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the hook 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. The special value "*" means full replacement. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Hook; + } + + export class Resource$Projects$Locations$Repositories$Issues { + context: APIRequestContext; + issueComments: Resource$Projects$Locations$Repositories$Issues$Issuecomments; + constructor(context: APIRequestContext) { + this.context = context; + this.issueComments = + new Resource$Projects$Locations$Repositories$Issues$Issuecomments( + this.context + ); + } + + /** + * Closes an issue. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.close({ + * // Required. Name of the issue to close. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "etag": "my_etag" + * // } + * }, + * }); + * 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. + */ + close( + params: Params$Resource$Projects$Locations$Repositories$Issues$Close, + options: StreamMethodOptions + ): Promise>; + close( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Close, + options?: MethodOptions + ): Promise>; + close( + params: Params$Resource$Projects$Locations$Repositories$Issues$Close, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + close( + params: Params$Resource$Projects$Locations$Repositories$Issues$Close, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + close( + params: Params$Resource$Projects$Locations$Repositories$Issues$Close, + callback: BodyResponseCallback + ): void; + close(callback: BodyResponseCallback): void; + close( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Close + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Close; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Close; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:close').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 an issue. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.create({ + * // Required. The repository in which to create the issue. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "body": "my_body", + * // "closeTime": "my_closeTime", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "name": "my_name", + * // "state": "my_state", + * // "title": "my_title", + * // "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$Repositories$Issues$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Repositories$Issues$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Issues$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Issues$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/issues').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 issue. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.delete({ + * // Optional. The current etag of the issue. If the etag is provided and does not match the current etag of the issue, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. Name of the issue to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue', + * }); + * 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$Repositories$Issues$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Repositories$Issues$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Issues$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Issues$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 an issue. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.get({ + * // Required. Name of the issue to retrieve. The format is `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "body": "my_body", + * // "closeTime": "my_closeTime", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "name": "my_name", + * // "state": "my_state", + * // "title": "my_title", + * // "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$Repositories$Issues$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Repositories$Issues$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Issues$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Issues$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 issues in a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.list({ + * // Optional. Used to filter the resulting issues list. + * 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 repository in which to list issues. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "issues": [], + * // "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$Repositories$Issues$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Repositories$Issues$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Repositories$Issues$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Issues$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Issues$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/issues').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); + } + } + + /** + * Opens an issue. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.open({ + * // Required. Name of the issue to open. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "etag": "my_etag" + * // } + * }, + * }); + * 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. + */ + open( + params: Params$Resource$Projects$Locations$Repositories$Issues$Open, + options: StreamMethodOptions + ): Promise>; + open( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Open, + options?: MethodOptions + ): Promise>; + open( + params: Params$Resource$Projects$Locations$Repositories$Issues$Open, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + open( + params: Params$Resource$Projects$Locations$Repositories$Issues$Open, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + open( + params: Params$Resource$Projects$Locations$Repositories$Issues$Open, + callback: BodyResponseCallback + ): void; + open(callback: BodyResponseCallback): void; + open( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Open + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Open; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Open; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:open').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); + } + } + + /** + * Updates a issue. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.patch({ + * // Identifier. Unique identifier for an issue. The issue id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue', + * // Optional. Field mask is used to specify the fields to be overwritten in the issue 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. The special value "*" means full replacement. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "body": "my_body", + * // "closeTime": "my_closeTime", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "name": "my_name", + * // "state": "my_state", + * // "title": "my_title", + * // "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$Repositories$Issues$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Repositories$Issues$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Issues$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Issues$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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$Projects$Locations$Repositories$Issues$Close + extends StandardParameters { + /** + * Required. Name of the issue to close. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CloseIssueRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Create + extends StandardParameters { + /** + * Required. The repository in which to create the issue. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Issue; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Delete + extends StandardParameters { + /** + * Optional. The current etag of the issue. If the etag is provided and does not match the current etag of the issue, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. Name of the issue to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Get + extends StandardParameters { + /** + * Required. Name of the issue to retrieve. The format is `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$List + extends StandardParameters { + /** + * Optional. Used to filter the resulting issues list. + */ + 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 repository in which to list issues. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Open + extends StandardParameters { + /** + * Required. Name of the issue to open. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$OpenIssueRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Patch + extends StandardParameters { + /** + * Identifier. Unique identifier for an issue. The issue id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue_id\}` + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the issue 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. The special value "*" means full replacement. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Issue; + } + + export class Resource$Projects$Locations$Repositories$Issues$Issuecomments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an issue comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.issueComments.create( + * { + * // Required. The issue in which to create the issue comment. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "body": "my_body", + * // "createTime": "my_createTime", + * // "name": "my_name", + * // "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$Repositories$Issues$Issuecomments$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/issueComments').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 issue comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.issueComments.delete( + * { + * // Required. Name of the issue comment to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}/issueComments/{comment_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue/issueComments/my-issueComment', + * }, + * ); + * 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$Repositories$Issues$Issuecomments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 an issue comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.issueComments.get( + * { + * // Required. Name of the issue comment to retrieve. The format is `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue_id\}/issueComments/{comment_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue/issueComments/my-issueComment', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "body": "my_body", + * // "createTime": "my_createTime", + * // "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$Repositories$Issues$Issuecomments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 comments in an issue. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.issueComments.list( + * { + * // 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 issue in which to list the comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "issueComments": [], + * // "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$Repositories$Issues$Issuecomments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/issueComments').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 issue comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.issues.issueComments.patch( + * { + * // Identifier. Unique identifier for an issue comment. The comment id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue\}/issueComments/{comment_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/issues/my-issue/issueComments/my-issueComment', + * // Optional. Field mask is used to specify the fields to be overwritten in the issue comment 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. The special value "*" means full replacement. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "body": "my_body", + * // "createTime": "my_createTime", + * // "name": "my_name", + * // "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$Repositories$Issues$Issuecomments$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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$Projects$Locations$Repositories$Issues$Issuecomments$Create + extends StandardParameters { + /** + * Required. The issue in which to create the issue comment. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$IssueComment; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Delete + extends StandardParameters { + /** + * Required. Name of the issue comment to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}/issueComments/{comment_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Get + extends StandardParameters { + /** + * Required. Name of the issue comment to retrieve. The format is `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue_id\}/issueComments/{comment_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$List + extends StandardParameters { + /** + * 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 issue in which to list the comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/issues/{issue_id\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Issues$Issuecomments$Patch + extends StandardParameters { + /** + * Identifier. Unique identifier for an issue comment. The comment id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/issues/{issue\}/issueComments/{comment_id\}` + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the issue comment 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. The special value "*" means full replacement. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$IssueComment; + } + + export class Resource$Projects$Locations$Repositories$Pullrequests { + context: APIRequestContext; + pullRequestComments: Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments; + constructor(context: APIRequestContext) { + this.context = context; + this.pullRequestComments = + new Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments( + this.context + ); + } + + /** + * Closes a pull request without merging. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.close( + * { + * // Required. The pull request to close. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * + * // 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. + */ + close( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Close, + options: StreamMethodOptions + ): Promise>; + close( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Close, + options?: MethodOptions + ): Promise>; + close( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Close, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + close( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Close, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + close( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Close, + callback: BodyResponseCallback + ): void; + close(callback: BodyResponseCallback): void; + close( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Close + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Close; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Close; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:close').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 pull request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.create( + * { + * // Required. The repository that the pull request is created from. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "base": {}, + * // "body": "my_body", + * // "closeTime": "my_closeTime", + * // "createTime": "my_createTime", + * // "head": {}, + * // "name": "my_name", + * // "state": "my_state", + * // "title": "my_title", + * // "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$Repositories$Pullrequests$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/pullRequests').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 pull request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.get({ + * // Required. Name of the pull request to retrieve. The format is `projects/{project\}/locations/{location\}/repositories/{repository\}/pullRequests/{pull_request\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "base": {}, + * // "body": "my_body", + * // "closeTime": "my_closeTime", + * // "createTime": "my_createTime", + * // "head": {}, + * // "name": "my_name", + * // "state": "my_state", + * // "title": "my_title", + * // "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$Repositories$Pullrequests$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 pull requests in a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.list( + * { + * // 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 repository in which to list pull requests. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "pullRequests": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Repositories$Pullrequests$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/pullRequests').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 a pull request's file diffs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.listFileDiffs( + * { + * // Required. The pull request to list file diffs for. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * // 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', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "fileDiffs": [], + * // "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. + */ + listFileDiffs( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs, + options: StreamMethodOptions + ): Promise>; + listFileDiffs( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listFileDiffs( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listFileDiffs( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listFileDiffs( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs, + callback: BodyResponseCallback + ): void; + listFileDiffs( + callback: BodyResponseCallback + ): void; + listFileDiffs( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:listFileDiffs').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 + ); + } + } + + /** + * Merges a pull request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.merge( + * { + * // Required. The pull request to merge. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * + * // 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. + */ + merge( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge, + options: StreamMethodOptions + ): Promise>; + merge( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge, + options?: MethodOptions + ): Promise>; + merge( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + merge( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + merge( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge, + callback: BodyResponseCallback + ): void; + merge(callback: BodyResponseCallback): void; + merge( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:merge').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); + } + } + + /** + * Opens a pull request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.open( + * { + * // Required. The pull request to open. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * + * // 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. + */ + open( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Open, + options: StreamMethodOptions + ): Promise>; + open( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Open, + options?: MethodOptions + ): Promise>; + open( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Open, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + open( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Open, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + open( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Open, + callback: BodyResponseCallback + ): void; + open(callback: BodyResponseCallback): void; + open( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Open + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Open; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Open; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:open').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); + } + } + + /** + * Updates a pull request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.patch( + * { + * // Output only. A unique identifier for a PullRequest. The number appended at the end is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/pullRequests/{pull_request_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * // Optional. Field mask is used to specify the fields to be overwritten in the pull request 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. The special value "*" means full replacement. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "base": {}, + * // "body": "my_body", + * // "closeTime": "my_closeTime", + * // "createTime": "my_createTime", + * // "head": {}, + * // "name": "my_name", + * // "state": "my_state", + * // "title": "my_title", + * // "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$Repositories$Pullrequests$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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$Projects$Locations$Repositories$Pullrequests$Close + extends StandardParameters { + /** + * Required. The pull request to close. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ClosePullRequestRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Create + extends StandardParameters { + /** + * Required. The repository that the pull request is created from. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PullRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Get + extends StandardParameters { + /** + * Required. Name of the pull request to retrieve. The format is `projects/{project\}/locations/{location\}/repositories/{repository\}/pullRequests/{pull_request\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$List + extends StandardParameters { + /** + * 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 repository in which to list pull requests. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Listfilediffs + extends StandardParameters { + /** + * Required. The pull request to list file diffs for. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + name?: 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; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Merge + extends StandardParameters { + /** + * Required. The pull request to merge. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MergePullRequestRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Open + extends StandardParameters { + /** + * Required. The pull request to open. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$OpenPullRequestRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Patch + extends StandardParameters { + /** + * Output only. A unique identifier for a PullRequest. The number appended at the end is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/pullRequests/{pull_request_id\}` + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the pull request 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. The special value "*" means full replacement. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PullRequest; + } + + export class Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Batch creates pull request comments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.batchCreate( + * { + * // Required. The pull request in which to create the pull request comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "requests": [] + * // } + * }, + * }, + * ); + * 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. + */ + batchCreate( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Batchcreate, + options: StreamMethodOptions + ): Promise>; + batchCreate( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Batchcreate, + options?: MethodOptions + ): Promise>; + batchCreate( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Batchcreate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchCreate( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Batchcreate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchCreate( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Batchcreate, + callback: BodyResponseCallback + ): void; + batchCreate(callback: BodyResponseCallback): void; + batchCreate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Batchcreate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Batchcreate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Batchcreate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+parent}/pullRequestComments: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); + } + } + + /** + * Creates a pull request comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.create( + * { + * // Required. The pull request in which to create the pull request comment. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "code": {}, + * // "comment": {}, + * // "createTime": "my_createTime", + * // "name": "my_name", + * // "review": {}, + * // "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$Repositories$Pullrequests$Pullrequestcomments$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/pullRequestComments').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 pull request comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.delete( + * { + * // Required. Name of the pull request comment to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}/pullRequestComments/{comment_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest/pullRequestComments/my-pullRequestComment', + * }, + * ); + * 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$Repositories$Pullrequests$Pullrequestcomments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 a pull request comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.get( + * { + * // Required. Name of the pull request comment to retrieve. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}/pullRequestComments/{comment_id\}`. + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest/pullRequestComments/my-pullRequestComment', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "code": {}, + * // "comment": {}, + * // "createTime": "my_createTime", + * // "name": "my_name", + * // "review": {}, + * // "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$Repositories$Pullrequests$Pullrequestcomments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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 pull request comments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.list( + * { + * // Optional. Requested page size. If unspecified, at most 100 pull request comments will be returned. The maximum value is 100; values above 100 will be coerced to 100. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. The pull request in which to list pull request comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "pullRequestComments": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Repositories$Pullrequests$Pullrequestcomments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/pullRequestComments').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 pull request comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.patch( + * { + * // Identifier. Unique identifier for the pull request comment. The comment id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/pullRequests/{pull_request\}/pullRequestComments/{comment_id\}` + * name: 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest/pullRequestComments/my-pullRequestComment', + * // Optional. Field mask is used to specify the fields to be overwritten in the pull request comment resource by the update. Updatable fields are `body`. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "code": {}, + * // "comment": {}, + * // "createTime": "my_createTime", + * // "name": "my_name", + * // "review": {}, + * // "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$Repositories$Pullrequests$Pullrequestcomments$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.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); + } + } + + /** + * Resolves pull request comments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.resolve( + * { + * // Required. The pull request in which to resolve the pull request comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "autoFill": false, + * // "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. + */ + resolve( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve, + options: StreamMethodOptions + ): Promise>; + resolve( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve, + options?: MethodOptions + ): Promise>; + resolve( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resolve( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resolve( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve, + callback: BodyResponseCallback + ): void; + resolve(callback: BodyResponseCallback): void; + resolve( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+parent}/pullRequestComments:resolve' + ).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); + } + } + + /** + * Unresolves pull request comment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/securesourcemanager.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const securesourcemanager = google.securesourcemanager('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 securesourcemanager.projects.locations.repositories.pullRequests.pullRequestComments.unresolve( + * { + * // Required. The pull request in which to resolve the pull request comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie/pullRequests/my-pullRequest', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "autoFill": false, + * // "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. + */ + unresolve( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve, + options: StreamMethodOptions + ): Promise>; + unresolve( + params?: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve, + options?: MethodOptions + ): Promise>; + unresolve( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + unresolve( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + unresolve( + params: Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve, + callback: BodyResponseCallback + ): void; + unresolve(callback: BodyResponseCallback): void; + unresolve( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securesourcemanager.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+parent}/pullRequestComments:unresolve' + ).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$Repositories$Pullrequests$Pullrequestcomments$Batchcreate + extends StandardParameters { + /** + * Required. The pull request in which to create the pull request comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BatchCreatePullRequestCommentsRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Create + extends StandardParameters { + /** + * Required. The pull request in which to create the pull request comment. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PullRequestComment; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Delete + extends StandardParameters { + /** + * Required. Name of the pull request comment to delete. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}/pullRequestComments/{comment_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Get + extends StandardParameters { + /** + * Required. Name of the pull request comment to retrieve. The format is `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}/pullRequestComments/{comment_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$List + extends StandardParameters { + /** + * Optional. Requested page size. If unspecified, at most 100 pull request comments will be returned. The maximum value is 100; values above 100 will be coerced to 100. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The pull request in which to list pull request comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Patch + extends StandardParameters { + /** + * Identifier. Unique identifier for the pull request comment. The comment id is generated by the server. Format: `projects/{project\}/locations/{location\}/repositories/{repository\}/pullRequests/{pull_request\}/pullRequestComments/{comment_id\}` + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the pull request comment resource by the update. Updatable fields are `body`. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PullRequestComment; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Resolve + extends StandardParameters { + /** + * Required. The pull request in which to resolve the pull request comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ResolvePullRequestCommentsRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Pullrequests$Pullrequestcomments$Unresolve + extends StandardParameters { + /** + * Required. The pull request in which to resolve the pull request comments. Format: `projects/{project_number\}/locations/{location_id\}/repositories/{repository_id\}/pullRequests/{pull_request_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UnresolvePullRequestCommentsRequest; + } +} diff --git a/src/apis/securesourcemanager/webpack.config.js b/src/apis/securesourcemanager/webpack.config.js new file mode 100644 index 00000000000..54ff60b95e3 --- /dev/null +++ b/src/apis/securesourcemanager/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: 'Securesourcemanager', + filename: 'securesourcemanager.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: [], +}; From 64f276172cb415495c257bc49aa4fba75a4c8eb2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 29/37] feat(transcoder): update the API #### transcoder:v1 The following keys were added: - schemas.Input.properties.attributes.$ref - schemas.Input.properties.attributes.description - schemas.InputAttributes.description - schemas.InputAttributes.id - schemas.InputAttributes.properties.trackDefinitions.description - schemas.InputAttributes.properties.trackDefinitions.items.$ref - schemas.InputAttributes.properties.trackDefinitions.type - schemas.InputAttributes.type - schemas.TrackDefinition.description - schemas.TrackDefinition.id - schemas.TrackDefinition.properties.detectLanguages.description - schemas.TrackDefinition.properties.detectLanguages.type - schemas.TrackDefinition.properties.detectedLanguages.description - schemas.TrackDefinition.properties.detectedLanguages.items.type - schemas.TrackDefinition.properties.detectedLanguages.readOnly - schemas.TrackDefinition.properties.detectedLanguages.type - schemas.TrackDefinition.properties.inputTrack.description - schemas.TrackDefinition.properties.inputTrack.format - schemas.TrackDefinition.properties.inputTrack.type - schemas.TrackDefinition.properties.languages.description - schemas.TrackDefinition.properties.languages.items.type - schemas.TrackDefinition.properties.languages.type - schemas.TrackDefinition.type --- discovery/transcoder-v1.json | 51 +++++++++++++++++++++++++++++++++++- src/apis/transcoder/v1.ts | 34 ++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) diff --git a/discovery/transcoder-v1.json b/discovery/transcoder-v1.json index fbbc50f9dfe..821b0e0373e 100644 --- a/discovery/transcoder-v1.json +++ b/discovery/transcoder-v1.json @@ -385,7 +385,7 @@ } } }, - "revision": "20250630", + "revision": "20250723", "rootUrl": "https://transcoder.googleapis.com/", "schemas": { "AdBreak": { @@ -1155,6 +1155,10 @@ "description": "Input asset.", "id": "Input", "properties": { + "attributes": { + "$ref": "InputAttributes", + "description": "Optional. Input Attributes." + }, "key": { "description": "A unique key for this input. Must be specified when using advanced mapping and edit lists.", "type": "string" @@ -1170,6 +1174,20 @@ }, "type": "object" }, + "InputAttributes": { + "description": "Input attributes that provide additional information about the input asset.", + "id": "InputAttributes", + "properties": { + "trackDefinitions": { + "description": "Optional. A list of track definitions for the input asset.", + "items": { + "$ref": "TrackDefinition" + }, + "type": "array" + } + }, + "type": "object" + }, "Job": { "description": "Transcoding job resource.", "id": "Job", @@ -1814,6 +1832,37 @@ }, "type": "object" }, + "TrackDefinition": { + "description": "Track definition for the input asset.", + "id": "TrackDefinition", + "properties": { + "detectLanguages": { + "description": "Optional. Whether to automatically detect the languages present in the track. If true, the system will attempt to identify all the languages present in the track and populate the languages field.", + "type": "boolean" + }, + "detectedLanguages": { + "description": "Output only. A list of languages detected in the input asset, represented by a BCP 47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see https://www.unicode.org/reports/tr35/#Unicode_locale_identifier. This field is only populated if the detect_languages field is set to true.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "inputTrack": { + "description": "The input track.", + "format": "int32", + "type": "integer" + }, + "languages": { + "description": "Optional. A list of languages spoken in the input asset, represented by a BCP 47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "VideoStream": { "description": "Video stream resource.", "id": "VideoStream", diff --git a/src/apis/transcoder/v1.ts b/src/apis/transcoder/v1.ts index d71d23dc849..89d0a06d47c 100644 --- a/src/apis/transcoder/v1.ts +++ b/src/apis/transcoder/v1.ts @@ -731,6 +731,10 @@ export namespace transcoder_v1 { * Input asset. */ export interface Schema$Input { + /** + * Optional. Input Attributes. + */ + attributes?: Schema$InputAttributes; /** * A unique key for this input. Must be specified when using advanced mapping and edit lists. */ @@ -744,6 +748,15 @@ export namespace transcoder_v1 { */ uri?: string | null; } + /** + * Input attributes that provide additional information about the input asset. + */ + export interface Schema$InputAttributes { + /** + * Optional. A list of track definitions for the input asset. + */ + trackDefinitions?: Schema$TrackDefinition[]; + } /** * Transcoding job resource. */ @@ -1208,6 +1221,27 @@ export namespace transcoder_v1 { */ mapping?: Schema$TextMapping[]; } + /** + * Track definition for the input asset. + */ + export interface Schema$TrackDefinition { + /** + * Output only. A list of languages detected in the input asset, represented by a BCP 47 language code, such as "en-US" or "sr-Latn". For more information, see https://www.unicode.org/reports/tr35/#Unicode_locale_identifier. This field is only populated if the detect_languages field is set to true. + */ + detectedLanguages?: string[] | null; + /** + * Optional. Whether to automatically detect the languages present in the track. If true, the system will attempt to identify all the languages present in the track and populate the languages field. + */ + detectLanguages?: boolean | null; + /** + * The input track. + */ + inputTrack?: number | null; + /** + * Optional. A list of languages spoken in the input asset, represented by a BCP 47 language code, such as "en-US" or "sr-Latn". For more information, see https://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + */ + languages?: string[] | null; + } /** * Video stream resource. */ From df07d8826bd9b944a2b3804d525999aa25eb5580 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 30/37] fix(vmmigration): update the API #### vmmigration:v1alpha1 The following keys were changed: - schemas.NetworkInterface.properties.network.description #### vmmigration:v1 The following keys were changed: - schemas.NetworkInterface.properties.network.description --- discovery/vmmigration-v1.json | 4 ++-- discovery/vmmigration-v1alpha1.json | 4 ++-- src/apis/vmmigration/v1.ts | 2 +- src/apis/vmmigration/v1alpha1.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/discovery/vmmigration-v1.json b/discovery/vmmigration-v1.json index 04f72f52587..f51090fcbbf 100644 --- a/discovery/vmmigration-v1.json +++ b/discovery/vmmigration-v1.json @@ -2254,7 +2254,7 @@ } } }, - "revision": "20250717", + "revision": "20250724", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AccessKeyCredentials": { @@ -5151,7 +5151,7 @@ "type": "string" }, "network": { - "description": "The network to connect the NIC to.", + "description": "Optional. The network to connect the NIC to.", "type": "string" }, "networkTier": { diff --git a/discovery/vmmigration-v1alpha1.json b/discovery/vmmigration-v1alpha1.json index 854e45623eb..0d5bf58bec7 100644 --- a/discovery/vmmigration-v1alpha1.json +++ b/discovery/vmmigration-v1alpha1.json @@ -2254,7 +2254,7 @@ } } }, - "revision": "20250717", + "revision": "20250724", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AccessKeyCredentials": { @@ -5196,7 +5196,7 @@ "type": "string" }, "network": { - "description": "The network to connect the NIC to.", + "description": "Optional. The network to connect the NIC to.", "type": "string" }, "networkTier": { diff --git a/src/apis/vmmigration/v1.ts b/src/apis/vmmigration/v1.ts index 09e6be9f22d..50156e05aac 100644 --- a/src/apis/vmmigration/v1.ts +++ b/src/apis/vmmigration/v1.ts @@ -1985,7 +1985,7 @@ export namespace vmmigration_v1 { */ internalIp?: string | null; /** - * The network to connect the NIC to. + * Optional. The network to connect the NIC to. */ network?: string | null; /** diff --git a/src/apis/vmmigration/v1alpha1.ts b/src/apis/vmmigration/v1alpha1.ts index ac3516bf7e8..c0c5264eb70 100644 --- a/src/apis/vmmigration/v1alpha1.ts +++ b/src/apis/vmmigration/v1alpha1.ts @@ -2014,7 +2014,7 @@ export namespace vmmigration_v1alpha1 { */ internalIp?: string | null; /** - * The network to connect the NIC to. + * Optional. The network to connect the NIC to. */ network?: string | null; /** From 66ec998679ac11a0963f5559aa503c9cbac33c1b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 31/37] feat(workloadmanager): update the API #### workloadmanager:v1 The following keys were added: - schemas.AgentStates.description - schemas.AgentStates.id - schemas.AgentStates.properties.availableVersion.description - schemas.AgentStates.properties.availableVersion.type - schemas.AgentStates.properties.installedVersion.description - schemas.AgentStates.properties.installedVersion.type - schemas.AgentStates.type - schemas.Evaluation.properties.kmsKey.description - schemas.Evaluation.properties.kmsKey.type - schemas.SapInstanceProperties.properties.agentStates.$ref - schemas.SapInstanceProperties.properties.agentStates.description --- discovery/workloadmanager-v1.json | 25 ++++++++++++++++++++++++- src/apis/workloadmanager/v1.ts | 23 +++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/discovery/workloadmanager-v1.json b/discovery/workloadmanager-v1.json index f534efe273c..cce3b743284 100644 --- a/discovery/workloadmanager-v1.json +++ b/discovery/workloadmanager-v1.json @@ -879,7 +879,7 @@ } } }, - "revision": "20250714", + "revision": "20250727", "rootUrl": "https://workloadmanager.googleapis.com/", "schemas": { "AgentCommand": { @@ -900,6 +900,21 @@ }, "type": "object" }, + "AgentStates": { + "description": "Agent status.", + "id": "AgentStates", + "properties": { + "availableVersion": { + "description": "Optional. The available version of the agent in artifact registry.", + "type": "string" + }, + "installedVersion": { + "description": "Optional. The installed version of the agent on the host.", + "type": "string" + } + }, + "type": "object" + }, "AgentStatus": { "description": "The schema of agent status data.", "id": "AgentStatus", @@ -1367,6 +1382,10 @@ ], "type": "string" }, + "kmsKey": { + "description": "Optional. Immutable. Customer-managed encryption key name, in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.", + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -2807,6 +2826,10 @@ "description": "SAP instance properties.", "id": "SapInstanceProperties", "properties": { + "agentStates": { + "$ref": "AgentStates", + "description": "Optional. Sap Instance Agent status." + }, "numbers": { "description": "Optional. SAP Instance numbers. They are from '00' to '99'.", "items": { diff --git a/src/apis/workloadmanager/v1.ts b/src/apis/workloadmanager/v1.ts index 7d7344339b6..372a35d9198 100644 --- a/src/apis/workloadmanager/v1.ts +++ b/src/apis/workloadmanager/v1.ts @@ -137,6 +137,19 @@ export namespace workloadmanager_v1 { */ parameters?: {[key: string]: string} | null; } + /** + * Agent status. + */ + export interface Schema$AgentStates { + /** + * Optional. The available version of the agent in artifact registry. + */ + availableVersion?: string | null; + /** + * Optional. The installed version of the agent on the host. + */ + installedVersion?: string | null; + } /** * The schema of agent status data. */ @@ -371,6 +384,10 @@ export namespace workloadmanager_v1 { * Evaluation type */ evaluationType?: string | null; + /** + * Optional. Immutable. Customer-managed encryption key name, in the format projects/x/locations/x/keyRings/x/cryptoKeys/x. + */ + kmsKey?: string | null; /** * Labels as key value pairs */ @@ -1345,6 +1362,10 @@ export namespace workloadmanager_v1 { * SAP instance properties. */ export interface Schema$SapInstanceProperties { + /** + * Optional. Sap Instance Agent status. + */ + agentStates?: Schema$AgentStates; /** * Optional. SAP Instance numbers. They are from '00' to '99'. */ @@ -2217,6 +2238,7 @@ export namespace workloadmanager_v1 { * // "customRulesBucket": "my_customRulesBucket", * // "description": "my_description", * // "evaluationType": "my_evaluationType", + * // "kmsKey": "my_kmsKey", * // "labels": {}, * // "name": "my_name", * // "resourceFilter": {}, @@ -2522,6 +2544,7 @@ export namespace workloadmanager_v1 { * // "customRulesBucket": "my_customRulesBucket", * // "description": "my_description", * // "evaluationType": "my_evaluationType", + * // "kmsKey": "my_kmsKey", * // "labels": {}, * // "name": "my_name", * // "resourceFilter": {}, From 53cc241c12a1a8ebffa3f0a80e7b2c735fb82bbe Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 32/37] fix(workstations): update the API #### workstations:v1beta The following keys were changed: - schemas.GceInstance.properties.reservationAffinity.description - schemas.ReservationAffinity.properties.values.description --- discovery/workstations-v1beta.json | 6 +++--- src/apis/workstations/v1beta.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/discovery/workstations-v1beta.json b/discovery/workstations-v1beta.json index c71b4d120ee..58100d1e78d 100644 --- a/discovery/workstations-v1beta.json +++ b/discovery/workstations-v1beta.json @@ -1142,7 +1142,7 @@ } } }, - "revision": "20250716", + "revision": "20250729", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -1460,7 +1460,7 @@ }, "reservationAffinity": { "$ref": "ReservationAffinity", - "description": "Optional. [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) specifies a reservation that can be consumed to create boost VM instances. If SPECIFIC_RESERVATION is specified, Cloud Workstations will only create VMs in the zone where the reservation is located. This would affect availability since the service will no longer be resilient to zonal outages. If ANY_RESERVATION is specified, creating reservations in both zones that the config creates VMs in will ensure higher availability. **Important Considerations for Reservation Affinity:** * This feature is intended for advanced users and requires familiarity with Google Compute Engine reservations. * Using reservations incurs charges, regardless of utilization. * The resources in the pool will consume the specified reservation. Take this into account when setting the pool size." + "description": "Optional. [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) specifies a reservation that can be consumed to create VM instances. If SPECIFIC_RESERVATION is specified, Cloud Workstations will only create VMs in the zone where the reservation is located. This would affect availability since the service will no longer be resilient to zonal outages. If ANY_RESERVATION is specified, creating reservations in both zones that the config creates VMs in will ensure higher availability. **Important Considerations for Reservation Affinity:** * This feature is intended for advanced users and requires familiarity with Google Compute Engine reservations. * Using reservations incurs charges, regardless of utilization. * The resources in the pool will consume the specified reservation. Take this into account when setting the pool size." }, "serviceAccount": { "description": "Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logging.logEntries.create` and `monitoring.timeSeries.create` permissions on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.", @@ -2020,7 +2020,7 @@ "type": "string" }, "values": { - "description": "Optional. Corresponds to the label values of reservation resources. Valid values are either a name to a reservation in the same project or \"projects/{project}/reservations/{reservation}\" to target a shared reservation in the same zone but in a different project.", + "description": "Optional. Corresponds to the label values of reservation resources. Valid values are either the name of a reservation in the same project or \"projects/{project}/reservations/{reservation}\" to target a shared reservation in the same zone but in a different project.", "items": { "type": "string" }, diff --git a/src/apis/workstations/v1beta.ts b/src/apis/workstations/v1beta.ts index 1422bdfeef6..fd336a6349a 100644 --- a/src/apis/workstations/v1beta.ts +++ b/src/apis/workstations/v1beta.ts @@ -365,7 +365,7 @@ export namespace workstations_v1beta { */ poolSize?: number | null; /** - * Optional. [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) specifies a reservation that can be consumed to create boost VM instances. If SPECIFIC_RESERVATION is specified, Cloud Workstations will only create VMs in the zone where the reservation is located. This would affect availability since the service will no longer be resilient to zonal outages. If ANY_RESERVATION is specified, creating reservations in both zones that the config creates VMs in will ensure higher availability. **Important Considerations for Reservation Affinity:** * This feature is intended for advanced users and requires familiarity with Google Compute Engine reservations. * Using reservations incurs charges, regardless of utilization. * The resources in the pool will consume the specified reservation. Take this into account when setting the pool size. + * Optional. [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) specifies a reservation that can be consumed to create VM instances. If SPECIFIC_RESERVATION is specified, Cloud Workstations will only create VMs in the zone where the reservation is located. This would affect availability since the service will no longer be resilient to zonal outages. If ANY_RESERVATION is specified, creating reservations in both zones that the config creates VMs in will ensure higher availability. **Important Considerations for Reservation Affinity:** * This feature is intended for advanced users and requires familiarity with Google Compute Engine reservations. * Using reservations incurs charges, regardless of utilization. * The resources in the pool will consume the specified reservation. Take this into account when setting the pool size. */ reservationAffinity?: Schema$ReservationAffinity; /** @@ -775,7 +775,7 @@ export namespace workstations_v1beta { */ key?: string | null; /** - * Optional. Corresponds to the label values of reservation resources. Valid values are either a name to a reservation in the same project or "projects/{project\}/reservations/{reservation\}" to target a shared reservation in the same zone but in a different project. + * Optional. Corresponds to the label values of reservation resources. Valid values are either the name of a reservation in the same project or "projects/{project\}/reservations/{reservation\}" to target a shared reservation in the same zone but in a different project. */ values?: string[] | null; } From 9ef5c9ac58e3eb58dbd24d11697cb12e3d33c1ff Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Mon, 4 Aug 2025 01:39:36 +0000 Subject: [PATCH 33/37] feat: regenerate index files --- disclaimers.json | 4 ++++ discovery/accessapproval-v1.json | 8 +++++++- discovery/healthcare-v1.json | 10 +++++----- discovery/healthcare-v1beta1.json | 10 +++++----- discovery/index.json | 15 +++++++++++++++ discovery/kmsinventory-v1.json | 20 +++++++++++++++++--- discovery/testing-v1.json | 26 +++++++++++++++++++++----- src/apis/index.ts | 6 ++++++ src/index.ts | 1 + 9 files changed, 81 insertions(+), 19 deletions(-) diff --git a/disclaimers.json b/disclaimers.json index 245109527dd..0664fd3a383 100644 --- a/disclaimers.json +++ b/disclaimers.json @@ -619,6 +619,10 @@ "api": "chronicle", "package": "@google-cloud/chronicle" }, + { + "api": "configdelivery", + "package": "@google-cloud/configdelivery" + }, { "api": "css", "package": "@google-shopping/css" diff --git a/discovery/accessapproval-v1.json b/discovery/accessapproval-v1.json index 0e96674b122..ae8db8966e1 100644 --- a/discovery/accessapproval-v1.json +++ b/discovery/accessapproval-v1.json @@ -913,7 +913,7 @@ } } }, - "revision": "20250617", + "revision": "20250728", "rootUrl": "https://accessapproval.googleapis.com/", "schemas": { "AccessApprovalServiceAccount": { @@ -1333,6 +1333,9 @@ "HMAC_SHA512", "HMAC_SHA224", "EXTERNAL_SYMMETRIC_ENCRYPTION", + "ML_KEM_768", + "ML_KEM_1024", + "KEM_XWING", "PQ_SIGN_ML_DSA_65", "PQ_SIGN_SLH_DSA_SHA2_128S", "PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256" @@ -1374,6 +1377,9 @@ "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", "Algorithm representing symmetric encryption by an external key manager.", + "ML-KEM-768 (FIPS 203)", + "ML-KEM-1024 (FIPS 203)", + "X-Wing hybrid KEM combining ML-KEM-768 with X25519 following datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/.", "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version.", "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized pre-hash version supporting SHA256 digests." diff --git a/discovery/healthcare-v1.json b/discovery/healthcare-v1.json index ca0fb6ac299..7433bf6a451 100644 --- a/discovery/healthcare-v1.json +++ b/discovery/healthcare-v1.json @@ -2412,7 +2412,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveStudyMetadata returns instance associated with the given study presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", + "description": "RetrieveStudyMetadata returns instance associated with the given study presented as metadata. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata", @@ -2623,7 +2623,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", + "description": "RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata", @@ -2797,7 +2797,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", + "description": "RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata", @@ -2874,7 +2874,7 @@ "bulkdata": { "methods": { "retrieveBulkdata": { - "description": "Returns uncompressed, unencoded bytes representing the referenced bulkdata tag from an instance. See [Retrieve Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4){: .external}. For details on the implementation of RetrieveBulkdata, see [Bulkdata resources](https://cloud.google.com/healthcare/docs/dicom#bulkdata-resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveBulkdata, see [Retrieve bulkdata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-bulkdata).", + "description": "Returns uncompressed, unencoded bytes representing the referenced bulkdata tag from an instance. See [Retrieve Transaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveBulkdata, see [Bulkdata resources](https://cloud.google.com/healthcare/docs/dicom#bulkdata-resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveBulkdata, see [Retrieve bulkdata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-bulkdata).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/bulkdata/{bulkdataId}/{bulkdataId1}", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.bulkdata.retrieveBulkdata", @@ -5132,7 +5132,7 @@ } } }, - "revision": "20250625", + "revision": "20250710", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "AccessDeterminationLogConfig": { diff --git a/discovery/healthcare-v1beta1.json b/discovery/healthcare-v1beta1.json index 1b22ef72df7..e86687ad68d 100644 --- a/discovery/healthcare-v1beta1.json +++ b/discovery/healthcare-v1beta1.json @@ -2506,7 +2506,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveStudyMetadata returns instance associated with the given study presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", + "description": "RetrieveStudyMetadata returns instance associated with the given study presented as metadata. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata", @@ -2717,7 +2717,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", + "description": "RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata", @@ -2891,7 +2891,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata with the bulk data removed. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", + "description": "RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata. See [RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata", @@ -2968,7 +2968,7 @@ "bulkdata": { "methods": { "retrieveBulkdata": { - "description": "Returns uncompressed, unencoded bytes representing the referenced bulkdata tag from an instance. See [Retrieve Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4){: .external}. For details on the implementation of RetrieveBulkdata, see [Bulkdata resources](https://cloud.google.com/healthcare/docs/dicom#bulkdata-resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveBulkdata, see [Retrieve bulkdata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-bulkdata).", + "description": "Returns uncompressed, unencoded bytes representing the referenced bulkdata tag from an instance. See [Retrieve Transaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveBulkdata, see [Bulkdata resources](https://cloud.google.com/healthcare/docs/dicom#bulkdata-resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveBulkdata, see [Retrieve bulkdata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-bulkdata).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/bulkdata/{bulkdataId}/{bulkdataId1}", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.bulkdata.retrieveBulkdata", @@ -5588,7 +5588,7 @@ } } }, - "revision": "20250625", + "revision": "20250710", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "AccessDeterminationLogConfig": { diff --git a/discovery/index.json b/discovery/index.json index 2689eda987f..ea8a1b8de0e 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -6006,6 +6006,21 @@ "title": "Secret Manager API", "version": "v1" }, + { + "description": "Regionally deployed, single-tenant managed source code repository hosted on Google Cloud.", + "discoveryRestUrl": "https://securesourcemanager.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://cloud.google.com/secure-source-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": "securesourcemanager:v1", + "kind": "discovery#directoryItem", + "name": "securesourcemanager", + "preferred": true, + "title": "Secure Source Manager API", + "version": "v1" + }, { "description": "Security Command Center API provides access to temporal views of assets and findings within an organization.", "discoveryRestUrl": "https://securitycenter.googleapis.com/$discovery/rest?version=v1beta1", diff --git a/discovery/kmsinventory-v1.json b/discovery/kmsinventory-v1.json index da6d7b5209c..f083c6c6b15 100644 --- a/discovery/kmsinventory-v1.json +++ b/discovery/kmsinventory-v1.json @@ -242,7 +242,7 @@ } } }, - "revision": "20250525", + "revision": "20250727", "rootUrl": "https://kmsinventory.googleapis.com/", "schemas": { "GoogleCloudKmsInventoryV1ListCryptoKeysResponse": { @@ -438,7 +438,8 @@ "ASYMMETRIC_SIGN", "ASYMMETRIC_DECRYPT", "RAW_ENCRYPT_DECRYPT", - "MAC" + "MAC", + "KEY_ENCAPSULATION" ], "enumDescriptions": [ "Not specified.", @@ -446,7 +447,8 @@ "CryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.", "CryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.", "CryptoKeys with this purpose may be used with RawEncrypt and RawDecrypt. This purpose is meant to be used for interoperable symmetric encryption and does not support automatic CryptoKey rotation.", - "CryptoKeys with this purpose may be used with MacSign." + "CryptoKeys with this purpose may be used with MacSign.", + "CryptoKeys with this purpose may be used with GetPublicKey and Decapsulate." ], "type": "string" }, @@ -505,6 +507,9 @@ "HMAC_SHA512", "HMAC_SHA224", "EXTERNAL_SYMMETRIC_ENCRYPTION", + "ML_KEM_768", + "ML_KEM_1024", + "KEM_XWING", "PQ_SIGN_ML_DSA_65", "PQ_SIGN_SLH_DSA_SHA2_128S", "PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256" @@ -546,6 +551,9 @@ "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", "Algorithm representing symmetric encryption by an external key manager.", + "ML-KEM-768 (FIPS 203)", + "ML-KEM-1024 (FIPS 203)", + "X-Wing hybrid KEM combining ML-KEM-768 with X25519 following datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/.", "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version.", "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized pre-hash version supporting SHA256 digests." @@ -717,6 +725,9 @@ "HMAC_SHA512", "HMAC_SHA224", "EXTERNAL_SYMMETRIC_ENCRYPTION", + "ML_KEM_768", + "ML_KEM_1024", + "KEM_XWING", "PQ_SIGN_ML_DSA_65", "PQ_SIGN_SLH_DSA_SHA2_128S", "PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256" @@ -758,6 +769,9 @@ "HMAC-SHA512 signing with a 512 bit key.", "HMAC-SHA224 signing with a 224 bit key.", "Algorithm representing symmetric encryption by an external key manager.", + "ML-KEM-768 (FIPS 203)", + "ML-KEM-1024 (FIPS 203)", + "X-Wing hybrid KEM combining ML-KEM-768 with X25519 following datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/.", "The post-quantum Module-Lattice-Based Digital Signature Algorithm, at security level 3. Randomized version.", "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized version.", "The post-quantum stateless hash-based digital signature algorithm, at security level 1. Randomized pre-hash version supporting SHA256 digests." diff --git a/discovery/testing-v1.json b/discovery/testing-v1.json index a71334b35c2..d1afdcc57c7 100644 --- a/discovery/testing-v1.json +++ b/discovery/testing-v1.json @@ -454,7 +454,7 @@ } } }, - "revision": "20250624", + "revision": "20250725", "rootUrl": "https://testing.googleapis.com/", "schemas": { "Account": { @@ -670,13 +670,21 @@ "DEVICE_FORM_FACTOR_UNSPECIFIED", "PHONE", "TABLET", - "WEARABLE" + "WEARABLE", + "TV", + "AUTOMOTIVE", + "DESKTOP", + "XR" ], "enumDescriptions": [ "Do not use. For proto versioning only.", "This device has the shape of a phone.", "This device has the shape of a tablet.", - "This device has the shape of a watch or other wearable." + "This device has the shape of a watch or other wearable.", + "This device has a television form factor.", + "This device has an automotive form factor.", + "This device has a desktop form factor.", + "This device has an Extended Reality form factor." ], "type": "string" }, @@ -1540,13 +1548,21 @@ "DEVICE_FORM_FACTOR_UNSPECIFIED", "PHONE", "TABLET", - "WEARABLE" + "WEARABLE", + "TV", + "AUTOMOTIVE", + "DESKTOP", + "XR" ], "enumDescriptions": [ "Do not use. For proto versioning only.", "This device has the shape of a phone.", "This device has the shape of a tablet.", - "This device has the shape of a watch or other wearable." + "This device has the shape of a watch or other wearable.", + "This device has a television form factor.", + "This device has an automotive form factor.", + "This device has a desktop form factor.", + "This device has an Extended Reality form factor." ], "type": "string" }, diff --git a/src/apis/index.ts b/src/apis/index.ts index 6e2c46273e0..5a986ef40a7 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -628,6 +628,10 @@ import { VERSIONS as secretmanagerVersions, secretmanager, } from './secretmanager'; +import { + VERSIONS as securesourcemanagerVersions, + securesourcemanager, +} from './securesourcemanager'; import { VERSIONS as securitycenterVersions, securitycenter, @@ -1021,6 +1025,7 @@ export const APIS: APIList = { searchads360: searchads360Versions, searchconsole: searchconsoleVersions, secretmanager: secretmanagerVersions, + securesourcemanager: securesourcemanagerVersions, securitycenter: securitycenterVersions, securityposture: securitypostureVersions, serviceconsumermanagement: serviceconsumermanagementVersions, @@ -1338,6 +1343,7 @@ export class GeneratedAPIs { searchads360 = searchads360; searchconsole = searchconsole; secretmanager = secretmanager; + securesourcemanager = securesourcemanager; securitycenter = securitycenter; securityposture = securityposture; serviceconsumermanagement = serviceconsumermanagement; diff --git a/src/index.ts b/src/index.ts index 4b89c5b6229..517c80968b6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -479,6 +479,7 @@ export {searchconsole_v1} from './apis/searchconsole/v1'; export {secretmanager_v1} from './apis/secretmanager/v1'; export {secretmanager_v1beta1} from './apis/secretmanager/v1beta1'; export {secretmanager_v1beta2} from './apis/secretmanager/v1beta2'; +export {securesourcemanager_v1} from './apis/securesourcemanager/v1'; export {securitycenter_v1} from './apis/securitycenter/v1'; export {securitycenter_v1beta1} from './apis/securitycenter/v1beta1'; export {securitycenter_v1beta2} from './apis/securitycenter/v1beta2'; From 987a6511e5dabe1df08e77228d0cf389cc13c098 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Mon, 4 Aug 2025 01:43:12 +0000 Subject: [PATCH 34/37] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20?= =?UTF-8?q?post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- release-please-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release-please-config.json b/release-please-config.json index 4c04dbe106c..79a245efa44 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -315,6 +315,7 @@ "src/apis/apigateway": {}, "src/apis/saasservicemgmt": {}, "src/apis/cloudlocationfinder": {}, - "src/apis/parametermanager": {} + "src/apis/parametermanager": {}, + "src/apis/securesourcemanager": {} } } \ No newline at end of file From 52d350707c786ab4a418d82bc4bf22b14c533043 Mon Sep 17 00:00:00 2001 From: miguel Date: Mon, 4 Aug 2025 10:49:38 -0700 Subject: [PATCH 35/37] fix: Update copyright year in securesourcemanager/index.ts --- src/apis/securesourcemanager/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apis/securesourcemanager/index.ts b/src/apis/securesourcemanager/index.ts index 65524f15e4f..e40d98a36a1 100644 --- a/src/apis/securesourcemanager/index.ts +++ b/src/apis/securesourcemanager/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2025 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 From 66331b3bdaa82525dd272594608bbedc247e386e Mon Sep 17 00:00:00 2001 From: miguel Date: Mon, 4 Aug 2025 10:50:33 -0700 Subject: [PATCH 36/37] fix: Update copyright year in securesourcemanager/v1.ts --- src/apis/securesourcemanager/v1.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apis/securesourcemanager/v1.ts b/src/apis/securesourcemanager/v1.ts index 9b8b275b8e2..8969609301e 100644 --- a/src/apis/securesourcemanager/v1.ts +++ b/src/apis/securesourcemanager/v1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2025 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 From eb4fac70cd2d588b248ebde9e575ada75360eb61 Mon Sep 17 00:00:00 2001 From: miguel Date: Mon, 4 Aug 2025 10:51:14 -0700 Subject: [PATCH 37/37] fix: Update copyright year in securesourcemanager/webpack.config.js --- src/apis/securesourcemanager/webpack.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apis/securesourcemanager/webpack.config.js b/src/apis/securesourcemanager/webpack.config.js index 54ff60b95e3..3976260cd96 100644 --- a/src/apis/securesourcemanager/webpack.config.js +++ b/src/apis/securesourcemanager/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License.